{
  "swagger": "2.0",
  "info": {
    "title": "VSMart ERP",
    "description": "VSmart Backend API Documentation with JWT Authorization",
    "version": "1.0.0",
    "x-totalApis": 765
  },
  "host": "localhost:8002",
  "basePath": "/",
  "schemes": [
    "http"
  ],
  "securityDefinitions": {
    "bearerAuth": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "description": "Enter JWT token as: Bearer <token>"
    }
  },
  "paths": {
    "/debug": {
      "get": {
        "description": "",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/specializations/create": {
      "post": {
        "tags": [
          "Public Specializations"
        ],
        "summary": "Create specialization (Public)",
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "Cardiology"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          }
        }
      }
    },
    "/api/public/specializations/get/all": {
      "get": {
        "tags": [
          "Public Specializations"
        ],
        "summary": "Get all specializations by organization",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/specializations/get/{id}": {
      "get": {
        "tags": [
          "Public Specializations"
        ],
        "summary": "Get specialization by ID (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/specializations/update/{id}": {
      "put": {
        "tags": [
          "Public Specializations"
        ],
        "summary": "Update specialization (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "Neurology"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/specializations/delete/{id}": {
      "delete": {
        "tags": [
          "Public Specializations"
        ],
        "summary": "Delete specialization (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/slots/{doctorId}": {
      "get": {
        "tags": [
          "Public Slots"
        ],
        "summary": "Get doctor slots by date (Public)",
        "description": "Fetch available appointment slots for a doctor without authentication. orgId is required in query.",
        "parameters": [
          {
            "name": "doctorId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Doctor user ID"
          },
          {
            "name": "duration",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Appointment date (YYYY-MM-DD)"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/slots/book": {
      "post": {
        "tags": [
          "Public Slots"
        ],
        "summary": "Book appointment slot (Public)",
        "description": "Book a doctor slot without authentication",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "doctorId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "date": {
                  "type": "string",
                  "example": "2026-02-20"
                },
                "time": {
                  "type": "string",
                  "example": "10:30 AM"
                },
                "patientName": {
                  "type": "string",
                  "example": "John Doe"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "409": {
            "description": "Conflict"
          }
        }
      }
    },
    "/api/public/appointments/book": {
      "post": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Book appointment (Public)",
        "description": "Book appointment without authentication",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "patientName": {
                  "type": "string",
                  "example": "John Doe"
                },
                "doctorId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "date": {
                  "type": "string",
                  "example": "2026-02-20"
                },
                "time": {
                  "type": "string",
                  "example": "10:30 AM"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/public/appointments/": {
      "get": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Get all appointments (Public)",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/appointments/update/{id}": {
      "put": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Update appointment (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "68f2a9c1c3a0a123456789ef"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "slotId": {
                  "example": "any"
                },
                "startTime": {
                  "example": "any"
                },
                "endTime": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/appointments/visited/{id}": {
      "put": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Mark appointment as visited (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "68f2a9c1c3a0a123456789ef"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/appointments/{id}": {
      "get": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Get single appointment by ID (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/appointments/cancel/{id}": {
      "put": {
        "tags": [
          "Public Appointments"
        ],
        "summary": "Cancel appointment (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/public/branches/create": {
      "post": {
        "tags": [
          "Public Branches"
        ],
        "summary": "Create branch (Public)",
        "description": "Create branch without authentication. orgId is required in body.",
        "parameters": [
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "branchId": {
                  "type": "string",
                  "example": "BR001"
                },
                "branchName": {
                  "type": "string",
                  "example": "Main Branch"
                },
                "branchType": {
                  "type": "string",
                  "example": "Urban"
                },
                "manager": {
                  "type": "string",
                  "example": "65f1c2e4a1b2c3d4e5f67890"
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "example": "Hyderabad"
                    },
                    "state": {
                      "type": "string",
                      "example": "Telangana"
                    }
                  }
                },
                "contact": {
                  "type": "object",
                  "properties": {
                    "phone": {
                      "type": "string",
                      "example": "9876543210"
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          }
        }
      }
    },
    "/api/public/branches/": {
      "get": {
        "tags": [
          "Public Branches"
        ],
        "summary": "Get all branches (Public)",
        "description": "Fetch branches by orgId (required)",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "number"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/branches/{id}": {
      "get": {
        "tags": [
          "Public Branches"
        ],
        "summary": "Get branch by ID (Public)",
        "description": "Fetch single branch by ID. orgId is required in query.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Public Branches"
        ],
        "summary": "Update branch (Public)",
        "description": "Update branch without authentication. orgId required in body.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "branchName": {
                  "type": "string",
                  "example": "Updated Branch Name"
                },
                "status": {
                  "type": "string",
                  "example": "Active"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Public Branches"
        ],
        "summary": "Delete branch (Public)",
        "description": "Soft delete branch. orgId required in query.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/patients/create": {
      "post": {
        "tags": [
          "Public Patients"
        ],
        "summary": "Create patient (Public)",
        "description": "Create patient without authentication. orgId is required in body.",
        "parameters": [
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "name": {
                  "type": "string",
                  "example": "John Doe"
                },
                "phone": {
                  "type": "string",
                  "example": "9876543210"
                },
                "email": {
                  "type": "string",
                  "example": "john@example.com"
                },
                "address": {
                  "type": "string",
                  "example": "Hyderabad, India"
                },
                "status": {
                  "type": "string",
                  "example": "Active"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          }
        }
      }
    },
    "/api/public/patients/": {
      "get": {
        "tags": [
          "Public Patients"
        ],
        "summary": "Get all patients (Public)",
        "description": "Fetch patients by orgId (required)",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "number"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/patients/{id}": {
      "get": {
        "tags": [
          "Public Patients"
        ],
        "summary": "Get patient by ID (Public)",
        "description": "Fetch patient by ID. orgId is required in query.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Public Patients"
        ],
        "summary": "Update patient (Public)",
        "description": "Update patient without authentication. orgId required in body.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "name": {
                  "type": "string",
                  "example": "Updated Name"
                },
                "phone": {
                  "type": "string",
                  "example": "9999999999"
                },
                "status": {
                  "type": "string",
                  "example": "Active"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Public Patients"
        ],
        "summary": "Delete patient (Public)",
        "description": "Soft delete patient. orgId required in query.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/register": {
      "post": {
        "tags": [
          "Public Auth"
        ],
        "summary": "Register a new user (Public)",
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "firstName": {
                  "type": "string",
                  "example": "John"
                },
                "email": {
                  "type": "string",
                  "example": "john@gmail.com"
                },
                "password": {
                  "type": "string",
                  "example": "123456"
                },
                "phone": {
                  "type": "string",
                  "example": "9876543210"
                },
                "orgId": {
                  "type": "string",
                  "example": "65f1c2e4a1b2c3d4e5f67890"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/public/login": {
      "post": {
        "tags": [
          "Public Auth"
        ],
        "summary": "Login user (Public)",
        "description": "",
        "parameters": [
          {
            "name": "x-device-id",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-device-model",
            "in": "header",
            "type": "string"
          },
          {
            "name": "user-agent",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-app-version",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-device-token",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "example": "dev@servicenxt.in"
                },
                "password": {
                  "type": "string",
                  "example": "123456"
                },
                "orgId": {
                  "type": "string",
                  "example": "65f1c2e4a1b2c3d4e5f67890"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/public/forgot-password": {
      "post": {
        "tags": [
          "Public Auth"
        ],
        "summary": "Request password reset (Public)",
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "example": "john@gmail.com"
                },
                "orgId": {
                  "type": "string",
                  "example": "65f1c2e4a1b2c3d4e5f67890"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/get/doctors": {
      "get": {
        "tags": [
          "Public Doctors"
        ],
        "summary": "Get doctors by organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/public/{id}/profile": {
      "get": {
        "tags": [
          "Public Doctors"
        ],
        "summary": "Get doctor profile (Public)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/forms/create": {
      "post": {
        "tags": [
          "Forms"
        ],
        "summary": "Create a new form",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "fields": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "orgId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/get/all": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "Get a list of all forms",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/get/{id}": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "Get a form by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/update/{id}": {
      "put": {
        "tags": [
          "Forms"
        ],
        "summary": "Update a form by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/update/status/{id}": {
      "put": {
        "tags": [
          "Forms"
        ],
        "summary": "Update a form Status by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/post/submit/{formId}": {
      "post": {
        "tags": [
          "Forms"
        ],
        "summary": "Submit a form",
        "description": "",
        "parameters": [
          {
            "name": "formId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "data": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/get/submissions/{formId}": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "Get form submissions by ID",
        "description": "",
        "parameters": [
          {
            "name": "formId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/forms/delete/{id}": {
      "delete": {
        "tags": [
          "Forms"
        ],
        "summary": "Delete a form by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/register": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Register a new user",
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "firstName": {
                  "example": "any"
                },
                "lastName": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "password": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "orgId": {
                  "example": "any"
                },
                "gender": {
                  "example": "any"
                },
                "department": {
                  "example": "any"
                },
                "designation": {
                  "example": "any"
                },
                "salary": {
                  "example": "any"
                },
                "workingDays": {
                  "example": "any"
                },
                "employeeType": {
                  "example": "any"
                },
                "reportingManager": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "role": {
                  "example": "any"
                },
                "startTime": {
                  "example": "any"
                },
                "endTime": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/users/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Login a user",
        "description": "",
        "parameters": [
          {
            "name": "x-device-id",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-device-model",
            "in": "header",
            "type": "string"
          },
          {
            "name": "user-agent",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-app-version",
            "in": "header",
            "type": "string"
          },
          {
            "name": "x-device-token",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "example": "dev@servicenxt.in"
                },
                "password": {
                  "type": "string",
                  "example": "123456"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/users/delete/{id}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete a user",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/validate": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Validate user token",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/forgot-password": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Request password reset",
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "email": {
                  "example": "any"
                },
                "newPassword": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users/": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get all users",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update user details",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "address": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/logout-device": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Logout user from a specific device",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "userId": {
                  "example": "any"
                },
                "deviceId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/users/auth/me": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Get current user ",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/roles/update-permission": {
      "put": {
        "tags": [
          "Roles"
        ],
        "summary": "Update role permissions",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "role": {
                  "example": "any"
                },
                "module": {
                  "example": "any"
                },
                "subModule": {
                  "example": "any"
                },
                "action": {
                  "example": "any"
                },
                "value": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/roles/{role}/get-permission": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get role permissions",
        "description": "",
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Role name"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/roles/getAll": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get all roles",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/org/create": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create a new organization",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "orgName": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "gstin": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/org/get/all": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all organizations",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/org/get/{id}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get an organization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/org/update/{id}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update an organization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/org/delete/{id}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete an organization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/department/create": {
      "post": {
        "tags": [
          "Departments"
        ],
        "summary": "Create a new department",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Department details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "deptName": {
                  "type": "string",
                  "example": "IT Department"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/department/get/all": {
      "get": {
        "tags": [
          "Departments"
        ],
        "summary": "Get all departments",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/department/update/{id}": {
      "put": {
        "tags": [
          "Departments"
        ],
        "summary": "Update a department by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Department ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (deptName, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "deptName": {
                  "type": "string",
                  "example": "HR Department"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/department/delete/{id}": {
      "delete": {
        "tags": [
          "Departments"
        ],
        "summary": "Delete a department by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Department ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/create": {
      "post": {
        "tags": [
          "Designations"
        ],
        "summary": "Create a new designation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Designation details including departmentId and orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "designationName": {
                  "type": "string",
                  "example": "Software Engineer"
                },
                "departmentId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a67890"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/get/all": {
      "get": {
        "tags": [
          "Designations"
        ],
        "summary": "Get all designations",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/get/{id}": {
      "get": {
        "tags": [
          "Designations"
        ],
        "summary": "Get a designation by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Designation ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/update/{id}": {
      "put": {
        "tags": [
          "Designations"
        ],
        "summary": "Update a designation by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Designation ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (designationName, departmentId, orgId, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "designationName": {
                  "type": "string",
                  "example": "Senior Engineer"
                },
                "departmentId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a67890"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/delete/{id}": {
      "delete": {
        "tags": [
          "Designations"
        ],
        "summary": "Delete a designation by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Designation ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/designation/by-department/{departmentId}": {
      "get": {
        "tags": [
          "Designations"
        ],
        "summary": "Get a designation by Departement",
        "description": "",
        "parameters": [
          {
            "name": "departmentId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/service/create": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create a new service",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Service details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "serviceName": {
                  "type": "string",
                  "example": "IT Service"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/service/get/all": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get all services",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/service/get/{id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a service by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Service ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/service/update/{id}": {
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update a service by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Service ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (serviceName, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "serviceName": {
                  "type": "string",
                  "example": "HR Service"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/service/delete/{id}": {
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete a service by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Service ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/category/create": {
      "post": {
        "tags": [
          "Categories"
        ],
        "summary": "Create a new category with image",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Category details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "categoryName": {
                  "type": "string",
                  "example": "Electronics"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/category/get/all": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Get all categories",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/category/get/{id}": {
      "get": {
        "tags": [
          "Categories"
        ],
        "summary": "Get a category by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Category ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/category/update/{id}": {
      "put": {
        "tags": [
          "Categories"
        ],
        "summary": "Update a category by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Category ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (categoryName, orgId, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "categoryName": {
                  "type": "string",
                  "example": "Home Appliances"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/category/delete/{id}": {
      "delete": {
        "tags": [
          "Categories"
        ],
        "summary": "Delete a category by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Category ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/brand/create": {
      "post": {
        "tags": [
          "Brands"
        ],
        "summary": "Create a new brands with image",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "brand details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "brandName": {
                  "type": "string",
                  "example": "Electronics"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/brand/get/all": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get all brands",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/brand/get/{id}": {
      "get": {
        "tags": [
          "Brands"
        ],
        "summary": "Get a brand by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Brand ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/brand/update/{id}": {
      "put": {
        "tags": [
          "Brands"
        ],
        "summary": "Update a brand by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Brand ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (brandName, orgId, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "brandName": {
                  "type": "string",
                  "example": "Home Appliances"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/brand/delete/{id}": {
      "delete": {
        "tags": [
          "Brands"
        ],
        "summary": "Delete a brand by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Brand ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/create": {
      "post": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Create a new subcategory",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "SubCategory details including categoryId and orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "subCategoryName": {
                  "type": "string",
                  "example": "Frontend Development"
                },
                "categoryId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a67890"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/get/all": {
      "get": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Get all subcategories",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/get/{id}": {
      "get": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Get a subcategory by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SubCategory ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/category/{categoryId}": {
      "get": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Get all subcategories under a specific category",
        "description": "",
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Category ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/update/{id}": {
      "put": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Update a subcategory by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SubCategory ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (subCategoryName, categoryId, orgId, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "subCategoryName": {
                  "type": "string",
                  "example": "Advanced Frontend"
                },
                "categoryId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a67890"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/subcategory/delete/{id}": {
      "delete": {
        "tags": [
          "SubCategories"
        ],
        "summary": "Delete a subcategory by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SubCategory ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/variants/create": {
      "post": {
        "tags": [
          "Variants"
        ],
        "summary": "Create a new variant",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Variant details including values array and orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "variantName": {
                  "type": "string",
                  "example": "Color"
                },
                "values": {
                  "type": "array",
                  "example": [
                    "Black",
                    "Blue",
                    "Red"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/variants/get/all": {
      "get": {
        "tags": [
          "Variants"
        ],
        "summary": "Get all variants",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/variants/get/{id}": {
      "get": {
        "tags": [
          "Variants"
        ],
        "summary": "Get a variant by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Variant ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/variants/update/{id}": {
      "put": {
        "tags": [
          "Variants"
        ],
        "summary": "Update a variant by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Variant ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (variantName, values array, status, orgId)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "variantName": {
                  "type": "string",
                  "example": "Size"
                },
                "values": {
                  "type": "array",
                  "example": [
                    "S",
                    "M",
                    "L"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/variants/delete/{id}": {
      "delete": {
        "tags": [
          "Variants"
        ],
        "summary": "Delete a variant by ID (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Variant ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/create": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create a new product",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Product details including orgId, variants, category, subcategory",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "productName": {
                  "type": "string",
                  "example": "iPhone 15"
                },
                "category": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                },
                "subcategory": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12346"
                },
                "sku": {
                  "type": "string",
                  "example": "IP15-BLK-256"
                },
                "variant": {
                  "type": "array",
                  "example": [
                    "64f5a2d8c9e4b3a1f0a12347"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "stock": {
                  "type": "number",
                  "example": 50
                },
                "price": {
                  "type": "number",
                  "example": 999
                },
                "status": {
                  "type": "boolean",
                  "example": true
                },
                "description": {
                  "type": "string",
                  "example": "Latest iPhone model"
                },
                "image": {
                  "type": "array",
                  "example": [
                    "path/to/image1.jpg",
                    "path/to/image2.jpg"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "brand": {
                  "type": "string",
                  "example": "Apple"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12348"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/get/all": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get all products with pagination",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/get/{id}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get a product by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Product ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/update/{id}": {
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update a product by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Product ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update product data (any fields including status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "productName": {
                  "type": "string",
                  "example": "iPhone 15 Pro"
                },
                "stock": {
                  "type": "number",
                  "example": 45
                },
                "price": {
                  "type": "number",
                  "example": 1099
                },
                "status": {
                  "type": "boolean",
                  "example": true
                },
                "description": {
                  "type": "string",
                  "example": "Updated description"
                },
                "image": {
                  "type": "array",
                  "example": [
                    "path/to/image1.jpg"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "brand": {
                  "type": "string",
                  "example": "Apple"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/update/status/{id}": {
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update product status by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Product ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Status field only",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/products/delete/{id}": {
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Soft delete a product by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Product ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/shifts/create": {
      "post": {
        "tags": [
          "Shifts"
        ],
        "summary": "Create a new shift",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Shift details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "shiftName": {
                  "type": "string",
                  "example": "Morning"
                },
                "startTime": {
                  "type": "string",
                  "example": "09:00"
                },
                "endTime": {
                  "type": "string",
                  "example": "12:00"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/shifts/get/all": {
      "get": {
        "tags": [
          "Shifts"
        ],
        "summary": "Get all shifts",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/shifts/get/{id}": {
      "get": {
        "tags": [
          "Shifts"
        ],
        "summary": "Get a shift by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/shifts/update/{id}": {
      "put": {
        "tags": [
          "Shifts"
        ],
        "summary": "Update a shift by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (shiftName, startTime, endTime, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "shiftName": {
                  "type": "string",
                  "example": "Evening"
                },
                "startTime": {
                  "type": "string",
                  "example": "13:00"
                },
                "endTime": {
                  "type": "string",
                  "example": "17:00"
                },
                "status": {
                  "type": "string",
                  "example": "active"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/shifts/delete/{id}": {
      "delete": {
        "tags": [
          "Shifts"
        ],
        "summary": "Delete a shift by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/create": {
      "post": {
        "tags": [
          "Taxes"
        ],
        "summary": "Create a new tax",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Tax details",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "GST 18%"
                },
                "type": {
                  "type": "string",
                  "example": "GST"
                },
                "rates": {
                  "type": "object",
                  "properties": {
                    "cgst": {
                      "type": "number",
                      "example": 9
                    },
                    "sgst": {
                      "type": "number",
                      "example": 9
                    },
                    "igst": {
                      "type": "number",
                      "example": 18
                    }
                  }
                },
                "applicableFor": {
                  "type": "string",
                  "example": "BOTH"
                },
                "isDefault": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/get/all": {
      "get": {
        "tags": [
          "Taxes"
        ],
        "summary": "Get all taxes",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/get/active": {
      "get": {
        "tags": [
          "Taxes"
        ],
        "summary": "Get active default tax",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/update/{id}": {
      "put": {
        "tags": [
          "Taxes"
        ],
        "summary": "Update a tax by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Tax ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Tax update fields",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "GST 12%"
                },
                "rates": {
                  "type": "object",
                  "properties": {
                    "cgst": {
                      "type": "number",
                      "example": 6
                    },
                    "sgst": {
                      "type": "number",
                      "example": 6
                    }
                  }
                },
                "applicableFor": {
                  "type": "string",
                  "example": "INTRA_STATE"
                },
                "isDefault": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/toggle/{id}": {
      "patch": {
        "tags": [
          "Taxes"
        ],
        "summary": "Activate or deactivate a tax",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Tax ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/taxes/delete/{id}": {
      "delete": {
        "tags": [
          "Taxes"
        ],
        "summary": "Delete a tax",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Tax ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/create": {
      "post": {
        "tags": [
          "Discounts"
        ],
        "summary": "Create a new discount",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Discount details",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "New Year Offer"
                },
                "code": {
                  "type": "string",
                  "example": "NY2026"
                },
                "type": {
                  "type": "string",
                  "example": "PERCENTAGE"
                },
                "value": {
                  "type": "number",
                  "example": 10
                },
                "maxDiscountAmount": {
                  "type": "number",
                  "example": 1000
                },
                "minOrderAmount": {
                  "type": "number",
                  "example": 2000
                },
                "appliesTo": {
                  "type": "string",
                  "example": "INVOICE"
                },
                "isStackable": {
                  "type": "boolean",
                  "example": false
                },
                "isDefault": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/get/all": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Get all discounts",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/get/active": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Get active default discount",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/update/{id}": {
      "put": {
        "tags": [
          "Discounts"
        ],
        "summary": "Update a discount by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Discount ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Discount update fields",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "Festival Offer"
                },
                "value": {
                  "type": "number",
                  "example": 15
                },
                "maxDiscountAmount": {
                  "type": "number",
                  "example": 1500
                },
                "isDefault": {
                  "type": "boolean",
                  "example": false
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/toggle/{id}": {
      "put": {
        "tags": [
          "Discounts"
        ],
        "summary": "Activate or deactivate a discount",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Discount ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/discounts/delete/{id}": {
      "delete": {
        "tags": [
          "Discounts"
        ],
        "summary": "Delete a discount",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Discount ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/specializations/create": {
      "post": {
        "tags": [
          "Specializations"
        ],
        "summary": "Create a new specialization",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Specialization details including orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "Cardiology"
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/specializations/get/all": {
      "get": {
        "tags": [
          "Specializations"
        ],
        "summary": "Get all specializations",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/specializations/get/{id}": {
      "get": {
        "tags": [
          "Specializations"
        ],
        "summary": "Get specialization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Specialization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/specializations/update/{id}": {
      "put": {
        "tags": [
          "Specializations"
        ],
        "summary": "Update specialization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Specialization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update data (name, status)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "Neurology"
                },
                "status": {
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/admin/specializations/delete/{id}": {
      "delete": {
        "tags": [
          "Specializations"
        ],
        "summary": "Delete specialization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Specialization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/rolePermission/get/all": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get all roles",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/rolePermission/get/{role_id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/rolePermission/{id}": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get role by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Role ID",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/rolePermission/update": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "role_id": {
                  "example": "any"
                },
                "permissions": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/tasks/create": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create a new task",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Task details including customer info and orgId",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "taskName": {
                  "type": "string",
                  "example": "Install Router"
                },
                "description": {
                  "type": "string",
                  "example": "Install router at client site"
                },
                "mobile": {
                  "type": "string",
                  "example": "9876543210"
                },
                "dueDate": {
                  "type": "string",
                  "example": "2025-09-10T10:00:00Z"
                },
                "status": {
                  "type": "string",
                  "example": "Pending"
                },
                "priority": {
                  "type": "string",
                  "example": "High"
                },
                "sla": {
                  "type": "string",
                  "example": "24 hours"
                },
                "assignedTo": {
                  "type": "string",
                  "example": "John Doe"
                },
                "assignedBy": {
                  "type": "string",
                  "example": "Admin"
                },
                "location": {
                  "type": "string",
                  "example": "Hyderabad"
                },
                "customer": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "ABC Corp"
                    },
                    "email": {
                      "type": "string",
                      "example": "abc@example.com"
                    },
                    "phone": {
                      "type": "string",
                      "example": "9876543210"
                    }
                  }
                },
                "orgId": {
                  "type": "string",
                  "example": "64f5a2d8c9e4b3a1f0a12345"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/recurring/next/{id}": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create the next occurrence of a recurring task",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/get/all": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get all tasks with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "description": "Page number",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "description": "Number of tasks per page",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/assignee/{userId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks assigned to a specific user",
        "description": "",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "User ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/org/{orgId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get all tasks for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/overdue": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get all overdue tasks",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/get/{id}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get a task by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/update/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update a task by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update fields for task",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "In Progress"
                },
                "priority": {
                  "type": "string",
                  "example": "Medium"
                },
                "assignedTo": {
                  "type": "string",
                  "example": "Jane Doe"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/assign/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Assign a task to a user",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Assignee user ID",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "assignee": {
                  "type": "string",
                  "example": "UserObjectId"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "get a Agenttask by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/reassign/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Reassign a task to a different user",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "New assignee details",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "newAssignee": {
                  "type": "string",
                  "example": "UserObjectId"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/revoke/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Revoke a task from its current assignee",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/attachment/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Add an attachment to a task",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Attachment details",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "fileName": {
                  "type": "string",
                  "example": "report.pdf"
                },
                "fileUrl": {
                  "type": "string",
                  "example": "https://example.com/report.pdf"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/comment/{id}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Add a comment to a task",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Comment text",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "example": "This task needs urgent review."
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/delete/{id}": {
      "delete": {
        "tags": [
          "Tasks"
        ],
        "summary": "Soft delete a task by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/stats": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "get task statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/template": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Download Excel template for bulk task upload",
        "description": "Downloads a predefined Excel template used for bulk task creation",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/bulk-upload": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Bulk upload tasks using Excel file",
        "description": "Uploads an Excel file and creates multiple tasks in a single request",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "file",
            "in": "formData",
            "type": "file",
            "required": true,
            "description": "Excel file (.xlsx or .xls) containing task data"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/tasks/export": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Bulk export tasks using Excel file",
        "description": "Uploads an Excel file and creates multiple tasks in a single request",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "file",
            "in": "formData",
            "type": "file",
            "required": true,
            "description": "Excel file (.xlsx or .xls) containing task data"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/slots/{doctorId}": {
      "get": {
        "tags": [
          "Slots"
        ],
        "summary": "Get doctor slots by date",
        "description": "Fetch available appointment slots for a doctor on a given date. If slots do not exist, they are generated automatically.",
        "parameters": [
          {
            "name": "doctorId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Doctor user ID"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "duration",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/slots/appointments/{doctorId}": {
      "get": {
        "tags": [
          "Slots"
        ],
        "summary": "Get existing doctor slots by date",
        "description": "Fetch existing appointment slots for a doctor on a given date. Does not generate new slots. Applies leave and past-time disabling logic.",
        "parameters": [
          {
            "name": "doctorId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/slots/book": {
      "post": {
        "tags": [
          "Slots"
        ],
        "summary": "Book an appointment slot",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "slotId": {
                  "example": "any"
                },
                "startTime": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "409": {
            "description": "Conflict"
          }
        }
      }
    },
    "/api/appointments/book": {
      "post": {
        "tags": [
          "Appointments"
        ],
        "summary": "Book appointment for a patient",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "slotId": {
                  "example": "any"
                },
                "date": {
                  "example": "any"
                },
                "startTime": {
                  "example": "any"
                },
                "endTime": {
                  "example": "any"
                },
                "patient": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/appointments/": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Get all appointments with filters",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/appointments/update/{id}": {
      "put": {
        "tags": [
          "Appointments"
        ],
        "summary": "Update appointment slot and time",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "68f2a9c1c3a0a123456789ef"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "slotId": {
                  "example": "any"
                },
                "startTime": {
                  "example": "any"
                },
                "endTime": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/appointments/visited/{id}": {
      "put": {
        "tags": [
          "Appointments"
        ],
        "summary": "Mark appointment as visited (Booked → Waiting)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "68f2a9c1c3a0a123456789ef"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/appointments/{id}": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Get single appointment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/appointments/cancel/{id}": {
      "put": {
        "tags": [
          "Appointments"
        ],
        "summary": "Cancel appointment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/branches/create": {
      "post": {
        "tags": [
          "Branches"
        ],
        "summary": "Create a new branch",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "example": "any"
                },
                "branchId": {
                  "example": "any"
                },
                "branchCode": {
                  "example": "any"
                },
                "branchName": {
                  "example": "any"
                },
                "branchType": {
                  "example": "any"
                },
                "openingDate": {
                  "example": "any"
                },
                "manager": {
                  "example": "any"
                },
                "parentBranchId": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "contact": {
                  "example": "any"
                },
                "operationalHours": {
                  "example": "any"
                },
                "ifscCode": {
                  "example": "any"
                },
                "swiftCode": {
                  "example": "any"
                },
                "services": {
                  "example": "any"
                },
                "facilities": {
                  "example": "any"
                },
                "compliance": {
                  "example": "any"
                },
                "emergencyContacts": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/branches/": {
      "get": {
        "tags": [
          "Branches"
        ],
        "summary": "Get all branches",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "number"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/branches/{id}": {
      "get": {
        "tags": [
          "Branches"
        ],
        "summary": "Get a branch by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Branches"
        ],
        "summary": "Update branch details",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Branch ID",
            "example": "65f1c2e4a1b2c3d4e5f67890"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Branch update information",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "branchName": {
                  "type": "string",
                  "example": "Hyderabad Main Branch"
                },
                "branchCode": {
                  "type": "string",
                  "example": "HYD001"
                },
                "branchType": {
                  "type": "string",
                  "example": "Urban"
                },
                "manager": {
                  "type": "string",
                  "example": "65f1c2e4a1b2c3d4e5f67890"
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "street": {
                      "type": "string",
                      "example": "Plot No 12"
                    },
                    "area": {
                      "type": "string",
                      "example": "Madhapur"
                    },
                    "city": {
                      "type": "string",
                      "example": "Hyderabad"
                    },
                    "state": {
                      "type": "string",
                      "example": "Telangana"
                    },
                    "postalCode": {
                      "type": "string",
                      "example": "500081"
                    }
                  }
                },
                "contact": {
                  "type": "object",
                  "properties": {
                    "phone": {
                      "type": "string",
                      "example": "9876543210"
                    },
                    "email": {
                      "type": "string",
                      "example": "hydbranch@example.com"
                    }
                  }
                },
                "status": {
                  "type": "string",
                  "example": "Active"
                },
                "notes": {
                  "type": "string",
                  "example": "Main branch updated"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Branches"
        ],
        "summary": "Delete branch (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "orgId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "orgId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/policies/create": {
      "post": {
        "tags": [
          "Policies"
        ],
        "summary": "Create a new policy",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "policyId": "POL001",
                "name": "Privacy Policy",
                "category": "Legal",
                "description": "Organization privacy policy",
                "effectiveDate": "2023-01-01",
                "expiryDate": "2030-12-31",
                "status": "Active"
              }
            }
          }
        }
      }
    },
    "/api/org/policies/": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "Get all policies",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "category",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "enum": [
              "Active",
              "Inactive",
              "Archived"
            ],
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "number"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/policies/{id}": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "Get policy by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Policies"
        ],
        "summary": "Update policy details",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Policies"
        ],
        "summary": "Delete policy (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/policies/{id}/status": {
      "put": {
        "tags": [
          "Policies"
        ],
        "summary": "Update policy status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "status": "Inactive"
              }
            }
          }
        }
      }
    },
    "/api/org/documents/create": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Create a new document",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "documentCode": {
                  "example": "any"
                },
                "name": {
                  "example": "any"
                },
                "category": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "issueDate": {
                  "example": "any"
                },
                "expiryDate": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/documents/": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get all documents",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/documents/{id}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get document by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/documents/delete/{id}": {
      "delete": {
        "tags": [
          "Documents"
        ],
        "summary": "Soft delete a document by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Document ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/org/documents/update/{id}": {
      "put": {
        "tags": [
          "Documents"
        ],
        "summary": "Update a document by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Document ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Update fields for document",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "In Progress"
                },
                "priority": {
                  "type": "string",
                  "example": "Medium"
                },
                "assignedTo": {
                  "type": "string",
                  "example": "Jane Doe"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "first_name": {
                  "example": "any"
                },
                "last_name": {
                  "example": "any"
                },
                "gender": {
                  "example": "any"
                },
                "date_of_birth": {
                  "example": "any"
                },
                "marital_status": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "city": {
                  "example": "any"
                },
                "state": {
                  "example": "any"
                },
                "country": {
                  "example": "any"
                },
                "pin_code": {
                  "example": "any"
                },
                "department": {
                  "example": "any"
                },
                "designation": {
                  "example": "any"
                },
                "employment_type": {
                  "example": "any"
                },
                "joining_date": {
                  "example": "any"
                },
                "confirmation_date": {
                  "example": "any"
                },
                "work_location": {
                  "example": "any"
                },
                "reporting_manager": {
                  "example": "any"
                },
                "working_status": {
                  "example": "any"
                },
                "salary": {
                  "example": "any"
                },
                "role": {
                  "example": "any"
                },
                "probation_months": {
                  "example": "any"
                },
                "pan_number": {
                  "example": "any"
                },
                "aadhar_number": {
                  "example": "any"
                },
                "passport_number": {
                  "example": "any"
                },
                "driving_license": {
                  "example": "any"
                },
                "bank_details": {
                  "example": "any"
                },
                "emergency_name": {
                  "example": "any"
                },
                "emergency_relationship": {
                  "example": "any"
                },
                "emergency_phone": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/all": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "department_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "designation_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/by-organization/{orgId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "department_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "designation_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/count/{orgId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/by-department/{departmentId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "departmentId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remove_profileImage": {
                  "example": "any"
                },
                "remove_panFile": {
                  "example": "any"
                },
                "remove_aadharFile": {
                  "example": "any"
                },
                "remove_passportFile": {
                  "example": "any"
                },
                "remove_licenseFile": {
                  "example": "any"
                },
                "first_name": {
                  "example": "any"
                },
                "last_name": {
                  "example": "any"
                },
                "gender": {
                  "example": "any"
                },
                "date_of_birth": {
                  "example": "any"
                },
                "marital_status": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "city": {
                  "example": "any"
                },
                "state": {
                  "example": "any"
                },
                "country": {
                  "example": "any"
                },
                "pin_code": {
                  "example": "any"
                },
                "department": {
                  "example": "any"
                },
                "designation": {
                  "example": "any"
                },
                "employment_type": {
                  "example": "any"
                },
                "joining_date": {
                  "example": "any"
                },
                "confirmation_date": {
                  "example": "any"
                },
                "work_location": {
                  "example": "any"
                },
                "reporting_manager": {
                  "example": "any"
                },
                "working_status": {
                  "example": "any"
                },
                "salary": {
                  "example": "any"
                },
                "role": {
                  "example": "any"
                },
                "probation_months": {
                  "example": "any"
                },
                "pan_number": {
                  "example": "any"
                },
                "aadhar_number": {
                  "example": "any"
                },
                "passport_number": {
                  "example": "any"
                },
                "driving_license": {
                  "example": "any"
                },
                "bank_details": {
                  "example": "any"
                },
                "emergency_name": {
                  "example": "any"
                },
                "emergency_relationship": {
                  "example": "any"
                },
                "emergency_phone": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/{id}/status": {
      "patch": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/complete-onboarding": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/complete-benefits": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/exit": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "termination_date": {
                  "example": "any"
                },
                "relieving_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/stats/overview": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/debug/org/{orgId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/debug-all": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/employee/download/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/emp-onboarding/create": {
      "post": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Create employee onboarding",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "selected_asset": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "joining_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/emp-onboarding/{id}": {
      "put": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Patch update employee onboarding by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remarks": {
                  "example": "any"
                },
                "selected_asset": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Get employee onboarding by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Delete employee onboarding (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/emp-onboarding/pending-employees": {
      "get": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Get employee onboarding list",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/emp-onboarding/all": {
      "get": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Get all employee onboardings",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/create": {
      "post": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Create employee benefits record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_id",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "health_insurance_applicable": {
                  "example": "any"
                },
                "insurance_provider_name": {
                  "example": "any"
                },
                "policy_number": {
                  "example": "any"
                },
                "coverage_type": {
                  "example": "any"
                },
                "coverage_amount": {
                  "example": "any"
                },
                "premium_amount": {
                  "example": "any"
                },
                "employer_contribution": {
                  "example": "any"
                },
                "employee_contribution": {
                  "example": "any"
                },
                "insurance_start_date": {
                  "example": "any"
                },
                "insurance_end_date": {
                  "example": "any"
                },
                "dependent_coverage_details": {
                  "example": "any"
                },
                "provident_fund_applicable": {
                  "example": "any"
                },
                "pension_scheme_applicable": {
                  "example": "any"
                },
                "employee_contribution_percent": {
                  "example": "any"
                },
                "employer_contribution_percent": {
                  "example": "any"
                },
                "gratuity_eligible": {
                  "example": "any"
                },
                "gratuity_start_date": {
                  "example": "any"
                },
                "leave_policy_assigned": {
                  "example": "any"
                },
                "annual_leave_balance": {
                  "example": "any"
                },
                "sick_leave_balance": {
                  "example": "any"
                },
                "casual_leave_balance": {
                  "example": "any"
                },
                "maternity_paternity_leave_eligible": {
                  "example": "any"
                },
                "comp_off_eligibility": {
                  "example": "any"
                },
                "leave_encashment_applicable": {
                  "example": "any"
                },
                "housing_allowance_hra": {
                  "example": "any"
                },
                "transport_allowance": {
                  "example": "any"
                },
                "meal_allowance": {
                  "example": "any"
                },
                "travel_allowance": {
                  "example": "any"
                },
                "mobile_internet_reimbursement": {
                  "example": "any"
                },
                "special_allowance": {
                  "example": "any"
                },
                "bonus_eligibility": {
                  "example": "any"
                },
                "bonus_percentage_amount": {
                  "example": "any"
                },
                "benefits_effective_date": {
                  "example": "any"
                },
                "benefits_expiry_date": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            },
            "description": "Employee ID",
            "required": true
          },
          {
            "name": "org_id",
            "in": "body",
            "description": "Organization ID",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "health_insurance_applicable",
            "in": "body",
            "description": "Health insurance applicable (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "insurance_provider_name",
            "in": "body",
            "description": "Insurance provider name",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "policy_number",
            "in": "body",
            "description": "Policy number",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "coverage_type",
            "in": "body",
            "description": "Coverage type",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "coverage_amount",
            "in": "body",
            "description": "Coverage amount",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "premium_amount",
            "in": "body",
            "description": "Premium amount",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "employer_contribution",
            "in": "body",
            "description": "Employer contribution",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "employee_contribution",
            "in": "body",
            "description": "Employee contribution",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "insurance_start_date",
            "in": "body",
            "format": "date",
            "description": "Insurance start date",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "insurance_end_date",
            "in": "body",
            "format": "date",
            "description": "Insurance end date",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "dependent_coverage_details",
            "in": "body",
            "description": "Dependent coverage details",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "provident_fund_applicable",
            "in": "body",
            "description": "Provident fund applicable (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "pension_scheme_applicable",
            "in": "body",
            "description": "Pension scheme applicable (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "employee_contribution_percent",
            "in": "body",
            "description": "Employee contribution percentage",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "employer_contribution_percent",
            "in": "body",
            "description": "Employer contribution percentage",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "gratuity_eligible",
            "in": "body",
            "description": "Gratuity eligible (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "gratuity_start_date",
            "in": "body",
            "format": "date",
            "description": "Gratuity start date",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "leave_policy_assigned",
            "in": "body",
            "description": "Leave policy assigned",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "annual_leave_balance",
            "in": "body",
            "description": "Annual leave balance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "sick_leave_balance",
            "in": "body",
            "description": "Sick leave balance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "casual_leave_balance",
            "in": "body",
            "description": "Casual leave balance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "maternity_paternity_leave_eligible",
            "in": "body",
            "description": "Maternity/Paternity leave eligible (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "comp_off_eligibility",
            "in": "body",
            "description": "Comp-off eligibility (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "leave_encashment_applicable",
            "in": "body",
            "description": "Leave encashment applicable (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "housing_allowance_hra",
            "in": "body",
            "description": "Housing allowance (HRA)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "transport_allowance",
            "in": "body",
            "description": "Transport allowance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "meal_allowance",
            "in": "body",
            "description": "Meal allowance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "travel_allowance",
            "in": "body",
            "description": "Travel allowance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "mobile_internet_reimbursement",
            "in": "body",
            "description": "Mobile/Internet reimbursement",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "special_allowance",
            "in": "body",
            "description": "Special allowance",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "bonus_eligibility",
            "in": "body",
            "description": "Bonus eligibility (Yes/No)",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "bonus_percentage_amount",
            "in": "body",
            "description": "Bonus percentage or amount",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "benefits_effective_date",
            "in": "body",
            "format": "date",
            "description": "Benefits effective date",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "benefits_expiry_date",
            "in": "body",
            "format": "date",
            "description": "Benefits expiry date",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          {
            "name": "remarks_notes",
            "in": "body",
            "description": "Remarks or notes",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {}
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/{id}": {
      "put": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Update employee benefits by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Benefits record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "health_insurance_applicable": {
                  "example": "any"
                },
                "insurance_provider_name": {
                  "example": "any"
                },
                "policy_number": {
                  "example": "any"
                },
                "coverage_type": {
                  "example": "any"
                },
                "coverage_amount": {
                  "example": "any"
                },
                "premium_amount": {
                  "example": "any"
                },
                "employer_contribution": {
                  "example": "any"
                },
                "employee_contribution": {
                  "example": "any"
                },
                "insurance_start_date": {
                  "example": "any"
                },
                "insurance_end_date": {
                  "example": "any"
                },
                "dependent_coverage_details": {
                  "example": "any"
                },
                "provident_fund_applicable": {
                  "example": "any"
                },
                "pension_scheme_applicable": {
                  "example": "any"
                },
                "employee_contribution_percent": {
                  "example": "any"
                },
                "employer_contribution_percent": {
                  "example": "any"
                },
                "gratuity_eligible": {
                  "example": "any"
                },
                "gratuity_start_date": {
                  "example": "any"
                },
                "leave_policy_assigned": {
                  "example": "any"
                },
                "annual_leave_balance": {
                  "example": "any"
                },
                "sick_leave_balance": {
                  "example": "any"
                },
                "casual_leave_balance": {
                  "example": "any"
                },
                "maternity_paternity_leave_eligible": {
                  "example": "any"
                },
                "comp_off_eligibility": {
                  "example": "any"
                },
                "leave_encashment_applicable": {
                  "example": "any"
                },
                "housing_allowance_hra": {
                  "example": "any"
                },
                "transport_allowance": {
                  "example": "any"
                },
                "meal_allowance": {
                  "example": "any"
                },
                "travel_allowance": {
                  "example": "any"
                },
                "mobile_internet_reimbursement": {
                  "example": "any"
                },
                "special_allowance": {
                  "example": "any"
                },
                "bonus_eligibility": {
                  "example": "any"
                },
                "bonus_percentage_amount": {
                  "example": "any"
                },
                "benefits_effective_date": {
                  "example": "any"
                },
                "benefits_expiry_date": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Get benefits record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Benefits record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Soft delete benefits record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Benefits record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/all": {
      "get": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Get all employee benefits records with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number",
            "default": 1,
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Records per page",
            "default": 10,
            "required": false
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Filter by organization ID",
            "required": false
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search by employee name or code",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/summary": {
      "get": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Get benefits summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Organization ID",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/employee/{employee_id}": {
      "get": {
        "tags": [
          "Employee Benefits"
        ],
        "summary": "Get benefits records by employee ID",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/employee-benefits/pending-employees": {
      "get": {
        "tags": [
          "Employee Onboarding"
        ],
        "summary": "Get employee onboarding list",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/create": {
      "post": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Create a new attendance management record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Attendance management record created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "employee_id",
                  "attendance_date",
                  "org_id"
                ],
                "properties": {
                  "employee_id": {
                    "type": "string"
                  },
                  "attendance_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "check_in_time": {
                    "type": "string"
                  },
                  "check_out_time": {
                    "type": "string"
                  },
                  "attendance_status": {
                    "type": "string",
                    "enum": [
                      "Present",
                      "Absent",
                      "Late",
                      "Half Day",
                      "Cross Shift",
                      "Shift Swap",
                      "Double Shift",
                      "Holiday",
                      "Leave"
                    ]
                  },
                  "org_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/check-in": {
      "post": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Mark check-in for an employee",
        "description": "",
        "responses": {
          "200": {
            "description": "Check-in successful"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "employee_id",
                  "attendance_date",
                  "org_id"
                ],
                "properties": {
                  "employee_id": {
                    "type": "string"
                  },
                  "attendance_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "check_in_time": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "org_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/{id}": {
      "put": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Update attendance management record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "attendance_status": {
                    "type": "string"
                  },
                  "check_in_time": {
                    "type": "string"
                  },
                  "work_hours": {
                    "type": "number"
                  },
                  "late_minutes": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get attendance management record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Soft delete an attendance management record",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "updated_by": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/individual/{id}/status": {
      "put": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Update attendance management status for a single employee",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "attendance_status"
                ],
                "properties": {
                  "attendance_status": {
                    "type": "string",
                    "enum": [
                      "Present",
                      "Absent",
                      "Late",
                      "Half Day",
                      "Cross Shift",
                      "Shift Swap",
                      "Double Shift",
                      "Holiday",
                      "Leave"
                    ]
                  },
                  "late_minutes": {
                    "type": "integer"
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/individual/{id}/checkout": {
      "put": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Checkout a single employee by attendance management record ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "check_out_time": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/bulk/mark": {
      "post": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Bulk mark attendance management status for multiple employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "employee_ids",
                  "status",
                  "date",
                  "org_id"
                ],
                "properties": {
                  "employee_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "Present",
                      "Absent",
                      "Late",
                      "Half Day",
                      "Leave"
                    ]
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "org_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/bulk/checkout": {
      "post": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Bulk checkout multiple employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "employee_ids",
                  "date",
                  "org_id"
                ],
                "properties": {
                  "employee_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "checkout_time": {
                    "type": "string"
                  },
                  "org_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/daily-reset": {
      "post": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Daily reset — creates Present records for all employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "org_id"
                ],
                "properties": {
                  "org_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/attendance/today": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get today's attendance management grouped by status",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "required": true,
            "type": "integer"
          },
          {
            "name": "shift_id",
            "in": "query",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/all": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get all attendance management records with filters",
        "description": "",
        "parameters": [
          {
            "name": "shift_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "attendance_status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "default": 1
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "default": 10
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/summary": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get attendance management summary per employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_code",
            "in": "query",
            "type": "string"
          },
          {
            "name": "month",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "year",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/late-report": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get late attendance management report",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/employees/by-group": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get employees in a group with attendance management status",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "group_id",
            "in": "query",
            "required": true,
            "type": "integer"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/employees/by-shift": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get employees in a shift with attendance management status",
        "description": "",
        "parameters": [
          {
            "name": "group_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "shift_id",
            "in": "query",
            "required": true,
            "type": "integer"
          },
          {
            "name": "org_id",
            "in": "query",
            "required": true,
            "type": "integer"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/shift-plan-schedule": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get shift plan schedule for calendar view",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/shifts/all": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get all active shifts for an org",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/attendance/transactions": {
      "get": {
        "tags": [
          "Attendance Management"
        ],
        "summary": "Get attendance management transactions for an employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_id",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "org_id",
            "in": "query",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/create": {
      "post": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Create a new shift",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shift_name": {
                    "type": "string"
                  },
                  "shift_code": {
                    "type": "string"
                  },
                  "start_time": {
                    "type": "string"
                  },
                  "end_time": {
                    "type": "string"
                  },
                  "lunch_start": {
                    "type": "string"
                  },
                  "lunch_end": {
                    "type": "string"
                  },
                  "first_break_start": {
                    "type": "string"
                  },
                  "first_break_end": {
                    "type": "string"
                  },
                  "second_break_start": {
                    "type": "string"
                  },
                  "second_break_end": {
                    "type": "string"
                  },
                  "org_id": {
                    "type": "string"
                  },
                  "created_by": {
                    "type": "string"
                  }
                },
                "required": [
                  "shift_name",
                  "start_time",
                  "end_time",
                  "org_id"
                ]
              }
            }
          }
        }
      }
    },
    "/api/shifts/{id}": {
      "put": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Update shift by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "shift_name": {
                  "example": "any"
                },
                "shift_code": {
                  "example": "any"
                },
                "start_time": {
                  "example": "any"
                },
                "end_time": {
                  "example": "any"
                },
                "lunch_start": {
                  "example": "any"
                },
                "lunch_end": {
                  "example": "any"
                },
                "first_break_start": {
                  "example": "any"
                },
                "first_break_end": {
                  "example": "any"
                },
                "second_break_start": {
                  "example": "any"
                },
                "second_break_end": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get shift by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Delete shift (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Shift ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/all": {
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get all shifts with filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Records per page",
            "type": "integer"
          },
          {
            "name": "org_id",
            "in": "query",
            "description": "Organization ID",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by shift name or code",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/assign": {
      "post": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Assign shift to an employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "employee_code": {
                    "type": "string"
                  },
                  "shift_id": {
                    "type": "integer"
                  },
                  "assignment_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "effective_from": {
                    "type": "string",
                    "format": "date"
                  },
                  "effective_to": {
                    "type": "string",
                    "format": "date"
                  },
                  "is_permanent": {
                    "type": "boolean"
                  },
                  "org_id": {
                    "type": "string"
                  },
                  "created_by": {
                    "type": "string"
                  }
                },
                "required": [
                  "employee_code",
                  "shift_id",
                  "assignment_date",
                  "org_id"
                ]
              }
            }
          }
        }
      }
    },
    "/api/shifts/employee/current/{employee_code}": {
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get employee current shift assignment",
        "description": "",
        "parameters": [
          {
            "name": "employee_code",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee code"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/employees/by-shift": {
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get all employees assigned to a shift",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "shift_id",
            "in": "query",
            "description": "Shift ID",
            "type": "integer"
          },
          {
            "name": "org_id",
            "in": "query",
            "description": "Organization ID",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/employee/{employee_code}/history": {
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get shift assignment history for an employee",
        "description": "",
        "parameters": [
          {
            "name": "employee_code",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee code"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of records to fetch",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/attendance/shift": {
      "get": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Get shift details for attendance marking",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_code",
            "in": "query",
            "description": "Employee code",
            "required": true,
            "type": "string"
          },
          {
            "name": "attendance_date",
            "in": "query",
            "description": "Attendance date",
            "required": true,
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/assignments/deactivate": {
      "put": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Deactivate a shift assignment",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "employee_code": {
                  "example": "any"
                },
                "effective_to": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/bulk-assign": {
      "post": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Bulk assign shifts to employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_codes": {
                  "example": "any"
                },
                "shift_id": {
                  "example": "any"
                },
                "assignment_date": {
                  "example": "any"
                },
                "effective_from": {
                  "example": "any"
                },
                "effective_to": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "approved_by": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/employee/shift-with-attendance": {
      "put": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Update employee shift with attendance propagation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "employee_code": {
                  "example": "any"
                },
                "new_shift_id": {
                  "example": "any"
                },
                "effective_from": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shifts/employees/shift-with-attendance/bulk": {
      "put": {
        "tags": [
          "Shift Management"
        ],
        "summary": "Bulk update employee shifts with attendance propagation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_codes": {
                  "example": "any"
                },
                "new_shift_id": {
                  "example": "any"
                },
                "effective_from": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/assign": {
      "post": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Assign a shift to an employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "employee_id": {
                    "type": "string"
                  },
                  "shift_id": {
                    "type": "string"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                },
                "required": [
                  "employee_id",
                  "shift_id",
                  "date"
                ]
              }
            }
          }
        }
      }
    },
    "/api/shift-assignments/bulk-assign": {
      "post": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Bulk assign shifts to employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "employee_id": {
                      "type": "string"
                    },
                    "shift_id": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  },
                  "required": [
                    "employee_id",
                    "shift_id",
                    "date"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/shift-assignments/employee/current/{employee_id}": {
      "get": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Get current shift assignment for an employee",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "as_of_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/all": {
      "get": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Get all shift assignments with filters",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/deactivate": {
      "put": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Deactivate a shift assignment",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "effective_to": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "updated_by": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/employee/{employee_id}/history": {
      "get": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Get shift assignment history for an employee",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "offset",
            "in": "query",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/shift/{shift_id}": {
      "get": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Get shift assignments for a specific shift",
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "string"
          },
          {
            "name": "as_of_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-assignments/{id}": {
      "get": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Get shift assignment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Update shift assignment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "shift_id": {
                  "example": "any"
                },
                "effective_from": {
                  "example": "any"
                },
                "effective_to": {
                  "example": "any"
                },
                "is_permanent": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "approved_by": {
                  "example": "any"
                },
                "updated_by": {
                  "example": "any"
                },
                "update_attendance": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Shift Assignments"
        ],
        "summary": "Delete shift assignment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "updated_by": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/create": {
      "post": {
        "tags": [
          "Assets"
        ],
        "summary": "Create a new asset",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "asset_name": {
                  "example": "any"
                },
                "s_no": {
                  "example": "any"
                },
                "category": {
                  "example": "any"
                },
                "asset_type": {
                  "example": "any"
                },
                "brand": {
                  "example": "any"
                },
                "model": {
                  "example": "any"
                },
                "warranty_expiry": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "employee_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/bulk-assign": {
      "post": {
        "tags": [
          "Assets"
        ],
        "summary": "Bulk assign multiple assets to one employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "asset_ids": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/bulk-return": {
      "post": {
        "tags": [
          "Assets"
        ],
        "summary": "Bulk return multiple assets from an employee",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "returns": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/all": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get all assets with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/available": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get all available (unassigned) assets",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/employee-assets": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get all employees with their assigned assets",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/return-stats": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get asset return statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/return-logs": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get asset return history with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "condition",
            "in": "query",
            "type": "string"
          },
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/employees/all": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get all active employees for asset assignment",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/employees/no-assets": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get employees with no assets assigned",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/employee/{employee_id}": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get all assets assigned to a specific employee",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/{id}": {
      "get": {
        "tags": [
          "Assets"
        ],
        "summary": "Get asset by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Assets"
        ],
        "summary": "Update asset by ID",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "asset_name": {
                  "example": "any"
                },
                "employee_id": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "s_no": {
                  "example": "any"
                },
                "assigned_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Assets"
        ],
        "summary": "Soft delete asset by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/{id}/assign": {
      "patch": {
        "tags": [
          "Assets"
        ],
        "summary": "Assign asset to an employee",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/{id}/return": {
      "patch": {
        "tags": [
          "Assets"
        ],
        "summary": "Return a single asset from an employee",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "condition": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/assets/{id}/status": {
      "patch": {
        "tags": [
          "Assets"
        ],
        "summary": "Update asset status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/create": {
      "post": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Create employee termination record",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_code",
            "in": "formData",
            "type": "string",
            "description": "Employee code",
            "required": true
          },
          {
            "name": "org_id",
            "in": "formData",
            "type": "string",
            "description": "Organization ID",
            "required": true
          },
          {
            "name": "termination_date",
            "in": "formData",
            "type": "string",
            "format": "date",
            "description": "Date of termination",
            "required": false
          },
          {
            "name": "last_working_day",
            "in": "formData",
            "type": "string",
            "format": "date",
            "description": "Last working day",
            "required": false
          },
          {
            "name": "termination_type",
            "in": "formData",
            "type": "string",
            "description": "Termination type (Voluntary, Involuntary, Mutual)",
            "required": false
          },
          {
            "name": "primary_reason",
            "in": "formData",
            "type": "string",
            "description": "Primary reason for termination",
            "required": false
          },
          {
            "name": "termination_letter_file",
            "in": "formData",
            "type": "file",
            "description": "Termination letter file",
            "required": false
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "termination_initiated_by": {
                  "example": "any"
                },
                "termination_date": {
                  "example": "any"
                },
                "last_working_day": {
                  "example": "any"
                },
                "termination_type": {
                  "example": "any"
                },
                "immediate_termination": {
                  "example": "any"
                },
                "notice_period_applicable": {
                  "example": "any"
                },
                "notice_period_waived": {
                  "example": "any"
                },
                "primary_reason": {
                  "example": "any"
                },
                "detailed_reason": {
                  "example": "any"
                },
                "supporting_documents_attached": {
                  "example": "any"
                },
                "disciplinary_action_history": {
                  "example": "any"
                },
                "investigation_conducted": {
                  "example": "any"
                },
                "investigation_start_date": {
                  "example": "any"
                },
                "investigation_end_date": {
                  "example": "any"
                },
                "show_cause_notice_issued": {
                  "example": "any"
                },
                "employee_response_received": {
                  "example": "any"
                },
                "legal_compliance_check": {
                  "example": "any"
                },
                "reporting_manager_approval": {
                  "example": "any"
                },
                "hr_approval": {
                  "example": "any"
                },
                "legal_approval": {
                  "example": "any"
                },
                "final_termination_approval": {
                  "example": "any"
                },
                "reporting_manager_approval_date": {
                  "example": "any"
                },
                "hr_approval_date": {
                  "example": "any"
                },
                "legal_approval_date": {
                  "example": "any"
                },
                "final_approval_date": {
                  "example": "any"
                },
                "system_access_revoked": {
                  "example": "any"
                },
                "access_revocation_date": {
                  "example": "any"
                },
                "email_disabled": {
                  "example": "any"
                },
                "id_card_deactivated": {
                  "example": "any"
                },
                "company_assets_recovery_status": {
                  "example": "any"
                },
                "asset_recovery_date": {
                  "example": "any"
                },
                "termination_letter_issued": {
                  "example": "any"
                },
                "termination_letter_date": {
                  "example": "any"
                },
                "exit_documents_signed": {
                  "example": "any"
                },
                "nda_confidentiality_reminder": {
                  "example": "any"
                },
                "salary_till_termination_date": {
                  "example": "any"
                },
                "notice_pay_recovery_payment": {
                  "example": "any"
                },
                "leave_encashment": {
                  "example": "any"
                },
                "bonus_incentives": {
                  "example": "any"
                },
                "deductions": {
                  "example": "any"
                },
                "final_settlement_amount": {
                  "example": "any"
                },
                "fnf_status": {
                  "example": "any"
                },
                "settlement_date": {
                  "example": "any"
                },
                "insurance_termination_date": {
                  "example": "any"
                },
                "pf_status": {
                  "example": "any"
                },
                "gratuity_eligibility": {
                  "example": "any"
                },
                "gratuity_amount": {
                  "example": "any"
                },
                "other_benefits_closure": {
                  "example": "any"
                },
                "rehire_eligibility": {
                  "example": "any"
                },
                "blacklist_status": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/{id}": {
      "put": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Update termination record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Termination record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "termination_initiated_by": {
                  "example": "any"
                },
                "termination_date": {
                  "example": "any"
                },
                "last_working_day": {
                  "example": "any"
                },
                "termination_type": {
                  "example": "any"
                },
                "immediate_termination": {
                  "example": "any"
                },
                "notice_period_applicable": {
                  "example": "any"
                },
                "notice_period_waived": {
                  "example": "any"
                },
                "primary_reason": {
                  "example": "any"
                },
                "detailed_reason": {
                  "example": "any"
                },
                "supporting_documents_attached": {
                  "example": "any"
                },
                "disciplinary_action_history": {
                  "example": "any"
                },
                "investigation_conducted": {
                  "example": "any"
                },
                "investigation_start_date": {
                  "example": "any"
                },
                "investigation_end_date": {
                  "example": "any"
                },
                "show_cause_notice_issued": {
                  "example": "any"
                },
                "employee_response_received": {
                  "example": "any"
                },
                "legal_compliance_check": {
                  "example": "any"
                },
                "reporting_manager_approval": {
                  "example": "any"
                },
                "hr_approval": {
                  "example": "any"
                },
                "legal_approval": {
                  "example": "any"
                },
                "final_termination_approval": {
                  "example": "any"
                },
                "reporting_manager_approval_date": {
                  "example": "any"
                },
                "hr_approval_date": {
                  "example": "any"
                },
                "legal_approval_date": {
                  "example": "any"
                },
                "final_approval_date": {
                  "example": "any"
                },
                "system_access_revoked": {
                  "example": "any"
                },
                "access_revocation_date": {
                  "example": "any"
                },
                "email_disabled": {
                  "example": "any"
                },
                "id_card_deactivated": {
                  "example": "any"
                },
                "company_assets_recovery_status": {
                  "example": "any"
                },
                "asset_recovery_date": {
                  "example": "any"
                },
                "termination_letter_issued": {
                  "example": "any"
                },
                "termination_letter_date": {
                  "example": "any"
                },
                "exit_documents_signed": {
                  "example": "any"
                },
                "nda_confidentiality_reminder": {
                  "example": "any"
                },
                "salary_till_termination_date": {
                  "example": "any"
                },
                "notice_pay_recovery_payment": {
                  "example": "any"
                },
                "leave_encashment": {
                  "example": "any"
                },
                "bonus_incentives": {
                  "example": "any"
                },
                "deductions": {
                  "example": "any"
                },
                "final_settlement_amount": {
                  "example": "any"
                },
                "fnf_status": {
                  "example": "any"
                },
                "settlement_date": {
                  "example": "any"
                },
                "insurance_termination_date": {
                  "example": "any"
                },
                "pf_status": {
                  "example": "any"
                },
                "gratuity_eligibility": {
                  "example": "any"
                },
                "gratuity_amount": {
                  "example": "any"
                },
                "other_benefits_closure": {
                  "example": "any"
                },
                "rehire_eligibility": {
                  "example": "any"
                },
                "blacklist_status": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Get termination record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Termination record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Soft delete termination record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Termination record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/{id}/approval": {
      "patch": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Update termination approval status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Termination record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "approval_type",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "approval_type": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            },
            "description": "Approval type (reporting_manager, hr, legal, final)",
            "required": true
          },
          {
            "name": "status",
            "in": "body",
            "description": "Status (Pending, Approved, Rejected)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {}
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/all": {
      "get": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Get all termination records with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number",
            "default": 1,
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Records per page",
            "default": 10,
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "description": "Filter by approval status",
            "required": false
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Filter by organization ID",
            "required": false
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search by employee name or code",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/summary": {
      "get": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Get termination summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Organization ID",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/by-reason": {
      "get": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Get termination records grouped by reason",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Organization ID",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/termination/employee/{employee_id}": {
      "get": {
        "tags": [
          "Employee Termination"
        ],
        "summary": "Get termination records by employee ID",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/create": {
      "post": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Create employee relieving record",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "employee_code",
            "in": "formData",
            "type": "string",
            "description": "Employee code",
            "required": true
          },
          {
            "name": "org_id",
            "in": "formData",
            "type": "string",
            "description": "Organization ID",
            "required": true
          },
          {
            "name": "resignation_date",
            "in": "formData",
            "type": "string",
            "format": "date",
            "description": "Date of resignation",
            "required": false
          },
          {
            "name": "last_working_day",
            "in": "formData",
            "type": "string",
            "format": "date",
            "description": "Last working day",
            "required": false
          },
          {
            "name": "reason_for_resignation",
            "in": "formData",
            "type": "string",
            "description": "Reason for resignation",
            "required": false
          },
          {
            "name": "resignation_letter_file",
            "in": "formData",
            "type": "file",
            "description": "Resignation letter file",
            "required": false
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "resignation_date": {
                  "example": "any"
                },
                "last_working_day": {
                  "example": "any"
                },
                "notice_period_days": {
                  "example": "any"
                },
                "notice_period_waived": {
                  "example": "any"
                },
                "reason_for_resignation": {
                  "example": "any"
                },
                "reporting_manager_approval": {
                  "example": "any"
                },
                "hr_approval": {
                  "example": "any"
                },
                "legal_approval": {
                  "example": "any"
                },
                "final_relieving_approval": {
                  "example": "any"
                },
                "reporting_manager_approval_date": {
                  "example": "any"
                },
                "hr_approval_date": {
                  "example": "any"
                },
                "legal_approval_date": {
                  "example": "any"
                },
                "final_approval_date": {
                  "example": "any"
                },
                "system_access_revoked": {
                  "example": "any"
                },
                "access_revocation_date": {
                  "example": "any"
                },
                "email_disabled": {
                  "example": "any"
                },
                "id_card_deactivated": {
                  "example": "any"
                },
                "company_assets_recovery_status": {
                  "example": "any"
                },
                "asset_recovery_date": {
                  "example": "any"
                },
                "resignation_letter_received": {
                  "example": "any"
                },
                "acceptance_letter_issued": {
                  "example": "any"
                },
                "acceptance_letter_date": {
                  "example": "any"
                },
                "relieving_letter_issued": {
                  "example": "any"
                },
                "relieving_letter_date": {
                  "example": "any"
                },
                "exit_documents_signed": {
                  "example": "any"
                },
                "nda_confidentiality_reminder": {
                  "example": "any"
                },
                "salary_till_relieving_date": {
                  "example": "any"
                },
                "notice_pay_adjustment": {
                  "example": "any"
                },
                "leave_encashment": {
                  "example": "any"
                },
                "bonus_incentives": {
                  "example": "any"
                },
                "deductions": {
                  "example": "any"
                },
                "final_settlement_amount": {
                  "example": "any"
                },
                "fnf_status": {
                  "example": "any"
                },
                "settlement_date": {
                  "example": "any"
                },
                "insurance_termination_date": {
                  "example": "any"
                },
                "pf_status": {
                  "example": "any"
                },
                "gratuity_eligibility": {
                  "example": "any"
                },
                "gratuity_amount": {
                  "example": "any"
                },
                "other_benefits_closure": {
                  "example": "any"
                },
                "exit_interview_conducted": {
                  "example": "any"
                },
                "exit_interview_date": {
                  "example": "any"
                },
                "exit_interview_feedback": {
                  "example": "any"
                },
                "rehire_eligibility": {
                  "example": "any"
                },
                "blacklist_status": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/{id}": {
      "put": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Update relieving record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Relieving record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "resignation_date": {
                  "example": "any"
                },
                "last_working_day": {
                  "example": "any"
                },
                "notice_period_days": {
                  "example": "any"
                },
                "notice_period_waived": {
                  "example": "any"
                },
                "reason_for_resignation": {
                  "example": "any"
                },
                "reporting_manager_approval": {
                  "example": "any"
                },
                "hr_approval": {
                  "example": "any"
                },
                "legal_approval": {
                  "example": "any"
                },
                "final_relieving_approval": {
                  "example": "any"
                },
                "reporting_manager_approval_date": {
                  "example": "any"
                },
                "hr_approval_date": {
                  "example": "any"
                },
                "legal_approval_date": {
                  "example": "any"
                },
                "final_approval_date": {
                  "example": "any"
                },
                "system_access_revoked": {
                  "example": "any"
                },
                "access_revocation_date": {
                  "example": "any"
                },
                "email_disabled": {
                  "example": "any"
                },
                "id_card_deactivated": {
                  "example": "any"
                },
                "company_assets_recovery_status": {
                  "example": "any"
                },
                "asset_recovery_date": {
                  "example": "any"
                },
                "resignation_letter_received": {
                  "example": "any"
                },
                "acceptance_letter_issued": {
                  "example": "any"
                },
                "acceptance_letter_date": {
                  "example": "any"
                },
                "relieving_letter_issued": {
                  "example": "any"
                },
                "relieving_letter_date": {
                  "example": "any"
                },
                "exit_documents_signed": {
                  "example": "any"
                },
                "nda_confidentiality_reminder": {
                  "example": "any"
                },
                "salary_till_relieving_date": {
                  "example": "any"
                },
                "notice_pay_adjustment": {
                  "example": "any"
                },
                "leave_encashment": {
                  "example": "any"
                },
                "bonus_incentives": {
                  "example": "any"
                },
                "deductions": {
                  "example": "any"
                },
                "final_settlement_amount": {
                  "example": "any"
                },
                "fnf_status": {
                  "example": "any"
                },
                "settlement_date": {
                  "example": "any"
                },
                "insurance_termination_date": {
                  "example": "any"
                },
                "pf_status": {
                  "example": "any"
                },
                "gratuity_eligibility": {
                  "example": "any"
                },
                "gratuity_amount": {
                  "example": "any"
                },
                "other_benefits_closure": {
                  "example": "any"
                },
                "exit_interview_conducted": {
                  "example": "any"
                },
                "exit_interview_date": {
                  "example": "any"
                },
                "exit_interview_feedback": {
                  "example": "any"
                },
                "rehire_eligibility": {
                  "example": "any"
                },
                "blacklist_status": {
                  "example": "any"
                },
                "remarks_notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Get relieving record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Relieving record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Soft delete relieving record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Relieving record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/{id}/approval": {
      "patch": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Update approval status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Relieving record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "approval_type",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "approval_type": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            },
            "description": "Approval type (reporting_manager, hr, legal, final)",
            "required": true
          },
          {
            "name": "status",
            "in": "body",
            "description": "Status (Pending, Approved, Rejected)",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {}
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/all": {
      "get": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Get all relieving records with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number",
            "default": 1,
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Records per page",
            "default": 10,
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "description": "Filter by approval status",
            "required": false
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Filter by organization ID",
            "required": false
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search by employee name or code",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/summary": {
      "get": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Get relieving summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "org_id",
            "in": "query",
            "type": "string",
            "description": "Organization ID",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/relieving/employee/{employee_id}": {
      "get": {
        "tags": [
          "Employee Relieving"
        ],
        "summary": "Get relieving records by employee ID",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/groups": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get all payroll groups",
        "description": "Returns list of payroll groups with employee counts",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Groups fetched successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        },
                        "example": {
                          "type": "boolean",
                          "example": true
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "object"
                            },
                            "properties": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    },
                                    "example": {
                                      "type": "number",
                                      "example": 1
                                    }
                                  }
                                },
                                "group_name": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    },
                                    "example": {
                                      "type": "string",
                                      "example": "IT"
                                    }
                                  }
                                },
                                "employee_count": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    },
                                    "example": {
                                      "type": "number",
                                      "example": 25
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/employees": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get employees for payroll preview",
        "description": "Returns list of employees with computed payroll for a given month/year",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "month",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "Month name (e.g., April)",
            "example": "April"
          },
          {
            "name": "year",
            "in": "query",
            "required": true,
            "type": "integer",
            "description": "Year",
            "example": 2026
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Filter by group ID",
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Employees fetched successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        },
                        "example": {
                          "type": "boolean",
                          "example": true
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/generate": {
      "post": {
        "tags": [
          "Payroll"
        ],
        "summary": "Generate payroll for selected employees",
        "description": "Generates payroll records for the selected employees",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "required": {
                  "type": "array",
                  "example": [
                    "employee_ids",
                    "month",
                    "year"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "employee_ids": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "integer"
                            }
                          }
                        },
                        "example": {
                          "type": "array",
                          "example": [
                            1,
                            2,
                            3
                          ],
                          "items": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "month": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "April"
                        }
                      }
                    },
                    "year": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "integer"
                        },
                        "example": {
                          "type": "number",
                          "example": 2026
                        }
                      }
                    },
                    "payment_type": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "enum": {
                          "type": "array",
                          "example": [
                            "Bank Transfer",
                            "UPI",
                            "Cash",
                            "Cheque"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "example": {
                          "type": "string",
                          "example": "Bank Transfer"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Payroll generated successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        },
                        "example": {
                          "type": "boolean",
                          "example": true
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "generated": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "array"
                                }
                              }
                            },
                            "errors": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "array"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/yearly-summary": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get yearly payroll summary",
        "description": "Returns year-level payroll summary",
        "parameters": [
          {
            "name": "department_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "required": true,
            "type": "integer",
            "description": "Year",
            "example": 2026
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/monthly-summary": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get monthly payroll summary",
        "description": "Returns month-by-month payroll summary for a year",
        "parameters": [
          {
            "name": "month",
            "in": "query",
            "type": "string"
          },
          {
            "name": "department_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "required": true,
            "type": "integer",
            "description": "Year",
            "example": 2026
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/employee-details": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get employee payroll details",
        "description": "Returns detailed payroll records for employees",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "month",
            "in": "query",
            "required": true,
            "type": "integer",
            "description": "Month number (1-12)",
            "example": 4
          },
          {
            "name": "year",
            "in": "query",
            "required": true,
            "type": "integer",
            "description": "Year",
            "example": 2026
          },
          {
            "name": "group_name",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Filter by group name",
            "example": "IT"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/bulk-status": {
      "patch": {
        "tags": [
          "Payroll"
        ],
        "summary": "Bulk update payroll status",
        "description": "Updates status for multiple payroll records at once",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "required": {
                  "type": "array",
                  "example": [
                    "ids",
                    "status"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "ids": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "integer"
                            }
                          }
                        },
                        "example": {
                          "type": "array",
                          "example": [
                            1,
                            2,
                            3
                          ],
                          "items": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "enum": {
                          "type": "array",
                          "example": [
                            "Pending",
                            "Generated",
                            "Processing",
                            "Paid",
                            "Cancelled",
                            "Hold"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "example": {
                          "type": "string",
                          "example": "Paid"
                        }
                      }
                    },
                    "paid_date": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "format": {
                          "type": "string",
                          "example": "date"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-04-30"
                        }
                      }
                    },
                    "payment_reference": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "REF123456"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/employee/{employeeId}/history": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get employee payroll history",
        "description": "Returns payroll history for a specific employee",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Employee ID",
            "example": 1
          },
          {
            "name": "year",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/{id}/payslip": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get payslip data",
        "description": "Returns all data needed to render payslip",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/{id}": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get payroll by ID",
        "description": "Returns a single payroll record with details",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Payroll"
        ],
        "summary": "Update payroll record",
        "description": "Updates a payroll record (full update)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "salary": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 50000
                        }
                      }
                    },
                    "overtimeHours": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 5
                        }
                      }
                    },
                    "overtimePay": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 2000
                        }
                      }
                    },
                    "grossSalary": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 52000
                        }
                      }
                    },
                    "totalSalary": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 52000
                        }
                      }
                    },
                    "payDate": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "format": {
                          "type": "string",
                          "example": "date"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-04-30"
                        }
                      }
                    },
                    "paymentType": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Bank Transfer"
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Paid"
                        }
                      }
                    },
                    "remarks": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Bonus added"
                        }
                      }
                    },
                    "payment_reference": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "REF123"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Payroll"
        ],
        "summary": "Delete payroll record",
        "description": "Soft deletes a payroll record",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Payroll record deleted successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        },
                        "example": {
                          "type": "boolean",
                          "example": true
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Payroll record deleted"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Payroll record not found",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        },
                        "example": {
                          "type": "boolean",
                          "example": false
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Payroll record not found"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/{id}/status": {
      "patch": {
        "tags": [
          "Payroll"
        ],
        "summary": "Update payroll status",
        "description": "Quick-update the payment status of a payroll record",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "required": {
                  "type": "array",
                  "example": [
                    "status"
                  ],
                  "items": {
                    "type": "string"
                  }
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "enum": {
                          "type": "array",
                          "example": [
                            "Pending",
                            "Generated",
                            "Processing",
                            "Paid",
                            "Cancelled",
                            "Hold"
                          ],
                          "items": {
                            "type": "string"
                          }
                        },
                        "example": {
                          "type": "string",
                          "example": "Paid"
                        }
                      }
                    },
                    "paid_date": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "format": {
                          "type": "string",
                          "example": "date"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-04-30"
                        }
                      }
                    },
                    "payment_method": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Bank Transfer"
                        }
                      }
                    },
                    "payment_reference": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "REF123"
                        }
                      }
                    },
                    "remarks": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Payment completed"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/ping": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/deductions/rules/create": {
      "post": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Create Deduction Rule",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "rule_name": {
                  "example": "any"
                },
                "rule_type": {
                  "example": "any"
                },
                "calculation_type": {
                  "example": "any"
                },
                "percentage": {
                  "example": "any"
                },
                "fixed_amount": {
                  "example": "any"
                },
                "threshold_minutes": {
                  "example": "any"
                },
                "max_per_day": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/rules/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get all deduction rules",
        "description": "",
        "parameters": [
          {
            "name": "rule_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/rules/{id}": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get deduction rule by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Update deduction rule",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "rule_name": {
                  "example": "any"
                },
                "rule_type": {
                  "example": "any"
                },
                "calculation_type": {
                  "example": "any"
                },
                "percentage": {
                  "example": "any"
                },
                "fixed_amount": {
                  "example": "any"
                },
                "threshold_minutes": {
                  "example": "any"
                },
                "max_per_day": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Delete deduction rule",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/employee-salary/create": {
      "post": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Create employee salary structure",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "basic": {
                  "example": "any"
                },
                "hra": {
                  "example": "any"
                },
                "conveyance": {
                  "example": "any"
                },
                "special_allowance": {
                  "example": "any"
                },
                "shift_allowance": {
                  "example": "any"
                },
                "holiday_wages": {
                  "example": "any"
                },
                "advance_bonus": {
                  "example": "any"
                },
                "monthly_gross": {
                  "example": "any"
                },
                "effective_from": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/employee-salary/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get all employees salary",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/history/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get deduction history",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/employee-salary/{employee_id}": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get employee salary by ID",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Update employee salary",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "salary": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Delete employee salary",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/summary": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get deduction summary",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "month",
            "in": "query",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/departments/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get all departments",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/payroll-groups/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get payroll groups",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/manual/create": {
      "post": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Create manual deduction",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "month": {
                  "example": "any"
                },
                "year": {
                  "example": "any"
                },
                "deduction_type": {
                  "example": "any"
                },
                "amount": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/rules": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get all deduction rules (for dropdowns)",
        "description": "",
        "parameters": [
          {
            "name": "rule_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/manual/all": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get all manual deductions",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/manual/{id}": {
      "get": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Get manual deduction by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "501": {
            "description": "Not Implemented"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Update manual deduction",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "amount": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Deduction Management"
        ],
        "summary": "Delete manual deduction",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/deductions/generate-pdf": {
      "post": {
        "description": "",
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "employee_id": {
                  "example": "any"
                },
                "month": {
                  "example": "any"
                },
                "year": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/payslip/download/{id}": {
      "get": {
        "tags": [
          "Payslip"
        ],
        "summary": "Download payslip as PDF",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payslip/view/{id}": {
      "get": {
        "tags": [
          "Payslip"
        ],
        "summary": "Get payslip data for viewing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/download/{id}": {
      "get": {
        "tags": [
          "Payslip"
        ],
        "summary": "Download payslip as PDF",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/payrolls/view/{id}": {
      "get": {
        "tags": [
          "Payslip"
        ],
        "summary": "Get payslip data for viewing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Payroll record ID",
            "example": 123
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/role/create": {
      "post": {
        "tags": [
          "Roles"
        ],
        "summary": "Create a new role",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "role_name": "HR Manager",
                "description": "Handles HR operations"
              }
            }
          }
        }
      }
    },
    "/api/role/get/all": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get all roles",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/role/{id}": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get role by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Role ID",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Roles"
        ],
        "summary": "Update role",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "role_name": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "permissions": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Roles"
        ],
        "summary": "Delete role",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/role/{id}/toggle": {
      "patch": {
        "tags": [
          "Roles"
        ],
        "summary": "Toggle role status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/provident-fund/summary": {
      "get": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Get provident fund summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary retrieved successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/provident-fund/employee/{employee_id}": {
      "get": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Get provident fund by employee ID (used by Benefits Step 2 auto-fill)",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/provident-fund/": {
      "post": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Create new provident fund record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "employee_id": {
                    "type": "string"
                  },
                  "pf_number": {
                    "type": "string"
                  },
                  "uan_number": {
                    "type": "string"
                  },
                  "employee_contribution": {
                    "type": "number"
                  },
                  "employer_contribution": {
                    "type": "number"
                  },
                  "enrollment_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "nomination_details": {
                    "type": "string"
                  }
                },
                "required": [
                  "employee_id",
                  "pf_number",
                  "enrollment_date"
                ]
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Get all provident fund records with filters",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/provident-fund/{id}": {
      "get": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Get provident fund by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Provident fund record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Update provident fund by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "pf_applicable": {
                  "example": "any"
                },
                "pf_nreq": {
                  "example": "any"
                },
                "employee_contribreq": {
                  "example": "any"
                },
                "employer_contribreq": {
                  "example": "any"
                },
                "total_contribreq": {
                  "example": "any"
                },
                "pf_join_date": {
                  "example": "any"
                },
                "pension_scheme_applicable": {
                  "example": "any"
                },
                "gratreq": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Delete provident fund record (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/provident-fund/pf/{pf_number}": {
      "get": {
        "tags": [
          "Provident Fund"
        ],
        "summary": "Get provident fund by PF number (used by Benefits Step 2 auto-fill)",
        "description": "",
        "parameters": [
          {
            "name": "pf_number",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "PF number e.g. MHBAN00123456789001"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/summary": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get health insurance summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary retrieved successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/expiring": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get expiring policies (next 30 days)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "days",
            "in": "query",
            "type": "integer",
            "description": "Number of days to check for expiry (default 30)"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/policy/{policy_number}": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get health insurance by policy number",
        "description": "",
        "parameters": [
          {
            "name": "policy_number",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Policy number to search"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/employee/{employee_id}": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get health insurance by employee ID",
        "description": "",
        "parameters": [
          {
            "name": "employee_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/": {
      "post": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Create new health insurance record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "employee_id": {
                    "type": "string"
                  },
                  "policy_number": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "coverage_amount": {
                    "type": "number"
                  },
                  "premium_amount": {
                    "type": "number"
                  },
                  "start_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "end_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "family_coverage": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "employee_id",
                  "policy_number",
                  "provider",
                  "start_date"
                ]
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get all health insurance records with filters",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "provider",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/health-insurance/policies/list": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get list of all health insurance policy numbers",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/health-insurance/{id}": {
      "get": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Get health insurance by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Health insurance record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Update health insurance by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "corporate_id": {
                  "example": "any"
                },
                "corporate_policy": {
                  "example": "any"
                },
                "total_amoreq": {
                  "example": "any"
                },
                "image": {
                  "example": "any"
                },
                "employee_id": {
                  "example": "any"
                },
                "insreq": {
                  "example": "any"
                },
                "policy_nreq": {
                  "example": "any"
                },
                "coverage_type": {
                  "example": "any"
                },
                "coverage_amoreq": {
                  "example": "any"
                },
                "premireq": {
                  "example": "any"
                },
                "employer_contribreq": {
                  "example": "any"
                },
                "employee_contribreq": {
                  "example": "any"
                },
                "dependent_coverage_details": {
                  "example": "any"
                },
                "statreq": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Health Insurance"
        ],
        "summary": "Delete health insurance record (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leave-groups/list": {
      "get": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "List all leave groups (for dropdowns)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leave-groups/create": {
      "post": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Create a new leave group",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "group_name": {
                  "example": "any"
                },
                "group_code": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "annual_leave": {
                  "example": "any"
                },
                "sick_leave": {
                  "example": "any"
                },
                "casual_leave": {
                  "example": "any"
                },
                "maternity_leave": {
                  "example": "any"
                },
                "paternity_leave": {
                  "example": "any"
                },
                "comp_off": {
                  "example": "any"
                },
                "unpaid_leave": {
                  "example": "any"
                },
                "other_leave": {
                  "example": "any"
                },
                "maternity_paternity_eligible": {
                  "example": "any"
                },
                "comp_off_eligibility": {
                  "example": "any"
                },
                "leave_encashment_applicable": {
                  "example": "any"
                },
                "carry_forward_allowed": {
                  "example": "any"
                },
                "max_carry_forward_days": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leave-groups/all": {
      "get": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Get all leave groups with pagination",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leave-groups/{id}": {
      "get": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Get leave group by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Update a leave group",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "groreq": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "annreq": {
                  "example": "any"
                },
                "sick_leave": {
                  "example": "any"
                },
                "casreq": {
                  "example": "any"
                },
                "maternity_leave": {
                  "example": "any"
                },
                "paternity_leave": {
                  "example": "any"
                },
                "comp_off": {
                  "example": "any"
                },
                "req": {
                  "example": "any"
                },
                "other_leave": {
                  "example": "any"
                },
                "maternity_paternity_eligible": {
                  "example": "any"
                },
                "comp_off_eligibility": {
                  "example": "any"
                },
                "leave_encashment_applicable": {
                  "example": "any"
                },
                "carry_forward_allowed": {
                  "example": "any"
                },
                "max_carry_forward_days": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Delete a leave group (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leave-groups/{id}/toggle": {
      "patch": {
        "tags": [
          "Leave Groups"
        ],
        "summary": "Toggle active/inactive status of a leave group",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/allowance-packages/list": {
      "get": {
        "tags": [
          "Allowance Packages"
        ],
        "summary": "Get all allowance packages for dropdown/auto-fetch (lightweight, no pagination)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of allowance packages retrieved successfully"
          },
          "401": {
            "description": "Unauthorized - Invalid or missing token"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/allowance-packages/{id}": {
      "get": {
        "tags": [
          "Allowance Packages"
        ],
        "summary": "Get allowance package by ID (auto-fill on selection)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Allowance package ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Allowance package retrieved successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Allowance package not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Allowance Packages"
        ],
        "summary": "Update allowance package by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Allowance package ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Allowance package updated successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Allowance package not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "package_name": {
                    "type": "string"
                  },
                  "package_code": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "allowances": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "allowance_type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "number"
                        },
                        "is_taxable": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "is_active": {
                    "type": "boolean"
                  },
                  "effective_from": {
                    "type": "string",
                    "format": "date"
                  },
                  "effective_to": {
                    "type": "string",
                    "format": "date"
                  },
                  "updated_by": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Allowance Packages"
        ],
        "summary": "Delete allowance package (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Allowance package ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Allowance package deleted successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Allowance package not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/allowance-packages/": {
      "post": {
        "tags": [
          "Allowance Packages"
        ],
        "summary": "Create a new allowance package",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Allowance package created successfully"
          },
          "400": {
            "description": "Bad request - Invalid data"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "package_name": {
                    "type": "string"
                  },
                  "package_code": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "allowances": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "allowance_type": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "number"
                        },
                        "is_taxable": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "is_active": {
                    "type": "boolean"
                  },
                  "effective_from": {
                    "type": "string",
                    "format": "date"
                  },
                  "effective_to": {
                    "type": "string",
                    "format": "date"
                  },
                  "org_id": {
                    "type": "string"
                  },
                  "created_by": {
                    "type": "string"
                  }
                },
                "required": [
                  "package_name",
                  "package_code",
                  "org_id"
                ]
              }
            }
          }
        }
      }
    },
    "/api/hr-letters/documents": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Get all HR document types (6 master document types)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "is_active",
            "in": "query",
            "type": "boolean",
            "description": "Filter by active status"
          }
        ],
        "responses": {
          "200": {
            "description": "Document types retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "object"
                            },
                            "properties": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    }
                                  }
                                },
                                "doc_code": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "doc_name": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "is_active": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "boolean"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing token"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/stats": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Get letter generation statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date",
            "description": "Start date for stats"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date",
            "description": "End date for stats"
          },
          {
            "name": "doc_code",
            "in": "query",
            "type": "string",
            "description": "Filter by document code"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "total_letters": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "by_document_type": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            },
                            "by_month": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            },
                            "recent_generations": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/generated": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Get all generated letters audit trail",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number",
            "default": 1
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Items per page",
            "default": 10
          },
          {
            "name": "employee_id",
            "in": "query",
            "type": "integer",
            "description": "Filter by employee ID"
          },
          {
            "name": "doc_code",
            "in": "query",
            "type": "string",
            "description": "Filter by document code"
          },
          {
            "name": "start_date",
            "in": "query",
            "type": "string",
            "format": "date",
            "description": "Start date filter"
          },
          {
            "name": "end_date",
            "in": "query",
            "type": "string",
            "format": "date",
            "description": "End date filter"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search in letter content"
          }
        ],
        "responses": {
          "200": {
            "description": "Generated letters retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "object"
                            },
                            "properties": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    }
                                  }
                                },
                                "employee_name": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "doc_name": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "generated_at": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    },
                                    "format": {
                                      "type": "string",
                                      "example": "date-time"
                                    }
                                  }
                                },
                                "generated_by": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "page": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "limit": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "total": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "totalPages": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/generated/{id}": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Get single generated letter by ID (raw database row)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Generated letter ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Generated letter retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "employee_id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "doc_id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "letter_content": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "generated_at": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                },
                                "format": {
                                  "type": "string",
                                  "example": "date-time"
                                }
                              }
                            },
                            "generated_by": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "variables_used": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Generated letter not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Soft delete a generated letter from audit log",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Generated letter ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Letter deleted successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Generated letter not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/generated/{id}/data": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Get generated letter data shaped for JSX components (pre-filled form data)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Generated letter ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Letter data retrieved successfully for JSX components",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "letter_id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "employee_details": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            },
                            "document_details": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            },
                            "variables": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "object"
                                }
                              }
                            },
                            "formatted_content": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Letter data not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/generate": {
      "post": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Generate a new HR letter with dynamic variables",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Letter generated successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "letter_id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "download_url": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "preview_content": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "generated_at": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                },
                                "format": {
                                  "type": "string",
                                  "example": "date-time"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "400": {
            "description": "Bad request - Invalid data or missing required fields"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Employee or document type not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "doc_code": {
                    "type": "string",
                    "description": "Document code (e.g., OFFER_LETTER, APPOINTMENT_LETTER, etc.)",
                    "enum": [
                      "OFFER_LETTER",
                      "APPOINTMENT_LETTER",
                      "EXPERIENCE_LETTER",
                      "WARNING_LETTER",
                      "RELIEVING_LETTER",
                      "TERMINATION_LETTER"
                    ]
                  },
                  "employee_db_id": {
                    "type": "integer",
                    "description": "Employee database ID"
                  },
                  "issue_date": {
                    "type": "string",
                    "format": "date",
                    "description": "Issue date of the letter"
                  },
                  "relieving_date": {
                    "type": "string",
                    "format": "date",
                    "description": "Relieving date (for relieving letters)"
                  },
                  "start_date": {
                    "type": "string",
                    "format": "date",
                    "description": "Start date (for appointment letters)"
                  },
                  "warning_issue": {
                    "type": "string",
                    "description": "Warning issue description (for warning letters)"
                  },
                  "performance": {
                    "type": "string",
                    "description": "Performance remarks (for experience letters)"
                  },
                  "place": {
                    "type": "string",
                    "description": "Place of issue"
                  },
                  "sign_authority": {
                    "type": "string",
                    "description": "Signing authority name"
                  },
                  "hr_name": {
                    "type": "string",
                    "description": "HR representative name"
                  },
                  "company": {
                    "type": "string",
                    "description": "Company name"
                  },
                  "additional_variables": {
                    "type": "object",
                    "description": "Any additional custom variables for the letter template",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "doc_code",
                  "employee_db_id"
                ]
              }
            }
          }
        }
      }
    },
    "/api/hr-letters/generated/{id}/pdf": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Download generated letter as PDF",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Generated letter ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/hr-letters/generated/{id}/preview": {
      "get": {
        "tags": [
          "HR Letters"
        ],
        "summary": "Preview generated letter as HTML (for testing)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Generated letter ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/leaves/types": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/balances": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/team-members": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "exclude_user_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "stage",
            "in": "query",
            "type": "string"
          },
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/apply": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "leaveTypeId": {
                  "example": "any"
                },
                "mode": {
                  "example": "any"
                },
                "fromDate": {
                  "example": "any"
                },
                "toDate": {
                  "example": "any"
                },
                "hours": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "days": {
                  "example": "any"
                },
                "employeeId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/bulk-forward": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "ids": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/active-coverages": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/balance/employee/{employeeId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/balance/{employeeId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/{id}/coverage": {
      "patch": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "coverageUserId": {
                  "example": "any"
                },
                "note": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/{id}/forward": {
      "patch": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/{id}/approve": {
      "patch": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/{id}/reject": {
      "patch": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/leaves/requests/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/save-pattern": {
      "post": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Save a repeating shift pattern",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "plan_id": {
                    "type": "string"
                  },
                  "shift_id": {
                    "type": "string"
                  },
                  "day_of_week": {
                    "type": "integer"
                  },
                  "start_time": {
                    "type": "string",
                    "format": "time"
                  },
                  "end_time": {
                    "type": "string",
                    "format": "time"
                  }
                },
                "required": [
                  "plan_id",
                  "shift_id",
                  "day_of_week",
                  "start_time",
                  "end_time"
                ]
              }
            }
          }
        }
      }
    },
    "/api/shift-planner/plans/stats": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/plans": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "plan_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/groups": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "members": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/shift-planner/group-for-shift-date": {
      "get": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Get group assigned to a specific shift and date",
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-planner/shift-planner/group-by-shift-date": {
      "get": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Get group for a specific shift and date",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-planner/groups/all": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/cells": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "plan_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/cells-with-groups": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "plan_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/save": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "groups": {
                  "example": "any"
                },
                "startDate": {
                  "example": "any"
                },
                "totalDays": {
                  "example": "any"
                },
                "plan_name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/plan/{plan_id}/cells": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "plan_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "cells": {
                  "example": "any"
                },
                "plan_name": {
                  "example": "any"
                },
                "startDate": {
                  "example": "any"
                },
                "totalDays": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/plans/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Update shift plan",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "plan_name": {
                  "example": "any"
                },
                "start_date": {
                  "example": "any"
                },
                "total_days": {
                  "example": "any"
                },
                "cycle_length": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/shift-planner/pattern-plans/{id}/edit": {
      "get": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Get pattern plan details for editing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-planner/pattern-plans/{id}": {
      "put": {
        "tags": [
          "ShiftPlanner"
        ],
        "summary": "Update pattern plan",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "plan_name": {
                  "example": "any"
                },
                "cycle_length": {
                  "example": "any"
                },
                "groups": {
                  "example": "any"
                },
                "grid": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/shift-planner/groups/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/organization-provident-fund/create": {
      "post": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Create a new organization PF record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "PF record created successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "pf_number": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "uan_number": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "status": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "400": {
            "description": "Bad request - Invalid data or duplicate PF number"
          },
          "401": {
            "description": "Unauthorized - Invalid or missing token"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pf_number"
                ],
                "properties": {
                  "pf_number": {
                    "type": "string",
                    "example": "MH/BAN/123456/0001"
                  },
                  "uan_number": {
                    "type": "string",
                    "example": "123456789012345"
                  },
                  "employee_contribution_percent": {
                    "type": "number",
                    "example": 12
                  },
                  "employer_contribution_percent": {
                    "type": "number",
                    "example": 12
                  },
                  "pension_scheme_applicable": {
                    "type": "string",
                    "enum": [
                      "Yes",
                      "No"
                    ],
                    "example": "Yes"
                  },
                  "gratuity_eligible": {
                    "type": "string",
                    "enum": [
                      "Yes",
                      "No",
                      "Conditional"
                    ],
                    "example": "Yes"
                  },
                  "gratuity_start_date": {
                    "type": "string",
                    "format": "date",
                    "example": "2024-01-01"
                  },
                  "gratuity_years_required": {
                    "type": "number",
                    "example": 5
                  },
                  "pf_join_date": {
                    "type": "string",
                    "format": "date",
                    "example": "2024-01-01"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "Active",
                      "Inactive"
                    ],
                    "example": "Active"
                  },
                  "description": {
                    "type": "string",
                    "example": "Standard PF for IT department"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/organization-provident-fund/all": {
      "get": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Get all organization PF records with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number",
            "default": 1
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Items per page",
            "default": 10
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search by PF number or UAN"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "enum": [
              "Active",
              "Inactive"
            ],
            "description": "Filter by status"
          }
        ],
        "responses": {
          "200": {
            "description": "PF records retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "object"
                            },
                            "properties": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    }
                                  }
                                },
                                "pf_number": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "uan_number": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "employee_contribution_percent": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "number"
                                    }
                                  }
                                },
                                "employer_contribution_percent": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "number"
                                    }
                                  }
                                },
                                "pension_scheme_applicable": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "gratuity_eligible": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "gratuity_start_date": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    },
                                    "format": {
                                      "type": "string",
                                      "example": "date"
                                    }
                                  }
                                },
                                "gratuity_years_required": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "number"
                                    }
                                  }
                                },
                                "pf_join_date": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    },
                                    "format": {
                                      "type": "string",
                                      "example": "date"
                                    }
                                  }
                                },
                                "status": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "description": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "page": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "limit": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "total": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "totalPages": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization-provident-fund/list": {
      "get": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Get PF numbers list for dropdown selection",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PF numbers retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "array"
                        },
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "example": "object"
                            },
                            "properties": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "integer"
                                    }
                                  }
                                },
                                "pf_number": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "uan_number": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                },
                                "employee_contribution_percent": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "number"
                                    }
                                  }
                                },
                                "employer_contribution_percent": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "number"
                                    }
                                  }
                                },
                                "status": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "example": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization-provident-fund/pf/{pf_number}": {
      "get": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Get PF record by PF number",
        "description": "",
        "parameters": [
          {
            "name": "pf_number",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "PF Number"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PF record retrieved successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "object"
                        },
                        "properties": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "integer"
                                }
                              }
                            },
                            "pf_number": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "uan_number": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "employee_contribution_percent": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "number"
                                }
                              }
                            },
                            "employer_contribution_percent": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "number"
                                }
                              }
                            },
                            "pension_scheme_applicable": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "gratuity_eligible": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                }
                              }
                            },
                            "gratuity_start_date": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "string"
                                },
                                "format": {
                                  "type": "string",
                                  "example": "date"
                                }
                              }
                            },
                            "gratuity_years_required": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "example": "number"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "PF number not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization-provident-fund/{id}": {
      "get": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Get PF record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "PF Record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PF record retrieved successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "PF record not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Update organization PF record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "PF Record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PF record updated successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "PF record not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pf_number": {
                    "type": "string"
                  },
                  "uan_number": {
                    "type": "string"
                  },
                  "employee_contribution_percent": {
                    "type": "number"
                  },
                  "employer_contribution_percent": {
                    "type": "number"
                  },
                  "pension_scheme_applicable": {
                    "type": "string",
                    "enum": [
                      "Yes",
                      "No"
                    ]
                  },
                  "gratuity_eligible": {
                    "type": "string",
                    "enum": [
                      "Yes",
                      "No",
                      "Conditional"
                    ]
                  },
                  "gratuity_start_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "gratuity_years_required": {
                    "type": "number"
                  },
                  "pf_join_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "Active",
                      "Inactive"
                    ]
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Organization PF"
        ],
        "summary": "Delete organization PF record (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "PF Record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PF record deleted successfully",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "boolean"
                        }
                      }
                    },
                    "message": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "PF record not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payroll/create": {
      "post": {
        "tags": [
          "Payroll"
        ],
        "summary": "Create a new payroll",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "payDate": {
                  "example": "any"
                },
                "nextPayDate": {
                  "example": "any"
                },
                "employees": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "orgId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/fetchAllPayrolls": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get all payrolls with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "description": "Page number",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "description": "Number of Payrolls per page",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payroll/delete/{id}": {
      "delete": {
        "tags": [
          "Payroll"
        ],
        "summary": "Soft delete a payroll by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payroll ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payroll/{id}": {
      "put": {
        "tags": [
          "Payroll"
        ],
        "summary": "Soft delete a payroll by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payroll ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "grossEarnings": {
                  "example": "any"
                },
                "totalDeductions": {
                  "example": "any"
                },
                "netPay": {
                  "example": "any"
                },
                "paymentMethod": {
                  "example": "any"
                },
                "employeeId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/generate": {
      "post": {
        "tags": [
          "Payroll"
        ],
        "summary": "Generate payroll for all employees",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "month",
                  "year"
                ],
                "properties": {
                  "month": {
                    "type": "number",
                    "example": 1
                  },
                  "year": {
                    "type": "number",
                    "example": 2026
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/accounts/payroll/payroll": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Get all payroll records",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payslip/{payrollId}/{employeeId}": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Fetch employee payslip",
        "description": "",
        "parameters": [
          {
            "name": "payrollId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payroll ID (e.g. PAY-2026-01)"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Employee ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payslip/{payrollId}/{employeeId}/pdf": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Download employee payslip PDF",
        "description": "Generates and downloads the payslip PDF for a specific employee.",
        "parameters": [
          {
            "name": "payrollId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "employeeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payroll/preview": {
      "get": {
        "tags": [
          "Payroll"
        ],
        "summary": "Preview payroll for a given month and year",
        "description": "",
        "parameters": [
          {
            "name": "month",
            "in": "query",
            "type": "string"
          },
          {
            "name": "year",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payroll/payroll/{id}/mark-paid": {
      "post": {
        "tags": [
          "Payroll"
        ],
        "summary": "Mark payroll as paid",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payroll ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create invoice manually",
        "description": "Creates a new invoice manually by admin or manager",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "taskId": {
                  "example": "any"
                },
                "customerName": {
                  "example": "any"
                },
                "category": {
                  "example": "any"
                },
                "service": {
                  "example": "any"
                },
                "amount": {
                  "example": "any"
                },
                "orgId": {
                  "example": "any"
                },
                "generatedDate": {
                  "example": "any"
                },
                "dueDate": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "transactionId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Fetch all invoices",
        "description": "Get list of all invoices for the organization",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{id}": {
      "put": {
        "tags": [
          "Invoice"
        ],
        "summary": "Update invoice",
        "description": "Update invoice details using invoice ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Invoice"
        ],
        "summary": "Delete invoice",
        "description": "Soft delete an invoice by ID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{invoiceId}/download": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Download invoice PDF",
        "description": "Download invoice PDF using invoice ID",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/task/{taskId}": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Get invoice by task ID",
        "description": "Fetch invoice linked to a specific task",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Invoice"
        ],
        "summary": "Create invoice from task",
        "description": "Create a new invoice using task ID",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "discountId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{id}/status": {
      "put": {
        "tags": [
          "Invoice"
        ],
        "summary": "Update invoice status",
        "description": "Update status of invoice (Paid, Pending, Overdue)",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{id}/issue": {
      "put": {
        "tags": [
          "Invoice"
        ],
        "summary": "Issue invoice",
        "description": "Mark invoice as issued",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{id}/update-discount": {
      "put": {
        "tags": [
          "Invoice"
        ],
        "summary": "Update invoice discount",
        "description": "Update discount applied on an invoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "discountId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/invoice/{invoiceId}/statement/pdf": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Download invoice statement PDF",
        "description": "Download statement PDF for a specific invoice",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/reminders": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Get invoice reminders",
        "description": "Fetch invoices pending for reminders",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/invoice/customer-statement/pdf": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "summary": "Download customer statement PDF",
        "description": "Generate customer-wise invoice statement PDF",
        "parameters": [
          {
            "name": "customerKey",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/create": {
      "post": {
        "tags": [
          "Expenses"
        ],
        "summary": "Create a new expense",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "expenseNumber": {
                  "type": "string",
                  "example": "EXP-1001"
                },
                "category": {
                  "type": "string",
                  "example": "Office"
                },
                "reimbursementType": {
                  "type": "string",
                  "example": "REIMBURSABLE"
                },
                "amount": {
                  "type": "number",
                  "example": 1250
                },
                "expenseDate": {
                  "type": "string",
                  "example": "2025-07-15"
                },
                "notes": {
                  "type": "string",
                  "example": "Office electricity bill"
                },
                "attachments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "example": "/uploads/bill.pdf"
                      },
                      "fileType": {
                        "type": "string",
                        "example": "application/pdf"
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/expenses": {
      "get": {
        "tags": [
          "Expenses"
        ],
        "summary": "Get all expenses",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter by status (PENDING / PAID / REJECTED)",
            "type": "string"
          },
          {
            "name": "category",
            "in": "query",
            "description": "Filter by category",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/{id}": {
      "get": {
        "tags": [
          "Expenses"
        ],
        "summary": "Get expense by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Expense ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/update/{id}": {
      "put": {
        "tags": [
          "Expenses"
        ],
        "summary": "Update an expense",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Expense ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "description": "Fields to update",
            "schema": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "example": "Travel"
                },
                "amount": {
                  "type": "number",
                  "example": 2200
                },
                "notes": {
                  "type": "string",
                  "example": "Taxi reimbursement"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/{id}/status": {
      "put": {
        "tags": [
          "Expenses"
        ],
        "summary": "Update expense status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Expense ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "example": "PAID"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/expense/delete/{id}": {
      "delete": {
        "tags": [
          "Expenses"
        ],
        "summary": "Delete an expense (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Expense ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payment/create": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Record a customer payment",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "customer": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "John Doe"
                    },
                    "phone": {
                      "type": "string",
                      "example": "9876543210"
                    },
                    "email": {
                      "type": "string",
                      "example": "john@gmail.com"
                    }
                  }
                },
                "invoiceId": {
                  "type": "string",
                  "example": "65a12f9e2b8c123456789abc"
                },
                "amount": {
                  "type": "number",
                  "example": 5000
                },
                "paymentDate": {
                  "type": "string",
                  "example": "2026-01-10"
                },
                "mode": {
                  "type": "string",
                  "example": "UPI"
                },
                "reference": {
                  "type": "string",
                  "example": "UTR123456789"
                },
                "notes": {
                  "type": "string",
                  "example": "Advance payment received"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payment/": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get payments by customer",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "Customer name",
            "type": "string"
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Customer phone",
            "type": "string"
          },
          {
            "name": "email",
            "in": "query",
            "description": "Customer email",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payment/payment/{id}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get payment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payment ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/payment/delete/{id}": {
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Delete a payment (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Payment ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts/statement/invoice/{invoiceId}/statement": {
      "get": {
        "tags": [
          "Statements"
        ],
        "summary": "Get invoice statement view",
        "description": "",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dashboard/doctor-stats": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Get doctor statistics for dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dashboard/today-appointment-stats": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Get today\\'s appointment statistics for dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dashboard/patient-stats-today": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Get today\\'s patient statistics for dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/dashboard": {
      "get": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Get mobile dashboard data for field executive",
        "description": "Returns task counts, TAT alerts, leaderboard rank and summary stats for logged-in agent",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Dashboard data fetched successfully",
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": true
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "tasks": {
                      "type": "number",
                      "example": 50
                    },
                    "completed": {
                      "type": "number",
                      "example": 5
                    },
                    "cancelled": {
                      "type": "number",
                      "example": 3
                    },
                    "tatAlerts": {
                      "type": "number",
                      "example": 2
                    },
                    "leaderboard": {
                      "type": "object",
                      "properties": {
                        "rank": {
                          "type": "number",
                          "example": 48
                        },
                        "name": {
                          "type": "string",
                          "example": "Satish"
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks": {
      "get": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Get all tasks assigned to the agent (mobile)",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/{id}/accept": {
      "post": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Accept assigned task",
        "description": "Agent accepts a task assigned by admin",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Task accepted successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/{id}/reject": {
      "post": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Reject assigned task",
        "description": "Agent rejects a task assigned by admin with a reason",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Task rejected successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/{id}/start": {
      "post": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Start task work",
        "description": "Agent starts working on the task with location capture",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number",
                  "example": 17.385044
                },
                "lng": {
                  "type": "number",
                  "example": 78.486671
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Task started successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/{id}/complete": {
      "post": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Complete task work",
        "description": "Agent completes the task with end location capture",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "images",
            "in": "formData",
            "type": "array",
            "items": {
              "type": "file"
            },
            "description": "Completion images (max 5)"
          },
          {
            "name": "lat",
            "in": "formData",
            "type": "number"
          },
          {
            "name": "lng",
            "in": "formData",
            "type": "number"
          },
          {
            "name": "description",
            "in": "formData",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "lat": {
                  "example": "any"
                },
                "lng": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Task completed successfully"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/{id}/issue": {
      "post": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Raise issue on task",
        "description": "Agent raises an issue during task execution",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Task ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/tasks/tat-alerts": {
      "get": {
        "tags": [
          "Mobile Agent Tasks"
        ],
        "summary": "Get TAT alerts",
        "description": "Get overdue tasks based on due date",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "TAT alerts fetched successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/getAll/notifications": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Get logged-in user notifications",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Notifications fetched successfully"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/read-all": {
      "put": {
        "tags": [
          "Notifications"
        ],
        "summary": "Mark all notifications as read",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "All notifications marked as read"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/{id}/read": {
      "put": {
        "tags": [
          "Notifications"
        ],
        "summary": "Mark a single notification as read",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Notification ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Notification marked as read"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/mobile/{key}": {
      "get": {
        "tags": [
          "Forms"
        ],
        "summary": "Get dynamic form configuration by key",
        "description": "Fetch server-driven form configuration so frontend can render form dynamically",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Form key (e.g. CREATE_CUSTOMER_FORM)"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Form configuration fetched successfully",
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "example": true
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "CREATE_CUSTOMER_FORM"
                    },
                    "title": {
                      "type": "string",
                      "example": "Create Customer"
                    },
                    "fields": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "name"
                          },
                          "label": {
                            "type": "string",
                            "example": "Customer Name"
                          },
                          "type": {
                            "type": "string",
                            "example": "text"
                          },
                          "required": {
                            "type": "boolean",
                            "example": true
                          }
                        }
                      }
                    }
                  }
                }
              },
              "xml": {
                "name": "main"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Form not found or inactive"
          },
          "500": {
            "description": "Server error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/blacklist/create": {
      "post": {
        "tags": [
          "Blacklist"
        ],
        "summary": "Create a blacklisted vehicle entry",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vehicleNumber": {
                    "type": "string",
                    "example": "TS09AB1234"
                  },
                  "reason": {
                    "type": "string",
                    "example": "Unauthorized entry attempt"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/security/blacklist/all": {
      "get": {
        "tags": [
          "Blacklist"
        ],
        "summary": "Get all blacklisted vehicles",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicles/blacklist": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleNumber": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/unblock/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/check/{plateNumber}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "plateNumber",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/uom/create": {
      "post": {
        "tags": [
          "UOM Management"
        ],
        "summary": "Create new unit of measurement",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "symbol"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Kilogram"
                  },
                  "symbol": {
                    "type": "string",
                    "example": "kg"
                  },
                  "description": {
                    "type": "string",
                    "example": "Weight measurement unit"
                  },
                  "isActive": {
                    "type": "boolean",
                    "example": true
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/uom/get/all": {
      "get": {
        "tags": [
          "UOM Management"
        ],
        "summary": "Get all units of measurement",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/uom/update/{id}": {
      "put": {
        "tags": [
          "UOM Management"
        ],
        "summary": "Update unit of measurement",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Kilogram"
                  },
                  "symbol": {
                    "type": "string",
                    "example": "kg"
                  },
                  "description": {
                    "type": "string",
                    "example": "Weight measurement unit"
                  },
                  "isActive": {
                    "type": "boolean",
                    "example": true
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/uom/delete/{id}": {
      "delete": {
        "tags": [
          "UOM Management"
        ],
        "summary": "Delete unit of measurement",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/warehouse/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "warehouseName": {
                  "example": "any"
                },
                "warehouseCode": {
                  "example": "any"
                },
                "capacity": {
                  "example": "any"
                },
                "incharge": {
                  "example": "any"
                },
                "uomId": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                },
                "groundstock": {
                  "example": "any"
                },
                "alertstock": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/warehouse/all": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/warehouse/update/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/warehouse/delete/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/config/create": {
      "post": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Create new prefix configuration",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "moduleName": {
                    "type": "string",
                    "example": "VISITOR"
                  },
                  "prefixCode": {
                    "type": "string",
                    "example": "VIS"
                  },
                  "sequenceStart": {
                    "type": "number",
                    "example": 1
                  },
                  "paddingLength": {
                    "type": "number",
                    "example": 4
                  },
                  "separator": {
                    "type": "string",
                    "example": "-"
                  },
                  "description": {
                    "type": "string",
                    "example": "Visitor prefix configuration"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/config/list": {
      "get": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Get all prefix configurations",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/config/{id}": {
      "get": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Get prefix configuration by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/config/update/{id}": {
      "put": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Update prefix configuration",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/config/delete/{id}": {
      "delete": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Delete prefix configuration",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/config/generate-sequence": {
      "post": {
        "tags": [
          "Prefix Configuration"
        ],
        "summary": "Generate next sequence number based on prefix",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "moduleName": {
                    "type": "string",
                    "example": "VISITOR"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/permissions/designation-permission/upsert": {
      "post": {
        "tags": [
          "Designation Permission"
        ],
        "summary": "Create or Update permissions for a designation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "designationId": {
                  "example": "any"
                },
                "permissions": {
                  "example": "any"
                },
                "role": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/permissions/role/{role}": {
      "get": {
        "tags": [
          "Designation Permission"
        ],
        "summary": "Get permissions by designationId",
        "description": "",
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/create": {
      "post": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Create a new vendor",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendor_name": {
                  "example": "any"
                },
                "vendor_type": {
                  "example": "any"
                },
                "contact_person": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "gstin": {
                  "example": "any"
                },
                "pan": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "city": {
                  "example": "any"
                },
                "state": {
                  "example": "any"
                },
                "country": {
                  "example": "any"
                },
                "pincode": {
                  "example": "any"
                },
                "payment_terms": {
                  "example": "any"
                },
                "bank_name": {
                  "example": "any"
                },
                "account_holder_name": {
                  "example": "any"
                },
                "account_number": {
                  "example": "any"
                },
                "ifsc_code": {
                  "example": "any"
                },
                "branch": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "documents": {
                  "example": "any"
                },
                "shipping_addresses": {
                  "example": "any"
                },
                "license_number": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/all": {
      "get": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Get all vendors without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/": {
      "get": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Get all vendors with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/{id}": {
      "get": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Get vendor by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Update vendor",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remove_pan_document": {
                  "example": "any"
                },
                "remove_license_document": {
                  "example": "any"
                },
                "remove_bank_document": {
                  "example": "any"
                },
                "vendor_name": {
                  "example": "any"
                },
                "vendor_type": {
                  "example": "any"
                },
                "contact_person": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "gstin": {
                  "example": "any"
                },
                "pan": {
                  "example": "any"
                },
                "address": {
                  "example": "any"
                },
                "city": {
                  "example": "any"
                },
                "state": {
                  "example": "any"
                },
                "country": {
                  "example": "any"
                },
                "pincode": {
                  "example": "any"
                },
                "payment_terms": {
                  "example": "any"
                },
                "bank_name": {
                  "example": "any"
                },
                "account_holder_name": {
                  "example": "any"
                },
                "account_number": {
                  "example": "any"
                },
                "ifsc_code": {
                  "example": "any"
                },
                "branch": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "documents": {
                  "example": "any"
                },
                "shipping_addresses": {
                  "example": "any"
                },
                "license_number": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Soft delete vendor",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/hard/{id}": {
      "delete": {
        "tags": [
          "Vendor Postgre"
        ],
        "summary": "Hard delete vendor",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/vendors/gst-lookup/{gstin}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "gstin",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/item-master/create": {
      "post": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Create a new item",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "itemName": {
                  "type": "string",
                  "example": "Ethanol"
                },
                "uom": {
                  "type": "string",
                  "example": "Ltr"
                },
                "hsnCode": {
                  "type": "string",
                  "example": "2207"
                },
                "description": {
                  "type": "string",
                  "example": "High quality ethanol"
                },
                "qty": {
                  "type": "number",
                  "example": 50
                },
                "tax": {
                  "type": "number",
                  "example": 18
                },
                "groupId": {
                  "type": "number",
                  "example": 1
                },
                "groupName": {
                  "type": "string",
                  "example": "Raw Materials"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/bulk-upload": {
      "post": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Bulk upload items via Excel/CSV",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "file",
            "in": "formData",
            "type": "file",
            "required": true,
            "description": "Excel/CSV file with headers: Item Name, UOM, HSN Code, Quantity, Description, Tax (%), Group Name"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "confirmed": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/download-template": {
      "get": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Download Excel template for bulk upload",
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/groups": {
      "get": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Get all item groups from group master",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/": {
      "get": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Get all items with pagination",
        "description": "",
        "parameters": [
          {
            "name": "groupId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/all": {
      "get": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Get all items without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/{id}": {
      "get": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Get item by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Update item",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "itemName": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "hsnCode": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "taxPercentage": {
                  "example": "any"
                },
                "groupId": {
                  "example": "any"
                },
                "groupName": {
                  "example": "any"
                },
                "qcRequired": {
                  "example": "any"
                },
                "weighmentRequired": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Soft delete item",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/item-master/hard/{id}": {
      "delete": {
        "tags": [
          "Item Master Postgre"
        ],
        "summary": "Hard delete item (permanent)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/create": {
      "post": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Create a new requisition",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "pr_date": {
                  "example": "any"
                },
                "pr_due_date": {
                  "example": "any"
                },
                "department": {
                  "example": "any"
                },
                "requested_by": {
                  "example": "any"
                },
                "comment": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get all requisitions with pagination",
        "description": "",
        "parameters": [
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortOrder",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/stock-summary": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get stock summary for dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/inventory-issues": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get all inventory issues",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/all": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get all requisitions without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/stock-ledger/{materialName}": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get stock ledger for material",
        "description": "",
        "parameters": [
          {
            "name": "materialName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/stock-availability": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get stock availability for requisition",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/issued-inventory": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{id}/issue-history": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get issue history for requisition",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}": {
      "get": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Get requisition by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Soft delete requisition",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/status": {
      "put": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Update requisition status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                },
                "comment": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/comment": {
      "put": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Update requisition comment",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "comment": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/items": {
      "put": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Update requisition items",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/{id}/send-quotation": {
      "post": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Send quotation request",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/hard/{id}": {
      "delete": {
        "tags": [
          "Requisition Postgre"
        ],
        "summary": "Hard delete requisition (permanent)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/requisitions/requisitions/{requisitionId}/update-po-quantity": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "requisitionId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                },
                "poId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{pr_id}/po-status": {
      "get": {
        "tags": [
          "Requisitions"
        ],
        "summary": "Get PO status for requisition items",
        "description": "Returns items with their PO raised status",
        "parameters": [
          {
            "name": "pr_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{id}/approve-with-stock": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                },
                "comment": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/inventory/approved": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{id}/issue-inventory": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                },
                "assigned_to_id": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{id}/approve-for-po": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/requisitions/{id}/approve-items-for-po": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                },
                "assigned_to_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/procurement/rfqs/create-from-pr-inventory": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Create RFQ from PR Inventory (New Requests tab)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/create-from-pr/{pr_id}": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Create RFQ from Purchase Requisition",
        "description": "",
        "parameters": [
          {
            "name": "pr_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/manual": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Create RFQ manually",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/create-from-requisition": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Create RFQ from requisition",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "requisitionId": {
                  "example": "any"
                },
                "pr_number": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/bulk-create": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Bulk create RFQs",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "requisitions": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/send-to-vendors": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Send RFQ to vendors",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/quotation-prices": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Save quotation prices",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "prices": {
                  "example": "any"
                },
                "vendorItemSelections": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get quotation prices",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Delete quotation prices",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/upload-quotation": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Upload quotation document",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendorId": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                },
                "totalAmount": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                },
                "vendorTerms": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get quotation upload",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "vendorId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Delete quotation upload",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendorId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get all RFQs with pagination",
        "description": "",
        "parameters": [
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortOrder",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/statistics/summary": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get RFQ statistics summary",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/comparison-list": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get comparison RFQ list",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get RFQ by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Soft delete RFQ",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/items": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get RFQ items",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{rfqId}/vendor-items/{vendorId}": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get vendor-specific RFQ items",
        "description": "",
        "parameters": [
          {
            "name": "rfqId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "vendorId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/comparison": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get quotation comparison",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/uploaded-vendors": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get uploaded vendors",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/external-vendors": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Add external vendors to RFQ by email",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "externalEmails": {
                  "example": "any"
                },
                "vendorItemSelections": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get external vendors for RFQ",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/upload-external-quotation": {
      "post": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Upload quotation for external vendor",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "externalVendorId": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                },
                "totalAmount": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                },
                "vendorTerms": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/external-uploaded-quotations": {
      "get": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Get uploaded quotations from external vendors",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/status": {
      "put": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Update RFQ status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/{id}/deadline": {
      "put": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Update RFQ deadline",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "deadline": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/rfqs/hard/{id}": {
      "delete": {
        "tags": [
          "RFQ Postgre"
        ],
        "summary": "Hard delete RFQ (permanent)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/create-from-pr/{pr_id}": {
      "post": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Create purchase order from approved PR",
        "description": "",
        "parameters": [
          {
            "name": "pr_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendorIds": {
                  "example": "any"
                },
                "po_date": {
                  "example": "any"
                },
                "po_due_date": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/create-from-rfq/{id}": {
      "post": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Create purchase order from RFQ",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/create-from-comparison/{rfqId}/{vendorId}": {
      "post": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Create purchase order from quotation comparison",
        "description": "",
        "parameters": [
          {
            "name": "rfqId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "vendorId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/create-direct": {
      "post": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Create PO directly",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendorId": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                },
                "po_date": {
                  "example": "any"
                },
                "po_due_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "0": {
            "description": ""
          },
          "1": {
            "description": ""
          },
          "2": {
            "description": ""
          },
          "4": {
            "description": ""
          },
          "5": {
            "description": ""
          },
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Get all purchase orders with pagination",
        "description": "",
        "parameters": [
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortOrder",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/waiting": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Get approved PRs waiting for PO",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/status/{status}": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Get purchase orders by status",
        "description": "",
        "parameters": [
          {
            "name": "status",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/by-number/{po_number}": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Get purchase order by PO number",
        "description": "",
        "parameters": [
          {
            "name": "po_number",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/{id}": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Get purchase order by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Soft delete purchase order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "cancel_reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/{id}/status": {
      "patch": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Update purchase order status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/{id}/items": {
      "put": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Update purchase order items",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/hard/{id}": {
      "delete": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Hard delete purchase order (permanent)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-orders/{id}/download": {
      "get": {
        "tags": [
          "Purchase Order Postgre"
        ],
        "summary": "Download purchase order as PDF",
        "description": "Generates and downloads a PDF version of the purchase order",
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "description": "Purchase Order ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PDF file downloaded successfully",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing token"
          },
          "404": {
            "description": "Purchase Order not found"
          },
          "500": {
            "description": "Server error - Failed to generate PDF"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/group-master/": {
      "post": {
        "tags": [
          "Group Master"
        ],
        "summary": "Create a new group",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "group_name": {
                  "type": "string",
                  "example": "Example Group"
                },
                "module_type": {
                  "type": "string",
                  "example": "ITEM"
                },
                "group_code": {
                  "type": "string",
                  "example": "G001"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Group Master"
        ],
        "summary": "Get all groups with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/group-master/all": {
      "get": {
        "tags": [
          "Group Master"
        ],
        "summary": "Get all groups without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/group-master/module/{moduleType}": {
      "get": {
        "tags": [
          "Group Master"
        ],
        "summary": "Get groups by module type",
        "description": "",
        "parameters": [
          {
            "name": "moduleType",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/group-master/{id}": {
      "get": {
        "tags": [
          "Group Master"
        ],
        "summary": "Get group by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Group Master"
        ],
        "summary": "Update group",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "group_name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Group Master"
        ],
        "summary": "Soft delete group",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/group-master/hard/{id}": {
      "delete": {
        "tags": [
          "Group Master"
        ],
        "summary": "Hard delete group",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/create": {
      "post": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Create GRN from vehicle exit",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "grnNumber": {
                  "example": "any"
                },
                "poId": {
                  "example": "any"
                },
                "poNumber": {
                  "example": "any"
                },
                "vendorName": {
                  "example": "any"
                },
                "gateEntryNo": {
                  "example": "any"
                },
                "invoiceNo": {
                  "example": "any"
                },
                "deliveryChallanNo": {
                  "example": "any"
                },
                "vehicleId": {
                  "example": "any"
                },
                "createdBy": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/manual/create": {
      "post": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Create manual GRN without vehicle/PO",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "grn_number": {
                  "type": "string",
                  "example": "GRN-2024-MANUAL-001"
                },
                "grn_date": {
                  "type": "string",
                  "example": "2024-01-15"
                },
                "vendor_name": {
                  "type": "string",
                  "example": "ABC Suppliers"
                },
                "po_number": {
                  "type": "string",
                  "example": "PO-2024-001"
                },
                "invoice_no": {
                  "type": "string",
                  "example": "INV-2024-001"
                },
                "delivery_challan_no": {
                  "type": "string",
                  "example": "DC-2024-001"
                },
                "gate_entry_no": {
                  "type": "string",
                  "example": "GE-2024-001"
                },
                "remarks": {
                  "type": "string",
                  "example": "Manual GRN entry"
                },
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "item_name": {
                        "type": "string",
                        "example": "Product Name"
                      },
                      "ordered_qty": {
                        "type": "number",
                        "example": 100
                      },
                      "received_qty": {
                        "type": "number",
                        "example": 100
                      },
                      "accepted_qty": {
                        "type": "number",
                        "example": 95
                      },
                      "rejected_qty": {
                        "type": "number",
                        "example": 5
                      },
                      "unit_price": {
                        "type": "number",
                        "example": 10.5
                      },
                      "rejected_unit_price": {
                        "type": "number",
                        "example": 5
                      },
                      "store_location": {
                        "type": "string",
                        "example": "Main Store"
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "0": {
            "description": ""
          },
          "1": {
            "description": ""
          },
          "2": {
            "description": ""
          },
          "4": {
            "description": ""
          },
          "5": {
            "description": ""
          },
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/details": {
      "put": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Update GRN details (PO, Invoice, DC, Gate Entry, Vehicle)",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "po_number": {
                  "example": "any"
                },
                "invoice_no": {
                  "example": "any"
                },
                "delivery_challan_no": {
                  "example": "any"
                },
                "gate_entry_no": {
                  "example": "any"
                },
                "vehicle_id": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/items": {
      "post": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Add new item to GRN",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/summary/stats": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get GRN summary statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/all": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get all GRNs without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/vehicle/{vehicleId}": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get GRN by vehicle ID",
        "description": "",
        "parameters": [
          {
            "name": "vehicleId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/number/{grnNumber}": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get GRN by GRN number",
        "description": "",
        "parameters": [
          {
            "name": "grnNumber",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/by-po/{poId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "poId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/grn/{id}/download-pdf": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Download GRN as PDF",
        "description": "",
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get all GRNs with pagination",
        "description": "",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{id}": {
      "get": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Get GRN by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Soft delete GRN",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/header": {
      "put": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Update GRN header",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "remarks": {
                  "example": "any"
                },
                "invoice_no": {
                  "example": "any"
                },
                "delivery_challan_no": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/items/batch": {
      "put": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Update multiple GRN items (batch)",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/items/{itemId}": {
      "put": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Update single GRN item",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Delete GRN item",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{grnId}/complete": {
      "put": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Complete GRN",
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/grn/{id}/approve": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/grn/hard/{id}": {
      "delete": {
        "tags": [
          "GRN Postgre"
        ],
        "summary": "Hard delete GRN (permanent)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/approvals/approval-configurations": {
      "post": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Create new approval configuration",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "moduleId": {
                  "type": "number",
                  "example": 1
                },
                "moduleName": {
                  "type": "string",
                  "example": "Purchase Order"
                },
                "moduleCode": {
                  "type": "string",
                  "example": "PO"
                },
                "approvers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "deptId": {
                        "type": "number",
                        "example": 2
                      },
                      "deptName": {
                        "type": "string",
                        "example": "Warehouse"
                      }
                    }
                  }
                },
                "status": {
                  "type": "string",
                  "example": "active"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Get all approval configurations with pagination",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/approvals/approval-configurations/{id}": {
      "get": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Get approval configuration by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Update approval configuration",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "moduleId": {
                  "example": "any"
                },
                "moduleName": {
                  "example": "any"
                },
                "moduleCode": {
                  "example": "any"
                },
                "approvers": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Delete approval configuration (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/approvals/approval-configurations/module/{moduleId}": {
      "get": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Get approval configuration by module ID",
        "description": "",
        "parameters": [
          {
            "name": "moduleId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/approvals/approval-chain/{moduleId}": {
      "get": {
        "tags": [
          "Approval Configuration"
        ],
        "summary": "Get approval chain for a module (for workflow)",
        "description": "",
        "parameters": [
          {
            "name": "moduleId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/upload-Proforma/po-details/{po_number}": {
      "get": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Get PO details (vendor & amount) by PO number",
        "description": "",
        "parameters": [
          {
            "name": "po_number",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/upload-Proforma/": {
      "get": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Get all upload proforma records",
        "description": "",
        "parameters": [
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortOrder",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Create upload proforma with files",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "po_number": {
                  "example": "any"
                },
                "proforma_invoice_number": {
                  "example": "any"
                },
                "proforma_invoice_date": {
                  "example": "any"
                },
                "advance_required": {
                  "example": "any"
                },
                "advance_amount": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "po_status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/upload-Proforma/{id}": {
      "get": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Get upload proforma by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Update upload proforma",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "proforma_invoice_number": {
                  "example": "any"
                },
                "proforma_invoice_date": {
                  "example": "any"
                },
                "advance_required": {
                  "example": "any"
                },
                "advance_amount": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "po_status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Upload Proforma Postgre"
        ],
        "summary": "Soft delete upload proforma",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/basic": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get all basic terms with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/basic/{id}": {
      "delete": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Delete basic term",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/detailed/{doc_type}": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get detailed content by document type",
        "description": "",
        "parameters": [
          {
            "name": "doc_type",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Delete detailed content",
        "description": "",
        "parameters": [
          {
            "name": "doc_type",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/detailed": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get all detailed contents for organization",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/detailed/save": {
      "post": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Save or update detailed content",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "doc_type": {
                  "example": "any"
                },
                "content": {
                  "example": "any"
                },
                "doc_name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/doc-types": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get all document types",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Create document type",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "doc_type": {
                  "example": "any"
                },
                "doc_name": {
                  "example": "any"
                },
                "icon": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/doc-types/{id}": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get document type by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Update document type",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "doc_name": {
                  "example": "any"
                },
                "icon": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Soft delete document type",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/term-rows/{doc_type}": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get term rows by document type",
        "description": "",
        "parameters": [
          {
            "name": "doc_type",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/term-rows": {
      "post": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Create term row",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "doc_type": {
                  "example": "any"
                },
                "term": {
                  "example": "any"
                },
                "value": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "display_order": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/term-rows/{id}": {
      "put": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Update term row",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "term": {
                  "example": "any"
                },
                "value": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "display_order": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Delete term row",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/terms/{doc_type}": {
      "get": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Get terms by document type",
        "description": "",
        "parameters": [
          {
            "name": "doc_type",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/purchase-terms/term-rows/bulk": {
      "put": {
        "tags": [
          "Purchase Terms Postgre"
        ],
        "summary": "Bulk update term rows (for reordering)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "rows": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-invoices/create-from-grn": {
      "post": {
        "tags": [
          "Purchase Invoices"
        ],
        "summary": "Create purchase invoice from GRN",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "grn_id": {
                  "example": "any"
                },
                "invoice_number": {
                  "example": "any"
                },
                "invoice_amount": {
                  "example": "any"
                },
                "invoice_date": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-invoices/": {
      "get": {
        "tags": [
          "Purchase Invoices"
        ],
        "summary": "Get all purchase invoices with pagination",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-invoices/{id}": {
      "get": {
        "tags": [
          "Purchase Invoices"
        ],
        "summary": "Get purchase invoice by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Purchase Invoices"
        ],
        "summary": "Delete purchase invoice (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/procurement/purchase-invoices/{id}/approve": {
      "put": {
        "tags": [
          "Purchase Invoices"
        ],
        "summary": "Approve purchase invoice and GRN",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/create": {
      "post": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Create commercial vehicle gate entry",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "vehicleNumber",
            "in": "formData",
            "type": "string",
            "required": true,
            "example": "TS09AB1234"
          },
          {
            "name": "driverName",
            "in": "formData",
            "type": "string",
            "example": "Ramesh Kumar"
          },
          {
            "name": "vendorName",
            "in": "formData",
            "type": "string",
            "example": "ABC Logistics"
          },
          {
            "name": "invoiceFiles",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "idProofFiles",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "deliveryFiles",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "materialFiles",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleNumber": {
                  "example": "any"
                },
                "vehicleType": {
                  "example": "any"
                },
                "reference_no": {
                  "example": "any"
                },
                "movementType": {
                  "example": "any"
                },
                "driverName": {
                  "example": "any"
                },
                "driverNumber": {
                  "example": "any"
                },
                "tankerCapacity": {
                  "example": "any"
                },
                "sealNumber": {
                  "example": "any"
                },
                "previousLoad": {
                  "example": "any"
                },
                "materialTypeId": {
                  "example": "any"
                },
                "batchNo": {
                  "example": "any"
                },
                "quantityInLtrs": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/blacklist/create": {
      "post": {
        "tags": [
          "Blacklist"
        ],
        "summary": "Create a blacklisted vehicle entry",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vehicleNumber": {
                    "type": "string",
                    "example": "TS09AB1234"
                  },
                  "reason": {
                    "type": "string",
                    "example": "Unauthorized entry attempt"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/security/vehicle/all": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get all commercial vehicle entries",
        "description": "",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "lastId",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/blacklist": {
      "post": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Blacklist commercial vehicle based on Id",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleNumber": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/weighbridge/cards": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get commercial vehicle weightbridgecards",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/prefills/{vehicleNumber}": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get prefill commercial vehicle details",
        "description": "",
        "parameters": [
          {
            "name": "vehicleNumber",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/blacklist/all": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get all blacklisted vehicles",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/check/{plateNumber}": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Check if vehicle is blacklisted",
        "description": "Returns whether the given plate number is blocked",
        "parameters": [
          {
            "name": "plateNumber",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/vehicle/unblock/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Unblock a blacklisted vehicle",
        "description": "Deactivates blacklist entry and removes blacklist from vehicles",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Blacklist record ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/vehicle/update/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles"
        ],
        "summary": "Update vehicle entries by Id",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "poItems": {
                  "example": "any"
                },
                "dcId": {
                  "example": "any"
                },
                "invoiceNo": {
                  "example": "any"
                },
                "invoiceAmount": {
                  "example": "any"
                },
                "qtyBags": {
                  "example": "any"
                },
                "movementType": {
                  "example": "any"
                },
                "vehicleType": {
                  "example": "any"
                },
                "vehicleNumber": {
                  "example": "any"
                },
                "driverName": {
                  "example": "any"
                },
                "driverNumber": {
                  "example": "any"
                },
                "warehouseId": {
                  "example": "any"
                },
                "inWeight": {
                  "example": "any"
                },
                "referenceNo": {
                  "example": "any"
                },
                "supplierName": {
                  "example": "any"
                },
                "materialType": {
                  "example": "any"
                },
                "item_id": {
                  "example": "any"
                },
                "materialName": {
                  "example": "any"
                },
                "quantityUnit": {
                  "example": "any"
                },
                "item_code": {
                  "example": "any"
                },
                "item_name": {
                  "example": "any"
                },
                "transporterName": {
                  "example": "any"
                },
                "lrNo": {
                  "example": "any"
                },
                "lrDate": {
                  "example": "any"
                },
                "transportOrderNo": {
                  "example": "any"
                },
                "destinationName": {
                  "example": "any"
                },
                "deliveryQty": {
                  "example": "any"
                },
                "batchNo": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/exit/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles"
        ],
        "summary": "Mark commercial vehicle exit from gate",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "outWeight": {
                  "example": "any"
                },
                "netWeight": {
                  "example": "any"
                },
                "movementTypeOut": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "0": {
            "description": ""
          },
          "1": {
            "description": ""
          },
          "2": {
            "description": ""
          },
          "3": {
            "description": ""
          },
          "4": {
            "description": ""
          },
          "5": {
            "description": ""
          },
          "6": {
            "description": ""
          },
          "7": {
            "description": ""
          },
          "8": {
            "description": ""
          },
          "9": {
            "description": ""
          },
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/delete/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Soft delete commercial vehicle",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/vehicleExit/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Mark vehicle exit / gate out",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/weighbridge/vehicle/{id}": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get weighbridge vehicle details by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/weighment-slip/{id}": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Download weighment slip PDF",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/waiting-vehicles": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get dispatch waiting vehicles",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/update-gate-in/{id}": {
      "put": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Update shipment gate-in status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/create-dispatch": {
      "post": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Create dispatch vehicle entry",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "VEHICLE": {
                  "example": "any"
                },
                "vehicleType": {
                  "example": "any"
                },
                "movementType": {
                  "example": "any"
                },
                "driverName": {
                  "example": "any"
                },
                "driverNumber": {
                  "example": "any"
                },
                "tankerCapacity": {
                  "example": "any"
                },
                "sealNumber": {
                  "example": "any"
                },
                "previousLoad": {
                  "example": "any"
                },
                "reference_no": {
                  "example": "any"
                },
                "materialTypeId": {
                  "example": "any"
                },
                "quantityInLtrs": {
                  "example": "any"
                },
                "batchNo": {
                  "example": "any"
                },
                "SHIPMENT": {
                  "example": "any"
                },
                "shipmentId": {
                  "example": "any"
                },
                "shipmentNumber": {
                  "example": "any"
                },
                "salesOrderId": {
                  "example": "any"
                },
                "salesOrderNumber": {
                  "example": "any"
                },
                "allocationId": {
                  "example": "any"
                },
                "transportAgencyId": {
                  "example": "any"
                },
                "customerName": {
                  "example": "any"
                },
                "dispatchStatus": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/weighbridge-dispatch/{shipmentId}": {
      "get": {
        "tags": [
          "Commercial Vehicles Postgre"
        ],
        "summary": "Get shipment dispatch details for weighbridge",
        "description": "",
        "parameters": [
          {
            "name": "shipmentId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/material-group/{soNumber}": {
      "get": {
        "tags": [
          "Dispatch"
        ],
        "summary": "Get material group by sales order",
        "description": "",
        "parameters": [
          {
            "name": "soNumber",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/security/vehicle/dispatch-weighment/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "inWeight": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/vehicle/dispatch/return-weighbridge/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/vehicle/dispatch/weighbridge/exit/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "outWeight": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/security/vehicle/download-dispatch-document/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/park/bay/create": {
      "post": {
        "tags": [
          "Parking Management Postgre"
        ],
        "summary": "Get available commercial parking slots",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "example": "any"
                },
                "type": {
                  "example": "any"
                },
                "capacity": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/park/commercial/availability": {
      "get": {
        "tags": [
          "Parking Management Postgre"
        ],
        "summary": "Get available commercial parking slots",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/park/assign-slot": {
      "post": {
        "tags": [
          "Parking Management Postgre"
        ],
        "summary": "Assign parking slot to commercial vehicle",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bayCode",
                  "slot",
                  "vehicleNumber"
                ],
                "properties": {
                  "bayCode": {
                    "type": "string",
                    "example": "BAY-A"
                  },
                  "slot": {
                    "type": "string",
                    "example": "A-12"
                  },
                  "vehicleNumber": {
                    "type": "string",
                    "example": "TS09AB1234"
                  },
                  "driverName": {
                    "type": "string",
                    "example": "Ramesh Kumar"
                  },
                  "referenceNo": {
                    "type": "string",
                    "example": "REF-2026-001"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/park/update-bay/{id}": {
      "put": {
        "tags": [
          "Parking Management Postgre"
        ],
        "summary": "Update commercial parking slots By Id",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "example": "any"
                },
                "capacity": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/visitor/create": {
      "post": {
        "tags": [
          "Visitors Management Postgre"
        ],
        "summary": "Create visitor gate entry",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "visitorName",
            "in": "formData",
            "required": true,
            "type": "string",
            "example": "Amit Kumar"
          },
          {
            "name": "mobileNumber",
            "in": "formData",
            "type": "string",
            "example": "9876543210"
          },
          {
            "name": "purpose",
            "in": "formData",
            "type": "string",
            "example": "Meeting"
          },
          {
            "name": "hostName",
            "in": "formData",
            "type": "string",
            "example": "Ravi Sharma"
          },
          {
            "name": "photo",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "visitorName": {
                  "example": "any"
                },
                "phoneNumber": {
                  "example": "any"
                },
                "company": {
                  "example": "any"
                },
                "vehicleNumber": {
                  "example": "any"
                },
                "hostId": {
                  "example": "any"
                },
                "purpose": {
                  "example": "any"
                },
                "parkingAllocation": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/visitor/": {
      "get": {
        "tags": [],
        "summary": "Get all visitor entries",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/visitor/approve/{id}": {
      "put": {
        "tags": [
          "Visitors Management Postgre"
        ],
        "summary": "Approve visitor entry by host",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/visitor/exit/{id}": {
      "put": {
        "tags": [
          "Visitors Management Postgre"
        ],
        "summary": "Mark visitor exit from gate",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/visitor/{id}": {
      "delete": {
        "tags": [
          "Visitors Management Postgre"
        ],
        "summary": "Delete visitor by id",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visitors"
        ],
        "summary": "Get visitor by Id entries",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/qualitycheck/create": {
      "post": {
        "tags": [
          "QC Check Postgre"
        ],
        "summary": "Create new QC Sample",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleId": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                },
                "poNumber": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/qualitycheck/all": {
      "get": {
        "tags": [
          "QC Check Postgre"
        ],
        "summary": "Get QC Samples list with pagination & search",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "order",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/qualitycheck/update/{id}": {
      "put": {
        "tags": [
          "QC Check Postgre"
        ],
        "summary": "Update QC Sample",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "QC Sample ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "poNumber": {
                    "type": "string",
                    "example": "PO123"
                  },
                  "vehicleNumber": {
                    "type": "string",
                    "example": "TS09AB1234"
                  },
                  "vendor": {
                    "type": "string",
                    "example": "ABC Vendor"
                  },
                  "status": {
                    "type": "string",
                    "example": "APPROVED"
                  },
                  "parameters": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "parameterName": {
                          "type": "string",
                          "example": "Moisture"
                        },
                        "value": {
                          "type": "number",
                          "example": 12
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/qualitycheck/history/{sampleId}": {
      "get": {
        "tags": [
          "QC Check Postgre"
        ],
        "summary": "Get QC parameter history by sample ID",
        "description": "",
        "parameters": [
          {
            "name": "sampleId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/qualitycheck/complete/{id}": {
      "put": {
        "tags": [
          "QC Check Postgre"
        ],
        "summary": "Complete QC process",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/qualitycheck/dispatch-qc/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleId": {
                  "example": "any"
                },
                "shipmentId": {
                  "example": "any"
                },
                "source_type": {
                  "example": "any"
                },
                "qc_status": {
                  "example": "any"
                },
                "product_id": {
                  "example": "any"
                },
                "product_name": {
                  "example": "any"
                },
                "parameters": {
                  "example": "any"
                },
                "checklist": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/qualitycheck/{id}/download": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/qcparams/create": {
      "post": {
        "tags": [
          "QC Parameters Postgre"
        ],
        "summary": "Create new QC parameter",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "parameterName"
                ],
                "properties": {
                  "parameterName": {
                    "type": "string",
                    "example": "Moisture"
                  },
                  "value": {
                    "type": "string",
                    "example": "%"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/qcparams/all": {
      "get": {
        "tags": [
          "QC Parameters Postgre"
        ],
        "summary": "Get all QC parameters",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "order",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/qcparams/itemCodes": {
      "get": {
        "tags": [
          "QC Parameters Postgre"
        ],
        "summary": "Get QC parameters by MaterialType",
        "description": "",
        "parameters": [
          {
            "name": "item_codes",
            "in": "query",
            "type": "string"
          },
          {
            "name": "item_id",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/qcparams/update/{id}": {
      "put": {
        "tags": [
          "QC Parameters Postgre"
        ],
        "summary": "Update QC parameter",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "665f3f0c8f9b123456789abc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parameterName": {
                    "type": "string",
                    "example": "Moisture"
                  },
                  "value": {
                    "type": "string",
                    "example": "%"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/goods/create": {
      "post": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Create returnable goods",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "itemId": "OUT-001",
                "itemName": "Tool Kit",
                "quantity": 1,
                "condition": "Good",
                "remarks": "Handle carefully",
                "pickupDate": "2026-03-06T10:00:00Z",
                "returnDate": "2026-03-10T10:00:00Z",
                "referenceBy": "USER_ID",
                "receiverName": "Ravi Kumar",
                "approvedBy": "MANAGER_ID"
              }
            }
          }
        }
      }
    },
    "/api/goods/list": {
      "get": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Get returnable goods list",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "order",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "example": 1,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "example": 10,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/goods/getBy/{id}": {
      "get": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Get returnable goods byId",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/goods/update/{id}": {
      "put": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Update returnable goods",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "65f1c2ab1234567890abcd12"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "itemId": {
                  "example": "any"
                },
                "itemName": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "condition": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "pickupDate": {
                  "example": "any"
                },
                "returnDate": {
                  "example": "any"
                },
                "receiverName": {
                  "example": "any"
                },
                "receiverPhone": {
                  "example": "any"
                },
                "vendorName": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "returnBy": {
                  "example": "any"
                },
                "returnByPhone": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/goods/close/{id}": {
      "put": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Update returnable goods status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "65f1c2ab1234567890abcd12"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/goods/delete/{id}": {
      "delete": {
        "tags": [
          "ReturnableGoods"
        ],
        "summary": "Delete returnable goods",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "65f1c2ab1234567890abcd12"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/customers/create": {
      "post": {
        "tags": [
          "Customer Master"
        ],
        "summary": "Create Customer",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "gst",
            "in": "formData",
            "type": "string",
            "example": "27ABCDE1234F1Z5"
          },
          {
            "name": "firstName",
            "in": "formData",
            "type": "string",
            "required": true,
            "example": "Ramesh"
          },
          {
            "name": "lastName",
            "in": "formData",
            "type": "string",
            "example": "Kumar"
          },
          {
            "name": "phone",
            "in": "formData",
            "type": "string",
            "required": true,
            "example": "9876543210"
          },
          {
            "name": "email",
            "in": "formData",
            "type": "string",
            "required": true,
            "example": "test@gmail.com"
          },
          {
            "name": "panFile",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "licenseFile",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "aadhaarFile",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "incorporationFile",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "chequeFile",
            "in": "formData",
            "type": "file"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "gst": {
                  "example": "any"
                },
                "companyName": {
                  "example": "any"
                },
                "companyType": {
                  "example": "any"
                },
                "contactPerson": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "pan": {
                  "example": "any"
                },
                "license": {
                  "example": "any"
                },
                "aadhaar": {
                  "example": "any"
                },
                "billingAddress": {
                  "example": "any"
                },
                "shippingAddress": {
                  "example": "any"
                },
                "billState": {
                  "example": "any"
                },
                "billCity": {
                  "example": "any"
                },
                "billPinCode": {
                  "example": "any"
                },
                "shipState": {
                  "example": "any"
                },
                "shipCity": {
                  "example": "any"
                },
                "shipPinCode": {
                  "example": "any"
                },
                "creditLimit": {
                  "example": "any"
                },
                "paymentTerms": {
                  "example": "any"
                },
                "advancePayment": {
                  "example": "any"
                },
                "payAgainstDelivery": {
                  "example": "any"
                },
                "deliveryAgainstPayment": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/customers/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "gst": {
                  "example": "any"
                },
                "companyName": {
                  "example": "any"
                },
                "companyType": {
                  "example": "any"
                },
                "contactPerson": {
                  "example": "any"
                },
                "phone": {
                  "example": "any"
                },
                "email": {
                  "example": "any"
                },
                "pan": {
                  "example": "any"
                },
                "license": {
                  "example": "any"
                },
                "aadhaar": {
                  "example": "any"
                },
                "billingAddress": {
                  "example": "any"
                },
                "shippingAddress": {
                  "example": "any"
                },
                "billState": {
                  "example": "any"
                },
                "billCity": {
                  "example": "any"
                },
                "billPinCode": {
                  "example": "any"
                },
                "shipState": {
                  "example": "any"
                },
                "shipCity": {
                  "example": "any"
                },
                "shipPinCode": {
                  "example": "any"
                },
                "creditLimit": {
                  "example": "any"
                },
                "paymentTerms": {
                  "example": "any"
                },
                "advancePayment": {
                  "example": "any"
                },
                "payAgainstDelivery": {
                  "example": "any"
                },
                "deliveryAgainstPayment": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Customer Master"
        ],
        "summary": "Delete customer (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/customers/download-template/": {
      "get": {
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/customers/all": {
      "get": {
        "tags": [
          "Customer Master"
        ],
        "summary": "Get all customers",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/customers/bulk-upload": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/customers/check-gst": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "gst": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-customer-price/create": {
      "post": {
        "tags": [
          "Sales Customer Price"
        ],
        "summary": "Create sales customer price",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "product_id": {
                  "example": "any"
                },
                "customer_id": {
                  "example": "any"
                },
                "base_price": {
                  "example": "any"
                },
                "freight_included": {
                  "example": "any"
                },
                "from_date": {
                  "example": "any"
                },
                "to_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-customer-price/{id}": {
      "patch": {
        "tags": [
          "Sales Customer Price"
        ],
        "summary": "Patch update sales customer price by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "product_id": {
                  "example": "any"
                },
                "customer_id": {
                  "example": "any"
                },
                "base_price": {
                  "example": "any"
                },
                "freight_included": {
                  "example": "any"
                },
                "from_date": {
                  "example": "any"
                },
                "to_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Sales Customer Price"
        ],
        "summary": "Get sales customer price by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Sales Customer Price"
        ],
        "summary": "Delete sales customer price (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-customer-price/all": {
      "get": {
        "tags": [
          "Sales Customer Price"
        ],
        "summary": "Get all sales customer prices",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-enquiry/create": {
      "post": {
        "tags": [
          "Sales Enquiry"
        ],
        "summary": "Create sales enquiry",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "service": {
                  "example": "any"
                },
                "auth": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-enquiry/{id}": {
      "patch": {
        "tags": [
          "Sales Enquiry"
        ],
        "summary": "Patch update sales enquiry by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "customer_id": {
                  "example": "any"
                },
                "customer_name": {
                  "example": "any"
                },
                "company_name": {
                  "example": "any"
                },
                "contact_number": {
                  "example": "any"
                },
                "contact_person": {
                  "example": "any"
                },
                "item_id": {
                  "example": "any"
                },
                "item_name": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "enquiry_source": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Sales Enquiry"
        ],
        "summary": "Get sales enquiry by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Sales Enquiry"
        ],
        "summary": "Delete sales enquiry (soft delete)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-enquiry/all": {
      "get": {
        "tags": [
          "Sales Enquiry"
        ],
        "summary": "Get all sales enquiries",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesquotations/create": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Create new sales quotation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "customer_id": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesquotations/all": {
      "get": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Get all sales quotations",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "required": false,
            "type": "integer",
            "example": 1
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of records per page",
            "required": false,
            "type": "integer",
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesquotations/organization": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesquotations/{id}": {
      "get": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Get sales quotation by id",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesquotations/upload/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "example": "any"
                },
                "po_reference": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesquotations/approve/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesorder/all": {
      "get": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Get all sales orders",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/organization-details": {
      "get": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Get organization details",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/invoice/{id}": {
      "post": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Create invoice from sales order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/update/{id}": {
      "put": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Update sales order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "customer_code": {
                  "example": "any"
                },
                "quotation_number": {
                  "example": "any"
                },
                "delivery_date": {
                  "example": "any"
                },
                "po_reference": {
                  "example": "any"
                },
                "with_advance_payment": {
                  "example": "any"
                },
                "advance_payment_percent": {
                  "example": "any"
                },
                "advance_payment_amount": {
                  "example": "any"
                },
                "advance_payment_status": {
                  "example": "any"
                },
                "proforma_required": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/{id}": {
      "delete": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Delete sales order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Get sales order by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/by-number/{soNumber}": {
      "get": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Get sales order by number",
        "description": "",
        "parameters": [
          {
            "name": "soNumber",
            "in": "path",
            "required": true,
            "type": "string",
            "example": "SO-001"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesorder/{id}/resend-mail": {
      "post": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Resend sales order email",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/salesInvoice/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "sales_order_id": {
                  "example": "any"
                },
                "sales_order_number": {
                  "example": "any"
                },
                "customer_id": {
                  "example": "any"
                },
                "customer_name": {
                  "example": "any"
                },
                "customer_address": {
                  "example": "any"
                },
                "customer_gst": {
                  "example": "any"
                },
                "invoice_date": {
                  "example": "any"
                },
                "due_date": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/list": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/stats": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "customer_id": {
                  "example": "any"
                },
                "customer_name": {
                  "example": "any"
                },
                "customer_address": {
                  "example": "any"
                },
                "customer_gst": {
                  "example": "any"
                },
                "invoice_date": {
                  "example": "any"
                },
                "due_date": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/download/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/{id}/super-approve": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/{id}/approval-status": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/salesInvoice/{id}/approve": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/sales-contract/create": {
      "post": {
        "tags": [
          "Sales Contract"
        ],
        "summary": "Create a new sales contract",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "contract_no": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "CNT-001"
                        }
                      }
                    },
                    "customer_id": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "integer"
                        },
                        "example": {
                          "type": "number",
                          "example": 12
                        }
                      }
                    },
                    "product_id": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "integer"
                        },
                        "example": {
                          "type": "number",
                          "example": 3
                        }
                      }
                    },
                    "contract_qty": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 1000
                        }
                      }
                    },
                    "rate": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 92000
                        }
                      }
                    },
                    "valid_from": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "format": {
                          "type": "string",
                          "example": "date"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-04-01"
                        }
                      }
                    },
                    "valid_to": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "format": {
                          "type": "string",
                          "example": "date"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-12-31"
                        }
                      }
                    },
                    "delivery_terms": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Ex-Depot"
                        }
                      }
                    },
                    "govt_allocation_ref": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "GOI-ETH-2026-01"
                        }
                      }
                    },
                    "remarks": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Monthly supply basis"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-contract/": {
      "get": {
        "tags": [
          "Sales Contract"
        ],
        "summary": "Get all contracts (with pagination & filters)",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "example": 1
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "example": 10
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "example": "ACTIVE"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "example": "CNT"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-contract/{id}": {
      "get": {
        "tags": [
          "Sales Contract"
        ],
        "summary": "Get contract details by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Sales Contract"
        ],
        "summary": "Update contract details",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "example": "object"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "contract_no": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "CNT-002"
                        }
                      }
                    },
                    "contract_qty": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 1500
                        }
                      }
                    },
                    "rate": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "number"
                        },
                        "example": {
                          "type": "number",
                          "example": 95000
                        }
                      }
                    },
                    "valid_to": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "2026-12-31"
                        }
                      }
                    },
                    "status": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "ACTIVE"
                        }
                      }
                    },
                    "remarks": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "string"
                        },
                        "example": {
                          "type": "string",
                          "example": "Updated contract"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Sales Contract"
        ],
        "summary": "Delete contract by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "example": 1
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales-contract/customer/{customer_code}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "customer_code",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales_return/create": {
      "post": {
        "tags": [
          "Sales Return"
        ],
        "summary": "Create a new sales return",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "return_no": {
                  "example": "any"
                },
                "quantity_returned": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "quality_status": {
                  "example": "any"
                },
                "sales_order_id": {
                  "example": "any"
                },
                "product_id": {
                  "example": "any"
                },
                "customer_code": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/sales_return/sales-returns/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "return_no": {
                  "example": "any"
                },
                "quantity_returned": {
                  "example": "any"
                },
                "reason": {
                  "example": "any"
                },
                "quality_status": {
                  "example": "any"
                },
                "sales_order_id": {
                  "example": "any"
                },
                "product_id": {
                  "example": "any"
                },
                "customer_code": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales_return/sales-return/all": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "product_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sales_order_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/dashboard/dashboard-stats": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/get-reports": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/get-excelreports": {
      "get": {
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/get-orders": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/orderExcels": {
      "get": {
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/get-invoices": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/invoiceExcels": {
      "get": {
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/get-dispatches": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/sales-reports/dispatchExcels": {
      "get": {
        "description": "",
        "produces": [
          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/bom/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "recipe_name": {
                  "example": "any"
                },
                "version": {
                  "example": "any"
                },
                "batch_base_qty": {
                  "example": "any"
                },
                "batch_uom": {
                  "example": "any"
                },
                "output": {
                  "example": "any"
                },
                "bom": {
                  "example": "any"
                },
                "process": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/bom/recipes": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/bom/recipes/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "recipe_name": {
                  "example": "any"
                },
                "version": {
                  "example": "any"
                },
                "batch_base_qty": {
                  "example": "any"
                },
                "batch_uom": {
                  "example": "any"
                },
                "output": {
                  "example": "any"
                },
                "bom": {
                  "example": "any"
                },
                "process": {
                  "example": "any"
                },
                "change_note": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/bom/recipes/{id}/versions": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/dashboard": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/ledger": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "materialType",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/materials": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/by-po/{po_number}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "po_number",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/stock-by-warehouse/{warehouseId}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inventory/warehouse-stock-summary": {
      "get": {
        "description": "",
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/create": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "poNumber": {
                  "example": "any"
                },
                "vendorName": {
                  "example": "any"
                },
                "referenceNo": {
                  "example": "any"
                },
                "dcNumber": {
                  "example": "any"
                },
                "invoiceNumber": {
                  "example": "any"
                },
                "warehouse": {
                  "example": "any"
                },
                "warehouseId": {
                  "example": "any"
                },
                "isManual": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/inward/list": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "approvalStatus",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "order",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/delete/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/getBy/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/update/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vendorName": {
                  "example": "any"
                },
                "dcNumber": {
                  "example": "any"
                },
                "invoiceNumber": {
                  "example": "any"
                },
                "warehouse": {
                  "example": "any"
                },
                "warehouseId": {
                  "example": "any"
                },
                "items": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/approve/{id}": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/inward/reject/{id}": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/outward/create": {
      "post": {
        "tags": [
          "Outward"
        ],
        "summary": "Create a new outward/dispatch record",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "vehicleNo": {
                  "type": "string",
                  "example": "TS09AB1234"
                },
                "vehicleType": {
                  "type": "string",
                  "example": "Goods Carrier"
                },
                "driverName": {
                  "type": "string",
                  "example": "Ravi Kumar"
                },
                "driverPhone": {
                  "type": "string",
                  "example": "9876543210"
                },
                "itemName": {
                  "type": "string",
                  "example": "Steel Pipes"
                },
                "quantity": {
                  "type": "number",
                  "example": 200
                },
                "quantityUnit": {
                  "type": "string",
                  "example": "kg"
                },
                "outWeight": {
                  "type": "number",
                  "example": 12500
                },
                "outWeightUnit": {
                  "type": "string",
                  "example": "kg"
                },
                "poNumber": {
                  "type": "string",
                  "example": "PO-001"
                },
                "warehouseId": {
                  "type": "number",
                  "example": 1
                },
                "destination": {
                  "type": "string",
                  "example": "Chennai"
                },
                "remarks": {
                  "type": "string",
                  "example": "Handle with care"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/outward/": {
      "get": {
        "tags": [
          "Outward"
        ],
        "summary": "Get all outward records with pagination and filters",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "startDate",
            "in": "query",
            "type": "string"
          },
          {
            "name": "endDate",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sortOrder",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/outward/stats": {
      "get": {
        "tags": [
          "Outward"
        ],
        "summary": "Get outward statistics for dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/outward/generate-number": {
      "get": {
        "tags": [
          "Outward"
        ],
        "summary": "Generate a new outward number",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/outward/{id}": {
      "get": {
        "tags": [
          "Outward"
        ],
        "summary": "Get outward record by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Outward"
        ],
        "summary": "Update outward record",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "vehicleNo": {
                  "example": "any"
                },
                "vehicleType": {
                  "example": "any"
                },
                "driverName": {
                  "example": "any"
                },
                "driverPhone": {
                  "example": "any"
                },
                "itemName": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "quantityUnit": {
                  "example": "any"
                },
                "outWeight": {
                  "example": "any"
                },
                "outWeightUnit": {
                  "example": "any"
                },
                "approvedBy": {
                  "example": "any"
                },
                "approvedByName": {
                  "example": "any"
                },
                "poNumber": {
                  "example": "any"
                },
                "warehouseId": {
                  "example": "any"
                },
                "destination": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Outward"
        ],
        "summary": "Soft delete outward record",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/outward/{id}/dispatch": {
      "patch": {
        "tags": [
          "Outward"
        ],
        "summary": "Mark vehicle as dispatched",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-payable/grns": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/tab-counts": {
      "get": {
        "description": "",
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/update-final-amount/{grnId}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "finalAmount": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/reconcile/{grnId}": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "matchedAmount": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/update-payment/{grnId}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "gst": {
                  "example": "any"
                },
                "tds": {
                  "example": "any"
                },
                "applyGst": {
                  "example": "any"
                },
                "applyTds": {
                  "example": "any"
                },
                "paymentMode": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/add-transaction": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "grnId": {
                  "example": "any"
                },
                "transaction": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/upload-invoice": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "grnId": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-payable/grn/{grnId}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "grnId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/accounts-receivable/invoices": {
      "get": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Get all receivable invoices",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-receivable/invoices/{id}": {
      "get": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Get invoice details with payments",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Delete an invoice",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-receivable/summary": {
      "get": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Get receivable payment summary",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-receivable/invoices/{id}/payments": {
      "post": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Add payment against invoice",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "payment_date": {
                  "example": "any"
                },
                "amount": {
                  "example": "any"
                },
                "payment_mode": {
                  "example": "any"
                },
                "reference_no": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-receivable/invoices/{id}/hard": {
      "delete": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Permanently delete an invoice",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/accounts-receivable/payments/{id}": {
      "delete": {
        "tags": [
          "Accounts Receivable"
        ],
        "summary": "Delete a payment record",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/journal-vouchers/create": {
      "post": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Create a new journal voucher",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "voucher_type",
                  "voucher_date",
                  "debit_account",
                  "credit_account",
                  "amount",
                  "narration"
                ],
                "properties": {
                  "voucher_type": {
                    "type": "string",
                    "enum": [
                      "Journal",
                      "Payment",
                      "Receipt",
                      "Contra"
                    ]
                  },
                  "voucher_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "debit_account": {
                    "type": "string"
                  },
                  "credit_account": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "narration": {
                    "type": "string"
                  },
                  "reference_number": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "Pending",
                      "Approved",
                      "Posted"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/journal-vouchers/all": {
      "get": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Get all journal vouchers without pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/journal-vouchers/": {
      "get": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Get all journal vouchers with pagination",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string",
            "description": "Search by voucher number, type, narration, accounts"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "description": "Page number (default: 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "description": "Items per page (default: 10)"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/journal-vouchers/{id}/status": {
      "patch": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Update journal voucher status only",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "Pending",
                      "Approved",
                      "Posted"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/journal-vouchers/hard/{id}": {
      "delete": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Hard (permanent) delete journal voucher",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/journal-vouchers/{id}": {
      "get": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Get journal voucher by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Update journal voucher (blocked if status is Posted)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "voucher_type": {
                  "example": "any"
                },
                "voucher_date": {
                  "example": "any"
                },
                "debit_account": {
                  "example": "any"
                },
                "credit_account": {
                  "example": "any"
                },
                "amount": {
                  "example": "any"
                },
                "narration": {
                  "example": "any"
                },
                "reference_number": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Journal Voucher"
        ],
        "summary": "Soft delete journal voucher (blocked if status is Posted)",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/budget/summary": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "total": {
                  "example": "any"
                },
                "month": {
                  "example": "any"
                },
                "year": {
                  "example": "any"
                },
                "monthLabel": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "total": {
                  "example": "any"
                },
                "month": {
                  "example": "any"
                },
                "year": {
                  "example": "any"
                },
                "monthLabel": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{id}/clone": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "total": {
                  "example": "any"
                },
                "month": {
                  "example": "any"
                },
                "year": {
                  "example": "any"
                },
                "monthLabel": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{budgetId}/departments": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{budgetId}/departments/{deptId}/sub-departments": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{budgetId}/departments/{deptId}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "amount": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/budget/budgets/{budgetId}/departments/{deptId}/sub-departments/{subDeptId}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "subDeptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "amount": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "budgetId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "subDeptId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/chart-of-accounts/": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "account_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "level",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "account_code": {
                  "example": "any"
                },
                "account_name": {
                  "example": "any"
                },
                "account_type": {
                  "example": "any"
                },
                "sub_type": {
                  "example": "any"
                },
                "level": {
                  "example": "any"
                },
                "parent_account_id": {
                  "example": "any"
                },
                "opening_balance": {
                  "example": "any"
                },
                "balance_type": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/chart-of-accounts/summary": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/chart-of-accounts/hierarchy": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/chart-of-accounts/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "account_code": {
                  "example": "any"
                },
                "account_name": {
                  "example": "any"
                },
                "account_type": {
                  "example": "any"
                },
                "sub_type": {
                  "example": "any"
                },
                "level": {
                  "example": "any"
                },
                "parent_account_id": {
                  "example": "any"
                },
                "opening_balance": {
                  "example": "any"
                },
                "balance_type": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/bank-reconciliation/payables": {
      "get": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Get payables for reconciliation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/transactions": {
      "get": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Get bank transactions from latest statement",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/transactions/{statementId}": {
      "get": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Get bank transactions by statement ID",
        "description": "",
        "parameters": [
          {
            "name": "statementId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/summary": {
      "get": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Get reconciliation summary",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/upload": {
      "post": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Upload bank statement PDF",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "content-type",
            "in": "header",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "file",
            "in": "formData",
            "type": "file",
            "required": true,
            "description": "Bank statement PDF file"
          },
          {
            "name": "statementDate",
            "in": "formData",
            "type": "string",
            "required": false,
            "description": "Statement date (YYYY-MM-DD)"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "statementDate": {
                  "example": "any"
                },
                "resetMode": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/match": {
      "post": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Match bank transaction to payable",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "transactionId": {
                  "type": "number",
                  "example": 1
                },
                "grnId": {
                  "type": "number",
                  "example": 100
                },
                "amount": {
                  "type": "number",
                  "example": 125000
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/bank-reconciliation/match/{matchId}": {
      "delete": {
        "tags": [
          "Bank Reconciliation"
        ],
        "summary": "Cancel a reconciliation match",
        "description": "",
        "parameters": [
          {
            "name": "matchId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/dashboard-products": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get products for dispatch dashboard",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Dashboard products retrieved"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/allocations": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get product dispatch allocations",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "productId",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/allocations/{productId}": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get allocations for specific product",
        "description": "",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/ready-dispatch": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get items ready for dispatch",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "warehouse_id",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/run-auto-allocation": {
      "post": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Run automatic stock allocation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "order_ids"
                ],
                "properties": {
                  "order_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "allocation_strategy": {
                    "type": "string",
                    "enum": [
                      "FIFO",
                      "priority"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/dispatch/create-shipment": {
      "post": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Create a new shipment",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "allocation_ids",
                  "shipping_address"
                ],
                "properties": {
                  "allocation_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "shipping_address": {
                    "type": "string"
                  },
                  "carrier": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/dispatch/manual-allocation": {
      "post": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Manually allocate stock",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "order_id",
                  "product_id",
                  "quantity"
                ],
                "properties": {
                  "order_id": {
                    "type": "integer"
                  },
                  "product_id": {
                    "type": "integer"
                  },
                  "quantity": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/dispatch/cancel-allocation": {
      "post": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Cancel an allocation",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "allocation_id"
                ],
                "properties": {
                  "allocation_id": {
                    "type": "integer"
                  },
                  "reason": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/dispatch/dispatched": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get dispatched shipments",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "enum": [
              "pending",
              "in_transit",
              "delivered"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/shipment-details/{id}": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get shipment by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/{id}/approve": {
      "put": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Approve shipment",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/dispatch/shipment-by/{salesOrderId}": {
      "get": {
        "tags": [
          "Dispatch Management"
        ],
        "summary": "Get shipment by sales order ID",
        "description": "",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/create": {
      "post": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Create transport agency",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "agency_name": {
                    "type": "string"
                  },
                  "contact_person": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "vehicle_documents": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/transport/all": {
      "get": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Get all transport agencies",
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sort_by",
            "in": "query",
            "type": "string"
          },
          {
            "name": "sort_order",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/dropdown": {
      "get": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Get transport agency dropdown",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/statistics": {
      "get": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Get transport statistics",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/delete/{id}": {
      "delete": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Delete transport agency",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/add-driver": {
      "post": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Add driver to transport agency",
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "agency_id",
                  "driver_name",
                  "license_number"
                ],
                "properties": {
                  "agency_id": {
                    "type": "integer"
                  },
                  "driver_name": {
                    "type": "string"
                  },
                  "license_number": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/transport/dropdown-by-mode": {
      "get": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Get transport agencies by mode",
        "description": "",
        "parameters": [
          {
            "name": "transport_mode",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "mode",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "road",
              "rail",
              "air",
              "sea"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/{id}": {
      "get": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Get transport agency by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/transport/update/{id}": {
      "put": {
        "tags": [
          "Transport Management"
        ],
        "summary": "Update transport agency",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "agency_name": {
                    "type": "string"
                  },
                  "contact_person": {
                    "type": "string"
                  },
                  "vehicle_documents": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/gatePass/gate-passes": {
      "get": {
        "tags": [
          "Gate Pass Management"
        ],
        "summary": "Get all gate passes",
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "description": "Filter by status"
          },
          {
            "name": "date_from",
            "in": "query",
            "type": "string",
            "format": "date"
          },
          {
            "name": "date_to",
            "in": "query",
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "List of gate passes"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/gatePass/gate-pass/{id}": {
      "get": {
        "tags": [
          "Gate Pass Management"
        ],
        "summary": "Get gate pass by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Gate pass details"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Gate pass not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/gatePass/{id}": {
      "delete": {
        "tags": [
          "Gate Pass Management"
        ],
        "summary": "Delete gate pass",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Gate pass deleted successfully"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/gatePass/{id}/download": {
      "get": {
        "tags": [
          "Gate Pass Management"
        ],
        "summary": "Download gate pass PDF",
        "description": "",
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "PDF file download"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Gate pass not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all organizations with pagination, search and status filter",
        "description": "",
        "parameters": [
          {
            "name": "industry",
            "in": "query",
            "type": "string"
          },
          {
            "name": "org_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "type": "integer"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Items per page",
            "type": "integer"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search term",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Organization status filter",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create a new organization",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "org_name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "gstin": {
                    "type": "string"
                  },
                  "pan": {
                    "type": "string"
                  },
                  "logo": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "org_name"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{id}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update organization by ID",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "org_name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "gstin": {
                    "type": "string"
                  },
                  "pan": {
                    "type": "string"
                  },
                  "logo": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Soft delete organization by ID",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{id}/full": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization full details including addresses, bank details, documents and SMTP configs",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{id}/stats": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization statistics",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{id}/status": {
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Toggle organization active status",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/addresses": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all addresses for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Add new address to organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_line1": {
                    "type": "string"
                  },
                  "address_line2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "is_primary": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/addresses/{addressId}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update organization address",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "addressId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Address ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "address_type": {
                  "example": "any"
                },
                "address_line1": {
                  "example": "any"
                },
                "address_line2": {
                  "example": "any"
                },
                "city": {
                  "example": "any"
                },
                "state": {
                  "example": "any"
                },
                "pin_code": {
                  "example": "any"
                },
                "country": {
                  "example": "any"
                },
                "is_primary": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete organization address",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "addressId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Address ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/bank-details": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all bank details for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Add new bank detail to organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bank_name": {
                    "type": "string"
                  },
                  "account_number": {
                    "type": "string"
                  },
                  "account_holder_name": {
                    "type": "string"
                  },
                  "ifsc_code": {
                    "type": "string"
                  },
                  "branch": {
                    "type": "string"
                  },
                  "is_primary": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/bank-details/{bankId}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update organization bank detail",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "bankId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Bank detail ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "bank_name": {
                  "example": "any"
                },
                "account_holder_name": {
                  "example": "any"
                },
                "account_number": {
                  "example": "any"
                },
                "ifsc_code": {
                  "example": "any"
                },
                "branch": {
                  "example": "any"
                },
                "bank_city": {
                  "example": "any"
                },
                "account_type": {
                  "example": "any"
                },
                "is_primary": {
                  "example": "any"
                },
                "notes": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete organization bank detail",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "bankId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Bank detail ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/documents": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all documents for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Upload document for organization",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "document_type": {
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/documents/{docId}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Replace organization document",
        "description": "",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "docId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Document ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete organization document",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "docId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Document ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/smtp-configs": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all SMTP configurations for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create SMTP configuration for organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string"
                  },
                  "port": {
                    "type": "integer"
                  },
                  "from_email": {
                    "type": "string"
                  },
                  "from_name": {
                    "type": "string"
                  },
                  "auth_username": {
                    "type": "string"
                  },
                  "auth_password": {
                    "type": "string"
                  },
                  "encryption": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "host",
                  "from_email"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/smtp-configs/{id}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update SMTP configuration",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SMTP Config ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "host": {
                  "example": "any"
                },
                "port": {
                  "example": "any"
                },
                "encryption": {
                  "example": "any"
                },
                "username": {
                  "example": "any"
                },
                "password": {
                  "example": "any"
                },
                "from_email": {
                  "example": "any"
                },
                "from_name": {
                  "example": "any"
                },
                "reply_to": {
                  "example": "any"
                },
                "cc": {
                  "example": "any"
                },
                "bcc": {
                  "example": "any"
                },
                "auth_enabled": {
                  "example": "any"
                },
                "is_active": {
                  "example": "any"
                },
                "is_default": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete SMTP configuration",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SMTP Config ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Toggle SMTP configuration active status",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SMTP Config ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "is_active": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "is_active"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/smtp-configs/{id}/test": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Test SMTP connection",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SMTP Config ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/smtp-configs/{id}/set-default": {
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "Set SMTP configuration as default",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "SMTP Config ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/apis": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get all API configurations for an organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Add new API configuration to organization",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "api_name": {
                    "type": "string"
                  },
                  "base_url": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "custom_headers": {
                    "type": "object"
                  },
                  "status": {
                    "type": "string"
                  }
                },
                "required": [
                  "api_name",
                  "base_url"
                ]
              }
            }
          }
        }
      }
    },
    "/api/organization/{orgId}/apis/{apiId}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update organization API configuration",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "API ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "api_name": {
                  "example": "any"
                },
                "base_url": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "custom_headers": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete organization API configuration",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "API ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/organization/{orgId}/apis/{apiId}/test": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Test API connection",
        "description": "",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "Organization ID"
          },
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "API ID"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/api/production/create-production": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "recipe_id": {
                  "example": "any"
                },
                "production_date": {
                  "example": "any"
                },
                "batch_number": {
                  "example": "any"
                },
                "planned_input_qty": {
                  "example": "any"
                },
                "expected_output_qty": {
                  "example": "any"
                },
                "production_notes": {
                  "example": "any"
                },
                "ethanol_qty": {
                  "example": "any"
                },
                "ddgs_qty": {
                  "example": "any"
                },
                "co2_qty": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/production/get-productions": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/production/delete-production/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/production/update-production/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "recipe_id": {
                  "example": "any"
                },
                "production_date": {
                  "example": "any"
                },
                "batch_number": {
                  "example": "any"
                },
                "planned_input_qty": {
                  "example": "any"
                },
                "expected_output_qty": {
                  "example": "any"
                },
                "production_notes": {
                  "example": "any"
                },
                "ethanol_qty": {
                  "example": "any"
                },
                "ddgs_qty": {
                  "example": "any"
                },
                "co2_qty": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/categories": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/categories/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/categories/{id}/items": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "search",
            "in": "query",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "item_code": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "available_stock": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/items/{id}": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "item_code": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "available_stock": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/log": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "entry_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "category_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "category_id": {
                  "example": "any"
                },
                "item_id": {
                  "example": "any"
                },
                "entry_date": {
                  "example": "any"
                },
                "shift_id": {
                  "example": "any"
                },
                "role_id": {
                  "example": "any"
                },
                "employee_id": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/log/{id}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "quantity": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/status-summary/overall": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/status-summary/categories": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/status-summary/shifts": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "entry_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/summary/shift": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "entry_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/summary/item": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/entry-form/items": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "entry_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/current-shift/status": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "current_time",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/missed-shift-entries": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "current_time",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/assignments": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "shift_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "shift_id": {
                  "example": "any"
                },
                "role_id": {
                  "example": "any"
                },
                "category_id": {
                  "example": "any"
                },
                "item_id": {
                  "example": "any"
                },
                "is_mandatory": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/assignments/{id}": {
      "delete": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/alerts": {
      "get": {
        "description": "",
        "parameters": [
          {
            "name": "role_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "admin",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/alerts/generate": {
      "post": {
        "description": "",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "shift_id": {
                  "example": "any"
                },
                "entry_date": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/alerts/{id}/resolve": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/categories/{categoryId}/items/{itemId}": {
      "put": {
        "description": "",
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "example": "any"
                },
                "uom": {
                  "example": "any"
                },
                "item_code": {
                  "example": "any"
                },
                "description": {
                  "example": "any"
                },
                "status": {
                  "example": "any"
                },
                "quantity": {
                  "example": "any"
                },
                "available_stock": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/consume/{itemId}": {
      "put": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Update stock after consumption",
        "description": "Reduces stock when items are consumed",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "integer"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "quantity": {
                  "type": "number",
                  "example": 10
                },
                "consumption_id": {
                  "type": "number",
                  "example": 1
                },
                "shift_id": {
                  "type": "number",
                  "example": 1
                },
                "remarks": {
                  "type": "string",
                  "example": "Morning shift consumption"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/add/{itemId}": {
      "put": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Add stock to inventory",
        "description": "Increases stock when new items are purchased",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "quantity": {
                  "example": "any"
                },
                "reference_id": {
                  "example": "any"
                },
                "reference_type": {
                  "example": "any"
                },
                "remarks": {
                  "example": "any"
                },
                "unit_price": {
                  "example": "any"
                },
                "vendor_name": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/transactions/{itemId}": {
      "get": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Get stock transaction history",
        "description": "Returns all stock movements for a specific item",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "type": "string"
          },
          {
            "name": "transaction_type",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/summary": {
      "get": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Get stock summary",
        "description": "Returns current stock levels for all items",
        "parameters": [
          {
            "name": "category_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/minimum/{itemId}": {
      "put": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Update minimum stock level",
        "description": "Sets the minimum stock threshold for alerts",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "minimum_stock": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/low-stock": {
      "get": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Get low stock items",
        "description": "Returns items that are below minimum stock level",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/alerts": {
      "get": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Get stock alerts",
        "description": "Returns unresolved stock alerts",
        "parameters": [
          {
            "name": "resolved",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/alerts/{alertId}/resolve": {
      "put": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Resolve stock alert",
        "description": "Marks a stock alert as resolved",
        "parameters": [
          {
            "name": "alertId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/bulk-update": {
      "post": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Bulk update stock",
        "description": "Updates stock for multiple items at once",
        "parameters": [
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "updates": {
                  "example": "any"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/daily-consumption/stock/movement-report": {
      "get": {
        "tags": [
          "Stock Management"
        ],
        "summary": "Get stock movement report",
        "description": "Returns stock movement report for date range",
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "type": "string"
          },
          {
            "name": "item_id",
            "in": "query",
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "header",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  }
}