{
    "openapi": "3.0.0",
    "info": {
        "title": "HR Management API",
        "description": "API documentation for HR Management System",
        "version": "1.0.0"
    },
    "paths": {
        "/api/v1/admin/me": {
            "get": {
                "tags": [
                    "Admin / Me"
                ],
                "summary": "Get Me",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admin": {
            "put": {
                "tags": [
                    "Admin / Me"
                ],
                "summary": "Update My Admin Profile",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "contact_email",
                                    "firstname",
                                    "lastname",
                                    "phone"
                                ],
                                "properties": {
                                    "contact_email": {
                                        "type": "string"
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/change-password": {
            "post": {
                "tags": [
                    "Admin / Me"
                ],
                "summary": "Change Password",
                "operationId": "c73e099c694186272551e3633d81d37b",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password",
                                    "confirm_password",
                                    "old_password"
                                ],
                                "properties": {
                                    "password": {
                                        "type": "string"
                                    },
                                    "confirm_password": {
                                        "type": "string"
                                    },
                                    "old_password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins": {
            "get": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Get List Admins",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "admin_created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins/{id}": {
            "get": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Get Admin",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Delete Admin",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admin/upgrade/{id}": {
            "post": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Upgrade Admin",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "contact_email",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "is_active",
                                    "company_access_mode"
                                ],
                                "properties": {
                                    "contact_email": {
                                        "type": "string"
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "company_access_mode": {
                                        "type": "string"
                                    },
                                    "company_accesses": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "roles": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admin/{id}": {
            "put": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Update Admin",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "contact_email",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "is_active",
                                    "company_access_mode"
                                ],
                                "properties": {
                                    "contact_email": {
                                        "type": "string"
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "company_access_mode": {
                                        "type": "string"
                                    },
                                    "company_accesses": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "roles": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admin/{id}/reset-password": {
            "post": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Reset Password Admin",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password"
                                ],
                                "properties": {
                                    "password": {
                                        "type": "string"
                                    },
                                    "non_revoke": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/admins": {
            "get": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Get List Admins (for Public)",
                "operationId": "b3e00f8ae861ab7a0bd07be86d1b3607",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "admin_created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/administrative-units/provinces": {
            "get": {
                "tags": [
                    "Admin / Administrative Unit"
                ],
                "summary": "Get List Provinces (for Public)",
                "operationId": "e22df6dd2daca3f6610c8025b6c70aa6",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/administrative-units/districts": {
            "get": {
                "tags": [
                    "Admin / Administrative Unit"
                ],
                "summary": "Get List Districts (for Public)",
                "operationId": "94f1bf77cc35eff99179e69cca5721c5",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "province_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/administrative-units/wards": {
            "get": {
                "tags": [
                    "Admin / Administrative Unit"
                ],
                "summary": "Get List Wards (for Public)",
                "operationId": "0ff5c121ffc4044befa5d83f093de9d1",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "province_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "district_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/companies": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get List Companies",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Create New Company",
                "operationId": "f4886a422e581bef884e805da31c99de",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "employee_code_prefix"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "image_url": {
                                        "type": "string"
                                    },
                                    "employee_code_prefix": {
                                        "type": "string"
                                    },
                                    "contact_email": {
                                        "type": "string"
                                    },
                                    "contact_phone": {
                                        "type": "string"
                                    },
                                    "address": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "street": {
                                                    "type": "string"
                                                },
                                                "ward": {
                                                    "type": "string"
                                                },
                                                "province": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/companies/{id}": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get Company",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Update Company",
                "operationId": "987190896f30cb10e254b4dcdd989424",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "employee_code_prefix"
                                ],
                                "properties": {
                                    "leader_id": {
                                        "type": "number"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "image_url": {
                                        "type": "string"
                                    },
                                    "employee_code_prefix": {
                                        "type": "string"
                                    },
                                    "contact_email": {
                                        "type": "string"
                                    },
                                    "contact_phone": {
                                        "type": "string"
                                    },
                                    "address": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "street": {
                                                    "type": "string"
                                                },
                                                "ward": {
                                                    "type": "string"
                                                },
                                                "province": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Delete Company",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/companies/{id}/settings": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get List Company Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Update Company Settings",
                "operationId": "3a5c98e199e03d23afa90122ca2ecb90",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "items"
                                ],
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "content": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/companies/{id}/settings/{key}": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get Company Setting",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Company Setting Key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/companies": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get List Companies (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/companies/{id}/settings": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get List Company Settings (for Public)",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/companies/settings/{key}": {
            "get": {
                "tags": [
                    "Admin / Company"
                ],
                "summary": "Get List Company Settings (for Public)",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Company Setting Key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contracts": {
            "get": {
                "tags": [
                    "Admin / Contract"
                ],
                "summary": "Get List Contracts",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "statuses",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "is_addendum",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "max_remaining_days",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Contract"
                ],
                "summary": "Create New Contract",
                "operationId": "0fe041018409309bb6275aef6b3d5532",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "accounts",
                                    "contract_type_id"
                                ],
                                "properties": {
                                    "contract_type_id": {
                                        "type": "number"
                                    },
                                    "is_addendum": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "is_digital_signature": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "effective_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "parent_contract_type_id": {
                                        "type": "number"
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/contracts": {
            "get": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Get List Employee Contracts",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "statuses",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "is_addendum",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "max_remaining_days",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Create New Employee Contract",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "no",
                                    "contract_type_id",
                                    "is_digital_signature",
                                    "is_addendum"
                                ],
                                "properties": {
                                    "no": {
                                        "type": "string"
                                    },
                                    "contract_type_id": {
                                        "type": "number"
                                    },
                                    "parent_id": {
                                        "type": "number"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "contract_term": {
                                        "type": "string",
                                        "enum": [
                                            "fixed",
                                            "indefinite"
                                        ]
                                    },
                                    "is_digital_signature": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_addendum": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "effective_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/contracts/{contractId}": {
            "get": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Get Employee Contract",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "contractId",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Update Employee Contract",
                "operationId": "ddea8ed1e7bc111758271449c7c7bb06",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "contractId",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "no": {
                                        "type": "string"
                                    },
                                    "effective_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "preview": {
                                        "type": "string"
                                    },
                                    "template": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "signing_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "liquidation_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "is_digital_signature": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "overriding_fields": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "code": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "string"
                                                },
                                                "parent_code": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Delete Employee Contract",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "contractId",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/contracts/{contractId}/preview": {
            "post": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Preview Employee Contract",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "contractId",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "template": {
                                        "type": "string"
                                    },
                                    "overriding_fields": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "code": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "string"
                                                },
                                                "parent_code": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/contracts/{contractId}/refresh": {
            "post": {
                "tags": [
                    "Admin / Employee Contract"
                ],
                "summary": "Refresh Employee Contract",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "contractId",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/contracts": {
            "get": {
                "tags": [
                    "Admin / Contract"
                ],
                "summary": "Get List Contracts (for Public)",
                "operationId": "e047e33e64b4cc66fc7dbf1d6cbe946c",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "is_labor_contract",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/contracts/no-generate": {
            "post": {
                "tags": [
                    "Admin / Contract"
                ],
                "summary": "Generate Contract No (for Public)",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "account_id",
                                    "contract_type_id"
                                ],
                                "properties": {
                                    "account_id": {
                                        "type": "number"
                                    },
                                    "contract_type_id": {
                                        "type": "number"
                                    },
                                    "is_addendum": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "parent_id": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/contracts/no-fields": {
            "get": {
                "tags": [
                    "Admin / Contract"
                ],
                "summary": "Get List Contracts No Fields (for Public)",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contract-types": {
            "get": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Get List Contract Types",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "with_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "text_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "text_types",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Create New Contract Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code",
                                    "is_active"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "text_type": {
                                        "type": "string",
                                        "enum": [
                                            "appendix",
                                            "labor_contract",
                                            "other"
                                        ]
                                    },
                                    "template": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contract-types/{id}": {
            "get": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Get Contract Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Update Contract Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "text_type",
                                    "code",
                                    "is_active"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "text_type": {
                                        "type": "string",
                                        "enum": [
                                            "appendix",
                                            "labor_contract",
                                            "other"
                                        ]
                                    },
                                    "template": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Delete Contract Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contract-types/{id}/preview": {
            "post": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Preview Contract Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "template": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/contract-types": {
            "get": {
                "tags": [
                    "Admin / Contract Type"
                ],
                "summary": "Get List Contract Types (for Public)",
                "operationId": "ab7f5a59fa34af410da1f7fc2e0c5262",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "with_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "text_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "text_types",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/dashboard/summary-employee": {
            "get": {
                "tags": [
                    "Admin / Dashboard"
                ],
                "summary": "Get summary employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/dashboard/summary-leave-request": {
            "get": {
                "tags": [
                    "Admin / Dashboard"
                ],
                "summary": "Get summary leave request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/dashboard/current-menu": {
            "get": {
                "tags": [
                    "Admin / Dashboard"
                ],
                "summary": "Get current lunch menu",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/dashboard/activities": {
            "get": {
                "tags": [
                    "Admin / Dashboard"
                ],
                "summary": "Get activity logs",
                "operationId": "cd6c1927ddb4a1ab65c73757abd4fc3f",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments": {
            "get": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Get List Departments",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Create New Department",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "company_id"
                                ],
                                "properties": {
                                    "leader_id": {
                                        "type": "integer"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "integer"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments/{id}": {
            "get": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Get Department",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Update Department",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "leader_id": {
                                        "type": "integer"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Delete Department",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/departments": {
            "get": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Get List Departments (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/documents": {
            "get": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Get List Documents",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_pinned",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_expired",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "document_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "expired_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "expired_at",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Create New Document",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "document_type_id",
                                    "file",
                                    "is_pinned",
                                    "status"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "document_type_id": {
                                        "type": "number"
                                    },
                                    "expired_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "is_pinned": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_sent_notification": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "note": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/documents/{id}": {
            "get": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Get Document",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Update Document",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "document_type_id",
                                    "file",
                                    "is_pinned",
                                    "status",
                                    "is_expired"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "document_type_id": {
                                        "type": "number"
                                    },
                                    "expired_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "is_pinned": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_expired": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "expire_reason": {
                                        "type": "string"
                                    },
                                    "is_sent_notification": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "note": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Delete Document",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/documents/{id}/expire": {
            "put": {
                "tags": [
                    "Admin / Document"
                ],
                "summary": "Expire Document",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_expired"
                                ],
                                "properties": {
                                    "is_expired": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "expire_reason": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/document-types": {
            "get": {
                "tags": [
                    "Admin / Document Type"
                ],
                "summary": "Get List Document Types",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/document-types": {
            "get": {
                "tags": [
                    "Admin / Document Type"
                ],
                "summary": "Get List Document Types (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/email-templates": {
            "get": {
                "tags": [
                    "Admin / Email Template"
                ],
                "summary": "Get List Email Templates",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "sent_at",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/email-templates/{id}": {
            "get": {
                "tags": [
                    "Admin / Email Template"
                ],
                "summary": "Get Email Template",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Email Template ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Email Template"
                ],
                "summary": "Update Email Template",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Email Template ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "content"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get List Employees",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Create New Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "username",
                                    "password",
                                    "is_active",
                                    "positions",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "gender",
                                    "birthday",
                                    "id_card_number"
                                ],
                                "properties": {
                                    "is_manager": {
                                        "type": "number"
                                    },
                                    "username": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "number"
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "gender": {
                                        "type": "string"
                                    },
                                    "birthday": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "birthplace": {
                                        "type": "string"
                                    },
                                    "nickname": {
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "id_card_number": {
                                        "type": "string"
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "date_id_card": {
                                        "type": "string"
                                    },
                                    "place_id_card": {
                                        "type": "string"
                                    },
                                    "front_id_card": {
                                        "type": "string"
                                    },
                                    "back_id_card": {
                                        "type": "string"
                                    },
                                    "id_card_issued_by": {
                                        "type": "string"
                                    },
                                    "hometown": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "permanent_address": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "address": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "postal_code": {
                                        "type": "string"
                                    },
                                    "relative_contact_name": {
                                        "type": "string"
                                    },
                                    "relative_contact_phone": {
                                        "type": "string"
                                    },
                                    "relative_contact_role": {
                                        "type": "string"
                                    },
                                    "marital_status": {
                                        "type": "string"
                                    },
                                    "nation": {
                                        "type": "string"
                                    },
                                    "religion_beliefs": {
                                        "type": "string"
                                    },
                                    "social_network": {
                                        "type": "string"
                                    },
                                    "skype": {
                                        "type": "string"
                                    },
                                    "linked_in": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Update Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_active",
                                    "positions",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "gender",
                                    "birthday",
                                    "id_card_number"
                                ],
                                "properties": {
                                    "is_manager": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "number"
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "gender": {
                                        "type": "string"
                                    },
                                    "birthday": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "birthplace": {
                                        "type": "string"
                                    },
                                    "nickname": {
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "id_card_number": {
                                        "type": "string"
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "date_id_card": {
                                        "type": "string"
                                    },
                                    "place_id_card": {
                                        "type": "string"
                                    },
                                    "front_id_card": {
                                        "type": "string"
                                    },
                                    "back_id_card": {
                                        "type": "string"
                                    },
                                    "id_card_issued_by": {
                                        "type": "string"
                                    },
                                    "hometown": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "permanent_address": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "address": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "postal_code": {
                                        "type": "string"
                                    },
                                    "relative_contact_name": {
                                        "type": "string"
                                    },
                                    "relative_contact_phone": {
                                        "type": "string"
                                    },
                                    "relative_contact_role": {
                                        "type": "string"
                                    },
                                    "marital_status": {
                                        "type": "string"
                                    },
                                    "nation": {
                                        "type": "string"
                                    },
                                    "religion_beliefs": {
                                        "type": "string"
                                    },
                                    "social_network": {
                                        "type": "string"
                                    },
                                    "skype": {
                                        "type": "string"
                                    },
                                    "linked_in": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Delete Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/reset-password": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Reset Password Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password"
                                ],
                                "properties": {
                                    "password": {
                                        "type": "string"
                                    },
                                    "non_revoke": {
                                        "type": "number",
                                        "example": 1
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/update-status": {
            "put": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Update Employee Status",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "status"
                                ],
                                "properties": {
                                    "status": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/verify": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Verify Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/settings": {
            "get": {
                "tags": [
                    "Admin / Employee Setting"
                ],
                "summary": "Get List Employee Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Employee Setting"
                ],
                "summary": "Update Employee Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_join_union": {
                                        "type": "number"
                                    },
                                    "is_join_insurance": {
                                        "type": "number"
                                    },
                                    "salary_rate": {
                                        "type": "number"
                                    },
                                    "monthly_salary_paid_for_compulsory_social_insurance": {
                                        "type": "number"
                                    },
                                    "rate_payment_social_insurance": {
                                        "type": "string"
                                    },
                                    "rate_payment_unemployment_insurance": {
                                        "type": "string"
                                    },
                                    "rate_payment_health_insurance": {
                                        "type": "string"
                                    },
                                    "personal_contract_index": {
                                        "type": "string"
                                    },
                                    "arrival_warnings_mail": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/summary-employee": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Summary Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/timesheets": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Timesheet By Employee",
                "operationId": "0d5ad1538be3f8761288fcd23424c086",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "is_has_overtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_has_off_time",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_adjusted",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "r_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "date"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/annual-leave-reports": {
            "get": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Get List Annual Leave Reports",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/annual-leave-reports/export": {
            "get": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Get Export Annual Leave Reports",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/payslip-items": {
            "get": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Get List Salaries",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/payslip-items/summary": {
            "get": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Get Payslip Items Summary",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/payslip-items/export": {
            "get": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Get Payslip Items Export",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/payslip-items": {
            "get": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Get Payslip Items By Employee",
                "operationId": "6aa0605fbb05211c8a0f2de72c2a82ed",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/manage-payslip-items": {
            "post": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Update Payslip Items By Employee",
                "operationId": "3ee7c08896ccc662dec249a6221d8b16",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "apply_from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "payslip_items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "payslip_item_id": {
                                                    "type": "integer"
                                                },
                                                "value": {
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/check-payslip-items": {
            "post": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Checking payslip items by employee",
                "operationId": "d38c98bd935c64f208d36dadb60df148",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "payslip_items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "payslip_item_id": {
                                                    "type": "integer"
                                                },
                                                "value": {
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/export": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Export employees to CSV",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/update-annual-leave": {
            "put": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Update Employee Annual Leave",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "initial_annual_leave": {
                                        "type": "interger"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/adjust-annual-leave": {
            "put": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Update Adjust Annual Leave",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "enum": [
                                            "remaining_annual_leave",
                                            "old_annual_leave"
                                        ]
                                    },
                                    "value": {
                                        "type": "interger"
                                    },
                                    "note": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/import": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Import employees from file",
                "operationId": "de4449c94f60b33d247909a4ff575c1c",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/update-multi": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Import to update multiple employees",
                "operationId": "3a855dff314bbf52541b21b58d837da5",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/lock": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Lock Employees",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/unlock": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Unlock Employees",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/update-company": {
            "put": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Update Company for Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/update-code": {
            "put": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Update Employee Code",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "srting"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/check-code": {
            "post": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Check Exists Employee Code",
                "operationId": "ff31e90470011ec77b88426703db06f7",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "srting"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/payslip-items/logs": {
            "get": {
                "tags": [
                    "Admin / Employee Salary"
                ],
                "summary": "Get Revision Employee",
                "operationId": "9e8e40a67e6eaec485a1e5b48e6cb5ca",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/annual-leave-report": {
            "get": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Get Report Annual Leave Employee",
                "operationId": "8aab72e2c7c360bcdc508f3d5110e996",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/leave-request-report": {
            "get": {
                "tags": [
                    "Admin / Employee Leave"
                ],
                "summary": "Get Report Leave Request",
                "operationId": "5ef4cc9737ae8fd14c5acc40cc40f7d5",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "year",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/shift-divisions": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Shift Divisions by Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/{id}/progress": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Progress Detail",
                "operationId": "72e54c5feca80f260c42ad5ab7248e04",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employees/export-fields": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get Public Export Fields",
                "operationId": "bd81f165ab3f0c6e868bf222e9230a69",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/employees": {
            "get": {
                "tags": [
                    "Admin / Employee"
                ],
                "summary": "Get List Employee (for Public)",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employee-documents": {
            "get": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Get List Employee Documents",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "kpi",
                                "offboarding"
                            ]
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "evaluated_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "evaluated_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Create New Employee Document",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "account_id",
                                    "file"
                                ],
                                "properties": {
                                    "account_id": {
                                        "type": "number"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string"
                                    },
                                    "evaluated_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "status": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employee-documents/upload": {
            "post": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Upload Employee Document",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "files"
                                ],
                                "properties": {
                                    "files": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "evaluated_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "status": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employee-documents/{id}": {
            "get": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Get Employee Document",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Update Employee Document",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "file": {
                                        "type": "string"
                                    },
                                    "evaluated_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "status": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Employee Document"
                ],
                "summary": "Delete Employee Document",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employee-types": {
            "get": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Get List Employee Types",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Create New Employee Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "tax_id"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "is_join_union": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_join_insurance": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "tax_id": {
                                        "type": "number"
                                    },
                                    "salary_rate": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/employee-types/{id}": {
            "get": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Get Employee Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Update Employee Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "is_join_union": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_join_insurance": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "tax_id": {
                                        "type": "number"
                                    },
                                    "salary_rate": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Delete Employee Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/employee-types": {
            "get": {
                "tags": [
                    "Admin / Employee Type"
                ],
                "summary": "Get List Employee Types (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contract-fields": {
            "get": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Get List Contract Fields",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Create New Contract Field",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/contract-fields/{id}": {
            "get": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Get Contract Field",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract Field ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Update Contract Field",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract Field ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Delete Contract Field",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract Field ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/contract-fields": {
            "get": {
                "tags": [
                    "Admin / Contract Field"
                ],
                "summary": "Get List Contract Fields (for Public)",
                "operationId": "bad8da2c7a80baefc1f93b2b008bc0ab",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "text_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "appendix",
                                "labor_contract",
                                "other"
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/holidays": {
            "get": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Get List Holidays",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Create New Holiday",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "type",
                                    "date",
                                    "work_ratio"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "holiday",
                                            "compensatory_leave_event"
                                        ]
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "times": {
                                        "type": "integer"
                                    },
                                    "repeat": {
                                        "type": "string",
                                        "enum": [
                                            "none",
                                            "day",
                                            "week",
                                            "month",
                                            "year"
                                        ]
                                    },
                                    "repeat_distance": {
                                        "type": "integer"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "applicable": {
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "custom"
                                        ]
                                    },
                                    "companies": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "departments": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "extra": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/holidays/{id}": {
            "get": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Get Holiday",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Holiday ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Update Holiday",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Holiday ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "holiday",
                                            "compensatory_leave_event"
                                        ]
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "times": {
                                        "type": "integer"
                                    },
                                    "repeat": {
                                        "type": "string",
                                        "enum": [
                                            "none",
                                            "day",
                                            "week",
                                            "month",
                                            "year"
                                        ]
                                    },
                                    "repeat_distance": {
                                        "type": "integer"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "applicable": {
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "custom"
                                        ]
                                    },
                                    "companies": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "departments": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "extra": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Delete Holiday",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Holiday ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/holidays": {
            "get": {
                "tags": [
                    "Admin / Holiday"
                ],
                "summary": "Get List Holidays (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/job-descriptions": {
            "get": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Get List Job Descriptions",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "workplace_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Create New Job Description",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "position_id",
                                    "workplace_id",
                                    "working_time"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "handlers": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "position_id": {
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "type": "integer"
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "working_time": {
                                        "type": "string"
                                    },
                                    "experience": {
                                        "type": "string"
                                    },
                                    "min_salary": {
                                        "type": "integer"
                                    },
                                    "max_salary": {
                                        "type": "integer"
                                    },
                                    "apply_via": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "requirements": {
                                        "type": "string"
                                    },
                                    "benefits": {
                                        "type": "string"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date",
                                        "example": "2025-01-01"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/job-descriptions/{id}": {
            "get": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Get Job Description",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Update Job Description",
                "operationId": "a23795b54f89996a105ea3dbd0ba5b26",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "position_id": {
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "type": "integer"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "working_time": {
                                        "type": "string"
                                    },
                                    "experience": {
                                        "type": "string"
                                    },
                                    "min_salary": {
                                        "type": "integer"
                                    },
                                    "max_salary": {
                                        "type": "integer"
                                    },
                                    "apply_via": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "requirements": {
                                        "type": "string"
                                    },
                                    "benefits": {
                                        "type": "string"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date",
                                        "example": "2025-01-01"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Delete Job Description",
                "operationId": "d2e5679009e7be583b79f9baa0b6773d",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/job-descriptions/{id}/confirm": {
            "put": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Confirm Job Description",
                "operationId": "f409023d472e0a17e1f4ef5ec752a8a0",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/job-descriptions/{id}/open": {
            "put": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Open Job Description",
                "operationId": "5491bdfce6f12753ce70a95c27ea3b2a",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/job-descriptions/{id}/close": {
            "put": {
                "tags": [
                    "Admin / Job Description"
                ],
                "summary": "Close Job Description",
                "operationId": "2a6a0bcb91aaea627ad7dc780583e4d3",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-groups": {
            "get": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Get List Leave Groups",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "leave_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Create New Leave Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "from",
                                    "to"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "from": {
                                        "type": "string",
                                        "format": "date-time"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date-time"
                                    },
                                    "time_option": {
                                        "type": "string",
                                        "enum": [
                                            "custom",
                                            "full_time",
                                            "morning",
                                            "afternoon"
                                        ]
                                    },
                                    "leave_type_id": {
                                        "type": "number"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "departments": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-groups/{id}": {
            "get": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Get Leave Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Delete Leave Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-groups/{id}/leave-requests/refresh": {
            "put": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Update Leave Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-groups/{id}/leave-requests": {
            "get": {
                "tags": [
                    "Admin / Leave Group"
                ],
                "summary": "Get List Leave Groups",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-requests": {
            "get": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Get List Leave Requests",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date",
                            "format": "Y-m-d"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date",
                            "format": "Y-m-d"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date",
                            "format": "Y-m-d"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date",
                            "format": "Y-m-d"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "leave_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Create New Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "from",
                                    "to",
                                    "accounts"
                                ],
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-10-01 08:00:00"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-10-01 08:00:00"
                                    },
                                    "reason": {
                                        "type": "string"
                                    },
                                    "time_option": {
                                        "type": "string",
                                        "enum": [
                                            "custom",
                                            "full_time",
                                            "morning",
                                            "afternoon"
                                        ]
                                    },
                                    "leave_type_id": {
                                        "type": "integer"
                                    },
                                    "handlers": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "is_notified": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-requests/{id}": {
            "get": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Get Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Update Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "created",
                                            "approved",
                                            "declined"
                                        ]
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "leave_type_id": {
                                        "type": "integer"
                                    },
                                    "from": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-10-01 08:00:00"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-10-01 08:00:00"
                                    },
                                    "time_option": {
                                        "type": "string",
                                        "enum": [
                                            "custom",
                                            "full_time",
                                            "morning",
                                            "afternoon"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Delete Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-requests/{id}/active": {
            "post": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Active Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-requests/report": {
            "get": {
                "tags": [
                    "Admin / Leave Request"
                ],
                "summary": "Get Report Leave Requests",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-types": {
            "get": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Get List Leave Types",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Create New Leave Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "symbol",
                                    "maximum_date",
                                    "work_ratio",
                                    "used_leave_ratio"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "symbol": {
                                        "type": "string"
                                    },
                                    "maximum_date": {
                                        "type": "number"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "used_leave_ratio": {
                                        "type": "number"
                                    },
                                    "is_used_by_employee": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/leave-types/{id}": {
            "get": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Get Leave Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Update Leave Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "symbol": {
                                        "type": "string"
                                    },
                                    "maximum_date": {
                                        "type": "number"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "used_leave_ratio": {
                                        "type": "number"
                                    },
                                    "is_used_by_employee": {
                                        "type": "integer",
                                        "default": 0,
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Delete Leave Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/leave-types": {
            "get": {
                "tags": [
                    "Admin / Leave Type"
                ],
                "summary": "Get List Leave Types (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/notification-requests": {
            "get": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Get List Notification Requests",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2023-01-01"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2023-01-01"
                        }
                    },
                    {
                        "name": "sent_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2023-01-01"
                        }
                    },
                    {
                        "name": "sent_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2023-01-01"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "sent_at",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Create New Notification Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "status"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    },
                                    "applicable": {
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "custom"
                                        ]
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "is_pinned": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "scheduled_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-01-01 00:00:00"
                                    },
                                    "is_send_mail": {
                                        "type": "integer"
                                    },
                                    "is_send_group_mail": {
                                        "type": "integer"
                                    },
                                    "group_mail": {
                                        "type": "string"
                                    },
                                    "group_mail_name": {
                                        "type": "string"
                                    },
                                    "companies": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "notification_requests": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "attachments": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "extra": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/notification-requests/{id}": {
            "get": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Get Notification Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Update Notification Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    },
                                    "applicable": {
                                        "type": "string",
                                        "enum": [
                                            "all",
                                            "custom"
                                        ]
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "is_pinned": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "scheduled_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "example": "2025-01-01 00:00:00"
                                    },
                                    "is_send_mail": {
                                        "type": "integer"
                                    },
                                    "is_send_group_mail": {
                                        "type": "integer"
                                    },
                                    "group_mail": {
                                        "type": "string"
                                    },
                                    "group_mail_name": {
                                        "type": "string"
                                    },
                                    "companies": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "notification_requests": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "positions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "attachments": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "extra": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Delete Notification Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/notification-requests/{id}/revoke": {
            "post": {
                "tags": [
                    "Admin / Notification Request"
                ],
                "summary": "Revoke Notification Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/overtime_requests": {
            "get": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Get List Overtime Requests",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Create New Overtime Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "account_id",
                                    "times"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "account_id": {
                                        "type": "integer"
                                    },
                                    "times": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/overtime_requests/{id}": {
            "get": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Get Overtime Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Update Overtime Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Delete Overtime Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/overtime_requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Cancel Overtime Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/overtime_requests/{id}/accounts": {
            "get": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Get Accounts",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/overtime_requests/summary": {
            "get": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Get Summary",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/overtime_requests": {
            "get": {
                "tags": [
                    "Admin / Overtime Request"
                ],
                "summary": "Get List Overtime Requests (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Get List Payrolls",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "payroll_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_auto_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_non_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_unpaid_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_overtime_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee_name",
                                "workday"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Create New Payroll",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "payroll_request_id",
                                    "account_id"
                                ],
                                "properties": {
                                    "payroll_request_id": {
                                        "type": "number"
                                    },
                                    "account_id": {
                                        "type": "number"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Get Payroll",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Delete Payroll",
                "operationId": "26e8ab2d53214a7a02d47e5ff61e4552",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/approve": {
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Approve Payroll",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/refresh": {
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Refresh Payroll",
                "operationId": "48da99f11a8edf2ab1317cfbe953afb6",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/items": {
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Add Payslip Item To Payroll",
                "operationId": "d5b6d62ed59395834d01708707c03caf",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "value"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "property_option": {
                                        "type": "string",
                                        "enum": [
                                            "before_tax",
                                            "after_tax"
                                        ]
                                    },
                                    "value": {
                                        "type": "number"
                                    },
                                    "is_bonus": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/manage-payslip-items": {
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Manage Payslip Items",
                "operationId": "c11f5851af6425c0a78e3c2d7d76a170",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "is_bonus": {
                                                    "type": "integer",
                                                    "enum": [
                                                        0,
                                                        1
                                                    ]
                                                },
                                                "property_option": {
                                                    "type": "string",
                                                    "enum": [
                                                        "before_tax",
                                                        "after_tax"
                                                    ]
                                                },
                                                "value": {
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/manage-payslip-items/with-cash": {
            "post": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Manage Payslip Items With Cash",
                "operationId": "6389751518154c8a4cb049d88d38c1c4",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/items/{itemId}": {
            "put": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Update Payslip Item",
                "operationId": "b306ba6f4a9a04b624a5b63dcb3f4667",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Payroll Item ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "value": {
                                        "type": "number"
                                    },
                                    "property_option": {
                                        "type": "string",
                                        "enum": [
                                            "before_tax",
                                            "after_tax"
                                        ]
                                    },
                                    "is_bonus": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "name": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments/{id}/items/{itemId}": {
            "delete": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Delete Payroll Item",
                "operationId": "e27a8e91065ff86d21c6a088d90779ce",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Payroll Item ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/summary": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Get Summary Payroll",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "payroll_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_auto_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_non_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_unpaid_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_overtime_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee_name",
                                "workday"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/export": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Export Payroll",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "payroll_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_auto_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_non_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_unpaid_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_overtime_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee_name",
                                "workday"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/export/with-cash": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Export Payroll With Cash",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "payroll_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_auto_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_non_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_unpaid_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_overtime_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee_name",
                                "workday"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/with-cash": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Get List Payroll With Cash",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "payroll_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_private_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_auto_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_non_attendance_employee",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_unpaid_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_overtime_workday",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee_name",
                                "workday"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/{id}/with-cash": {
            "get": {
                "tags": [
                    "Admin / Payroll"
                ],
                "summary": "Get Detail Payroll With Cash",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/feedback": {
            "get": {
                "tags": [
                    "Admin / Payroll Feedback"
                ],
                "summary": "Get List Payroll Feedbacks",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/feedback/{id}": {
            "get": {
                "tags": [
                    "Admin / Payroll Feedback"
                ],
                "summary": "Get Payroll Feedback",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Feedback ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Payroll Feedback"
                ],
                "summary": "Update Payroll Feedback",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Feedback ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "content": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payroll Feedback"
                ],
                "summary": "Delete Payroll Feedback",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Feedback ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/feedback/{id}/complete": {
            "post": {
                "tags": [
                    "Admin / Payroll Feedback"
                ],
                "summary": "Complete Payroll Feedback",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Feedback ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-period": {
            "get": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Get List Payroll Periods",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-period/{id}": {
            "get": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Get Payroll Period",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Period ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Update Payroll Period",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Period ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "working_days": {
                                        "type": "number"
                                    },
                                    "from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "is_auto_renew": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Delete Payroll Period",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Period ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-period/{id}/complete": {
            "post": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Complete Payroll Period",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "working_days": {
                                        "type": "number"
                                    },
                                    "from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "is_auto_renew": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/payrolls/payroll-period": {
            "get": {
                "tags": [
                    "Admin / Payroll Period"
                ],
                "summary": "Get List Payroll Period (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request": {
            "get": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Get List Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "period_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "period_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                "0"
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                "0"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Create New Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "payroll_period_id"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "payroll_period_id": {
                                        "type": "integer"
                                    },
                                    "company_id": {
                                        "type": "integer"
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}": {
            "get": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Get Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Update Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Delete Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/run": {
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Run Payroll Request",
                "operationId": "c01d8e0b72e73e4d36231fba26b117ae",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/finish-step": {
            "put": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Finish Payroll Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "approved",
                                            "completed"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/account-ids": {
            "get": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Get Account Ids",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/add-item": {
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Add Payslip Item To Payroll",
                "operationId": "14c2da7d2e13c4be7d513115a71f91da",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "value"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "property_option": {
                                        "type": "string",
                                        "enum": [
                                            "before_tax",
                                            "after_tax"
                                        ]
                                    },
                                    "value": {
                                        "type": "string"
                                    },
                                    "is_bonus": {
                                        "type": "integer",
                                        "enum": [
                                            "0",
                                            "1"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/add-item/with-cash": {
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Add Payslip Item To Payroll With Cash",
                "operationId": "c46f5f0f21aec8a3ec3c4f6edce30973",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "value"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/import-items/with-cash": {
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Import Payslip With Cash Items",
                "operationId": "92f7906a46997aa4dd2da63df879d70a",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payrolls/payroll-request/{id}/import-items": {
            "post": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Import Payslip Items",
                "operationId": "1a0e4826eac38f77680400fe61fafea4",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/payrolls/payroll-request": {
            "get": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Get List Payroll Request (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "period_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "period_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                "0"
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                "0"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/payrolls/payroll-request/no-fields": {
            "get": {
                "tags": [
                    "Admin / Payroll Request"
                ],
                "summary": "Get List No Fields (for Public)",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payslip-items": {
            "get": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Get List Payslip Items",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "except_codes",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "to",
                                "order",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Create New Payslip Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "property",
                                    "property_option"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "property": {
                                        "type": "string",
                                        "enum": [
                                            "income",
                                            "withholding",
                                            "deduction"
                                        ]
                                    },
                                    "property_option": {
                                        "type": "string"
                                    },
                                    "tax_id": {
                                        "type": "integer"
                                    },
                                    "value": {
                                        "type": "number"
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "order": {
                                        "type": "integer"
                                    },
                                    "is_allowance": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_default": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_editable": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_with_salary_rate": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payslip-items/{id}": {
            "get": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Get Payslip Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payslip Item ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Update Payslip Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payslip Item ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "property": {
                                        "type": "string",
                                        "enum": [
                                            "income",
                                            "withholding",
                                            "deduction"
                                        ]
                                    },
                                    "property_option": {
                                        "type": "string"
                                    },
                                    "tax_id": {
                                        "type": "integer"
                                    },
                                    "value": {
                                        "type": "number"
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "order": {
                                        "type": "integer"
                                    },
                                    "is_allowance": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_default": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_editable": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_with_salary_rate": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Delete Payslip Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payslip Item ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/payslip-items": {
            "get": {
                "tags": [
                    "Admin / Payslip Item"
                ],
                "summary": "Get List Payslip Items (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "except_codes",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "to",
                                "order",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/permissions": {
            "get": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Get List Permissions",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/permissions/{id}": {
            "get": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Get Permission",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Permission ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Update Permission",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Permission ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "display_name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/permissions": {
            "get": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Get List Permissions (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/permissions/groups": {
            "get": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Get List Permission Groups (for Public)",
                "operationId": "30e51f45b02e816bd7d2465056ab12c4",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/positions": {
            "get": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Get List Positions",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Create New Position",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "department_id"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/positions/{id}": {
            "get": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Get Position",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Position ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Update Position",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Position ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Delete Position",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Position ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/positions": {
            "get": {
                "tags": [
                    "Admin / Position"
                ],
                "summary": "Get List Positions (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/reports/employee-timesheet": {
            "get": {
                "tags": [
                    "Admin / Report"
                ],
                "summary": "Get Employee Timesheet",
                "operationId": "443fc085e29fbfd41ebef1ddb8724d9a",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "month_year",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2025-01"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/reports/employee-overview": {
            "get": {
                "tags": [
                    "Admin / Report"
                ],
                "summary": "Get Employee Overview",
                "operationId": "53b23fbfd14a908556701951d82a8cb1",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "report_types",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "company",
                                    "gender",
                                    "employee_type",
                                    "department",
                                    "position",
                                    "age",
                                    "experience"
                                ]
                            }
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/reports/employee-turnover": {
            "get": {
                "tags": [
                    "Admin / Report"
                ],
                "summary": "Get Employee Turnover",
                "operationId": "5d95d42baf6beaae115fa61f7ee29d87",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "report_types",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "company",
                                    "gender",
                                    "employee_type",
                                    "department",
                                    "position",
                                    "age",
                                    "experience"
                                ]
                            }
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gb_former_employee",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/reports/payroll-overview": {
            "get": {
                "tags": [
                    "Admin / Report"
                ],
                "summary": "Get Payroll Overview",
                "operationId": "d4041db5be1b7e042e63c3e363f96ae1",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/roles": {
            "get": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Get List Roles",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "level",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Create New Role",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "level"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "number"
                                    },
                                    "permissions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/roles/{id}": {
            "get": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Get Role",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Update Role",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "number"
                                    },
                                    "permissions": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Delete Role",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/roles": {
            "get": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Get List Roles (for Public)",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "level",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "groups",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "keys",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings/{key}": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get Setting",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Setting Key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings/{id}": {
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Update Setting",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Setting ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "content": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings/update-multi": {
            "post": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Update Multi Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "items"
                                ],
                                "properties": {
                                    "is_sync_to_all_companies": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "content": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/settings": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Settings (for Public)",
                "parameters": [
                    {
                        "name": "groups",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "keys",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shifts": {
            "get": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Get List Shifts",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Create New Shift",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code",
                                    "come_at",
                                    "leave_at"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "come_at": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "08:00:00"
                                    },
                                    "leave_at": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "08:00:00"
                                    },
                                    "through_day": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ],
                                        "example": 0
                                    },
                                    "break_time_begins": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "12:00:00"
                                    },
                                    "break_time_end": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "12:00:00"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ],
                                        "example": 1
                                    },
                                    "mode": {
                                        "type": "string",
                                        "enum": [
                                            "fixed",
                                            "split"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shifts/{id}": {
            "get": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Get Shift",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Update Shift",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "come_at": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "08:00:00"
                                    },
                                    "leave_at": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "08:00:00"
                                    },
                                    "through_day": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "break_time_begins": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "12:00:00"
                                    },
                                    "break_time_end": {
                                        "type": "string",
                                        "format": "time",
                                        "example": "12:00:00"
                                    },
                                    "work_ratio": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "mode": {
                                        "type": "string",
                                        "enum": [
                                            "fixed",
                                            "split"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Delete Shift",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/shifts": {
            "get": {
                "tags": [
                    "Admin / Shift"
                ],
                "summary": "Get List Shifts (for Public)",
                "parameters": [
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shift-divisions": {
            "get": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Get List Shift Divisions",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Create New Shift Division",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "shift_id"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "shift_id": {
                                        "type": "number"
                                    },
                                    "company_id": {
                                        "type": "number"
                                    },
                                    "department_id": {
                                        "type": "number"
                                    },
                                    "position_id": {
                                        "type": "number"
                                    },
                                    "applied_days": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "Mon",
                                                "Tue",
                                                "Wed",
                                                "Thu",
                                                "Fri",
                                                "Sat_Even",
                                                "Sat_Odd",
                                                "Sun"
                                            ]
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shift-divisions/{id}": {
            "get": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Get Shift Division",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Update Shift Division",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "applied_days": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "Mon",
                                                "Tue",
                                                "Wed",
                                                "Thu",
                                                "Fri",
                                                "Sat_Even",
                                                "Sat_Odd",
                                                "Sun"
                                            ]
                                        }
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Delete Shift Division",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shift-divisions/{id}/approve": {
            "post": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Approve Shift Division",
                "operationId": "387e890b5a7a55b0ce24bea3db5c489c",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shift-divisions/{id}/accounts": {
            "get": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Get Accounts",
                "operationId": "97ad058b2c79263fac01b45544d82296",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Add Account To Shift Division",
                "operationId": "659580c126ab93c9307fc28a792b3c32",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_apply_all": {
                                        "type": "integer"
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/shift-divisions/{id}/accounts/{accountId}": {
            "delete": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Remove Account From Shift Division",
                "operationId": "0d56fdd34ff4830985a42f48fd4b9537",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shift Division ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "accountId",
                        "in": "path",
                        "description": "Account ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/shift-divisions": {
            "get": {
                "tags": [
                    "Admin / Shift Division"
                ],
                "summary": "Get List Shift Divisions (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "valid_for_account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/taxes": {
            "get": {
                "tags": [
                    "Admin / Tax"
                ],
                "summary": "Get List Taxs",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "groups",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "to",
                                "over",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/taxes": {
            "get": {
                "tags": [
                    "Admin / Tax"
                ],
                "summary": "Get List Taxs (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "groups",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "to",
                                "over",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/tax-rates": {
            "get": {
                "tags": [
                    "Admin / Tax Rate"
                ],
                "summary": "Get List Tax Rates",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Tax Rate"
                ],
                "summary": "Create New Tax Rate",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "value",
                                    "pre_amount"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "over": {
                                        "type": "number"
                                    },
                                    "to": {
                                        "type": "number"
                                    },
                                    "value": {
                                        "type": "number"
                                    },
                                    "pre_amount": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/tax-rates/{id}": {
            "put": {
                "tags": [
                    "Admin / Tax Rate"
                ],
                "summary": "Update Tax Rate",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Tax Rate ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "over": {
                                        "type": "number"
                                    },
                                    "to": {
                                        "type": "number"
                                    },
                                    "value": {
                                        "type": "number"
                                    },
                                    "pre_amount": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Tax Rate"
                ],
                "summary": "Delete Tax Rate",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Tax Rate ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/tax-rates": {
            "get": {
                "tags": [
                    "Admin / Tax Rate"
                ],
                "summary": "Get List Tax Rates (for Public)",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name",
                                "to",
                                "over",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeepers": {
            "get": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Get List Timekeepers",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Create New Timekeeper",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "branch_alias": {
                                        "type": "string",
                                        "enum": [
                                            "alpeta"
                                        ]
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "api_url": {
                                        "type": "string"
                                    },
                                    "api_key_1": {
                                        "type": "string"
                                    },
                                    "api_key_2": {
                                        "type": "string"
                                    },
                                    "api_key_3": {
                                        "type": "string"
                                    },
                                    "api_key_4": {
                                        "type": "string"
                                    },
                                    "api_key_5": {
                                        "type": "string"
                                    },
                                    "is_daily_mode": {
                                        "type": "integer"
                                    },
                                    "mapping_columns": {
                                        "properties": {
                                            "employee_code": {
                                                "type": "string"
                                            },
                                            "employee_name": {
                                                "type": "string"
                                            },
                                            "date": {
                                                "type": "string"
                                            },
                                            "come_at": {
                                                "type": "string"
                                            },
                                            "leave_at": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "format_date": {
                                        "type": "string"
                                    },
                                    "format_time": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeepers/{id}": {
            "get": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Get Timekeeper",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeper ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Update Timekeeper",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeper ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "api_url": {
                                        "type": "string"
                                    },
                                    "api_key_1": {
                                        "type": "string"
                                    },
                                    "api_key_2": {
                                        "type": "string"
                                    },
                                    "api_key_3": {
                                        "type": "string"
                                    },
                                    "api_key_4": {
                                        "type": "string"
                                    },
                                    "api_key_5": {
                                        "type": "string"
                                    },
                                    "is_daily_mode": {
                                        "type": "integer"
                                    },
                                    "mapping_columns": {
                                        "properties": {
                                            "employee_code": {
                                                "type": "string"
                                            },
                                            "employee_name": {
                                                "type": "string"
                                            },
                                            "date": {
                                                "type": "string"
                                            },
                                            "come_at": {
                                                "type": "string"
                                            },
                                            "leave_at": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "format_date": {
                                        "type": "string"
                                    },
                                    "format_time": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Delete Timekeeper",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeper ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/timekeepers": {
            "get": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Get List Timekeepers (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/timekeepers/mapping-columns": {
            "get": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Get Mapping Columns (for Public)",
                "operationId": "cab74e7f8c3e49726b7bd6087c22cd87",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/timekeepers/branches": {
            "get": {
                "tags": [
                    "Admin / Timekeeper"
                ],
                "summary": "Get Branches (for Public)",
                "operationId": "cd08bbc9e7f13e53b4365bf95db8303c",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get List Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Create New Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "timekeeper_id",
                                    "company_id"
                                ],
                                "properties": {
                                    "note": {
                                        "type": "string"
                                    },
                                    "mode": {
                                        "type": "string"
                                    },
                                    "company_id": {
                                        "type": "integer"
                                    },
                                    "timekeeper_id": {
                                        "type": "integer"
                                    },
                                    "import_at": {
                                        "type": "string",
                                        "format": "date-time"
                                    },
                                    "auto_import_from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "auto_import_to": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Update Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "note": {
                                        "type": "string"
                                    },
                                    "auto_import_from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "auto_import_to": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Delete Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}/finish-step": {
            "put": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Finish Step Timekeeping Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "status"
                                ],
                                "properties": {
                                    "status": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}/summary": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get Summary",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}/leave-requests/summary": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get Summary Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}/leave-requests": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get Leave Requests",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timekeeping Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "late_approval",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timekeeping-requests/{id}/leave-requests/{processLeaveRequest}/handle": {
            "post": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Handle Process Leave Request",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/timekeeping-requests": {
            "get": {
                "tags": [
                    "Admin / Timekeeping Request"
                ],
                "summary": "Get List Timekeeping Request (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets": {
            "get": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Get List Timesheets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_has_error",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_has_overtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_has_off_time",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_adjusted",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "timekeeping_request_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "r_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "date"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Create New Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "account_id",
                                    "shift_id",
                                    "timekeeping_request_id"
                                ],
                                "properties": {
                                    "account_id": {
                                        "type": "integer"
                                    },
                                    "shift_id": {
                                        "type": "integer"
                                    },
                                    "timekeeping_request_id": {
                                        "type": "integer"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "come_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "leave_at": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}": {
            "get": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Get Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Delete Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/adjust-input": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Adjust Input Timesheet",
                "operationId": "bde3bbc0a3c59bd87804a34ce93584d2",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "come_at": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "leave_at": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/adjust": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Adjust Timesheet",
                "operationId": "ef33068b6dcbd7cbabb9c565c1f214a3",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "workday": {
                                        "type": "number"
                                    },
                                    "adjust_type": {
                                        "type": "string",
                                        "enum": [
                                            "paid_leave",
                                            "unexcused_leave"
                                        ]
                                    },
                                    "note": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/adjust-overtime": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Adjust Overtime",
                "operationId": "0972d0e9da875352b2f8877b5b6296b4",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "overtime": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/adjust-unexcused-leave-time": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Adjust Unexcused Leave Time",
                "operationId": "7bac7b0a4ceb250a57e5df6652162adc",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "unexcused_leave_time": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/reset": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Reset Timesheet",
                "operationId": "da9f8157a99d2562f9368298441f8291",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/{id}/approve": {
            "put": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Reset Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/import": {
            "post": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Import Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "shift_id",
                                    "timekeeping_request_id"
                                ],
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "shift_id": {
                                        "type": "integer"
                                    },
                                    "timekeeping_request_id": {
                                        "type": "integer"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/run": {
            "post": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Run Timesheets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "timekeeping_request_id"
                                ],
                                "properties": {
                                    "timekeeping_request_id": {
                                        "type": "integer"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/approve": {
            "post": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Approve Timesheets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "timekeeping_request_id"
                                ],
                                "properties": {
                                    "timekeeping_request_id": {
                                        "type": "integer"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/timesheets/delete": {
            "delete": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Delete Timesheet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "timekeeping_request_id"
                                ],
                                "properties": {
                                    "timekeeping_request_id": {
                                        "type": "integer"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/timesheets/no-fields": {
            "get": {
                "tags": [
                    "Admin / Timesheet"
                ],
                "summary": "Get List Timesheet No Fields (for Public)",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/upload": {
            "post": {
                "tags": [
                    "Admin / Upload"
                ],
                "summary": "Upload",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file"
                                ],
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "is_force": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "w": {
                                        "type": "number"
                                    },
                                    "h": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/upload/multi": {
            "post": {
                "tags": [
                    "Admin / Upload"
                ],
                "summary": "Upload Multi",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file"
                                ],
                                "properties": {
                                    "files": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    },
                                    "is_force": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "w": {
                                        "type": "number"
                                    },
                                    "h": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/file": {
            "post": {
                "tags": [
                    "Admin / Upload"
                ],
                "summary": "Upload File",
                "operationId": "9ef5184169fc249348b2e593db8ca910",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file"
                                ],
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/workplaces": {
            "get": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Get List Workplaces",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Create New Workplace",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "full_address"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "full_address": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/workplaces/{id}": {
            "get": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Get Workplace",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Workplace ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Update Workplace",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Workplace ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "full_address": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Delete Workplace",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Workplace ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/workplaces/manage": {
            "post": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Manage Workplace",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "workplaces": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "full_address": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/workplaces": {
            "get": {
                "tags": [
                    "Admin / Workplace"
                ],
                "summary": "Get List Workplaces (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/me": {
            "get": {
                "tags": [
                    "Employee / Me"
                ],
                "summary": "Get Me",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/me/ai": {
            "get": {
                "tags": [
                    "Employee / Me For AI"
                ],
                "summary": "Get Me For AI",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payslip-items": {
            "get": {
                "tags": [
                    "Employee / Me"
                ],
                "summary": "Get Payslip Items",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/profile": {
            "put": {
                "tags": [
                    "Employee / Me"
                ],
                "summary": "Update Profile",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "nickname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "marital_status": {
                                        "type": "string",
                                        "enum": [
                                            "single",
                                            "married"
                                        ]
                                    },
                                    "social_network": {
                                        "type": "string"
                                    },
                                    "skype": {
                                        "type": "string"
                                    },
                                    "linked_in": {
                                        "type": "string"
                                    },
                                    "address": {
                                        "properties": {
                                            "street": {
                                                "type": "string"
                                            },
                                            "ward": {
                                                "type": "string"
                                            },
                                            "province": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "relative_contact_name": {
                                        "type": "string"
                                    },
                                    "relative_contact_phone": {
                                        "type": "string"
                                    },
                                    "relative_contact_role": {
                                        "type": "string"
                                    },
                                    "nation": {
                                        "type": "string"
                                    },
                                    "religion_beliefs": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/change-password": {
            "post": {
                "tags": [
                    "Employee / Me"
                ],
                "summary": "Change Password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password",
                                    "confirm_password",
                                    "old_password"
                                ],
                                "properties": {
                                    "password": {
                                        "type": "string"
                                    },
                                    "confirm_password": {
                                        "type": "string"
                                    },
                                    "old_password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/administrative-units/provinces": {
            "get": {
                "tags": [
                    "Employee / Administrative Unit"
                ],
                "summary": "Get List Provinces (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/administrative-units/wards": {
            "get": {
                "tags": [
                    "Employee / Administrative Unit"
                ],
                "summary": "Get List Wards (for Public)",
                "parameters": [
                    {
                        "name": "province_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/companies": {
            "get": {
                "tags": [
                    "Employee / Company"
                ],
                "summary": "Get List Companies",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/companies/{id}/settings": {
            "get": {
                "tags": [
                    "Employee / Company"
                ],
                "summary": "Get Company Settings",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/companies/{id}/settings/{key}": {
            "get": {
                "tags": [
                    "Employee / Company"
                ],
                "summary": "Get Company Setting By Key",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Company ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Setting Key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/contracts": {
            "get": {
                "tags": [
                    "Employee / Contract"
                ],
                "summary": "Get List Contracts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/contracts/{id}/preview": {
            "get": {
                "tags": [
                    "Employee / Contract"
                ],
                "summary": "Preview Contract",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/contracts/manage/list": {
            "get": {
                "tags": [
                    "Employee / Contract"
                ],
                "summary": "Get My Staff Contracts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/contracts/manage/{id}/preview": {
            "get": {
                "tags": [
                    "Employee / Contract"
                ],
                "summary": "Preview My Staff Contract",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Contract ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/departments": {
            "get": {
                "tags": [
                    "Employee / Department"
                ],
                "summary": "Get List Departments",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/documents": {
            "get": {
                "tags": [
                    "Employee / Document"
                ],
                "summary": "Get List Documents",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_pinned",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "document_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_expired",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "expired_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "expired_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/documents/{id}": {
            "get": {
                "tags": [
                    "Employee / Document"
                ],
                "summary": "Get Document",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Document ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/document-types": {
            "get": {
                "tags": [
                    "Employee / Document Type"
                ],
                "summary": "Get List Document Types",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get List Employees",
                "parameters": [
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_quit_job",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "my_staff",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "lastname",
                                "code"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/manage/list": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get My Employee List",
                "parameters": [
                    {
                        "name": "birthday_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "birthday_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "birthday_month_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "birthday_month_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "join_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "join_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "join_total_years",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_private",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_auto_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_attendance",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_non_shift_division",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_profile_completion",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_quit_job",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "employee_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "employee_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "gender",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "except_shift_division_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            }
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "lastname",
                                "code"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/{id}": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Employee",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/{id}/payslip-items": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Payslip Items By Employee",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/{id}/timesheets": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Timesheets By Employee",
                "operationId": "ad6543e646278c80a9f2b033e1fc8594",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/{id}/timesheets/summary": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Report Timesheets By Employee",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "is_has_overtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_has_off_time",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "date"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/summary-employee": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Report Timesheets By Employee",
                "parameters": [
                    {
                        "name": "my_staff",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employees/{id}/leave-report": {
            "get": {
                "tags": [
                    "Employee / Employee"
                ],
                "summary": "Get Leave Report",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/employee-documents": {
            "get": {
                "tags": [
                    "Employee / Employee Document"
                ],
                "summary": "Get List Employee Documents",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/manage/list": {
            "get": {
                "tags": [
                    "Employee / Employee Document"
                ],
                "summary": "Get My Staff Employee Documents",
                "operationId": "7baea548c6d210a94de5072f64a431c1",
                "parameters": [
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/job-descriptions": {
            "get": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Get List Job Descriptions",
                "parameters": [
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "workplace_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/job-descriptions/{id}": {
            "get": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Get Job Description",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Delete Job Description By Manager",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/job-descriptions/manage": {
            "get": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Get Job Descriptions Assigned List",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "workplace_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Create New Job Description By Manager",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "position_id",
                                    "workplace_id",
                                    "working_time"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "position_id": {
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "type": "integer"
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "working_time": {
                                        "type": "string"
                                    },
                                    "experience": {
                                        "type": "string"
                                    },
                                    "min_salary": {
                                        "type": "integer"
                                    },
                                    "max_salary": {
                                        "type": "integer"
                                    },
                                    "apply_via": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "requirements": {
                                        "type": "string"
                                    },
                                    "benefits": {
                                        "type": "string"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/job-descriptions/manage/{id}": {
            "get": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Get Job Description Assigned",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Update Job Description By Manager",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "position_id": {
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "type": "integer"
                                    },
                                    "workplace_id": {
                                        "type": "integer"
                                    },
                                    "working_time": {
                                        "type": "string"
                                    },
                                    "experience": {
                                        "type": "string"
                                    },
                                    "min_salary": {
                                        "type": "integer"
                                    },
                                    "max_salary": {
                                        "type": "integer"
                                    },
                                    "apply_via": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "requirements": {
                                        "type": "string"
                                    },
                                    "benefits": {
                                        "type": "string"
                                    },
                                    "expiration_date": {
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/job-descriptions/manage/{id}/confirm": {
            "put": {
                "tags": [
                    "Employee / Job Description"
                ],
                "summary": "Update Job Description By Manager",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Job Description ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get List Leave Requests",
                "parameters": [
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "leave_type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Create New Leave Request",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "from",
                                    "to",
                                    "time_option"
                                ],
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "reason": {
                                        "type": "string"
                                    },
                                    "leave_type_id": {
                                        "type": "string"
                                    },
                                    "time_option": {
                                        "type": "string",
                                        "enum": [
                                            "custom",
                                            "full_time",
                                            "morning",
                                            "afternoon"
                                        ]
                                    },
                                    "handlers": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/{id}": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get Leave Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Update Leave Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "reason": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "cancelled"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/report": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get Report Leave Request",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/manage/list": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get Assigned Leave Request List",
                "parameters": [
                    {
                        "name": "mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "all",
                                "assigned"
                            ]
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/manage/report": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get Report Assigned Leave Request List",
                "parameters": [
                    {
                        "name": "mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "all",
                                "assigned"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/manage/{id}": {
            "get": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Get Assigned Leave Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "with_account_report",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Handle Assigned Leave Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Leave Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "approved",
                                            "declined",
                                            "cancelled"
                                        ]
                                    },
                                    "note": {
                                        "type": "string"
                                    },
                                    "handlers": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "leave_type_id": {
                                        "type": "integer"
                                    },
                                    "with_account_report": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-requests/manage": {
            "post": {
                "tags": [
                    "Employee / Leave Request"
                ],
                "summary": "Create New Leave Request For Staff",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "from",
                                    "to",
                                    "time_option"
                                ],
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "reason": {
                                        "type": "string"
                                    },
                                    "time_option": {
                                        "type": "string",
                                        "enum": [
                                            "custom",
                                            "full_time",
                                            "morning",
                                            "afternoon"
                                        ]
                                    },
                                    "handlers": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "leave_type_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/leave-types": {
            "get": {
                "tags": [
                    "Employee / Leave Type"
                ],
                "summary": "Get List Leave Types",
                "operationId": "e94333171a66a5ad9d04eb79445b3eb0",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications": {
            "get": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Get List Notifications",
                "parameters": [
                    {
                        "name": "is_pinned",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_starred",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_read",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "created_by_role",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "is_pinned",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications/{id}": {
            "get": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Get Notification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Update Notification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_starred": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications/read-all": {
            "post": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Read All Notifications",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications/{id}/read": {
            "post": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Read Notification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications/{id}/unread": {
            "post": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Unread Notification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/overtime_requests": {
            "get": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Get List Overtime Requests",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Create New Overtime Request",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "from",
                                    "to"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "from": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "to": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/overtime_requests/{id}": {
            "get": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Get Overtime Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Update Overtime Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Delete Overtime Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/overtime_requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Cancel Overtime Request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/overtime_requests/{id}/accounts": {
            "get": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Get Overtime Request Accounts",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Overtime Request ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/overtime_requests/summary": {
            "get": {
                "tags": [
                    "Employee / Overtime Request"
                ],
                "summary": "Get List Overtime Requests",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls": {
            "get": {
                "tags": [
                    "Employee / Payroll"
                ],
                "summary": "Get List Payrolls",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls/{id}": {
            "get": {
                "tags": [
                    "Employee / Payroll"
                ],
                "summary": "Get Payroll",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/notifications/{id}/approve": {
            "post": {
                "tags": [
                    "Employee / Notification"
                ],
                "summary": "Approve Notification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Notification ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls/manage": {
            "get": {
                "tags": [
                    "Employee / Payroll"
                ],
                "summary": "Get List Payrolls By Manager",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls/manage/{id}": {
            "get": {
                "tags": [
                    "Employee / Payroll"
                ],
                "summary": "Get Payroll By Manager",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls/feedback": {
            "get": {
                "tags": [
                    "Employee / Payroll Feedback"
                ],
                "summary": "Get List Payroll Feedbacks",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Employee / Payroll Feedback"
                ],
                "summary": "Create New Payroll Feedback",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "payroll_id"
                                ],
                                "properties": {
                                    "payroll_id": {
                                        "type": "integer"
                                    },
                                    "content": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/payrolls/feedback/{id}": {
            "get": {
                "tags": [
                    "Employee / Payroll Feedback"
                ],
                "summary": "Get Payroll Feedback",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payroll Feedback ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/positions": {
            "get": {
                "tags": [
                    "Employee / Position"
                ],
                "summary": "Get List Positions",
                "parameters": [
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/settings": {
            "get": {
                "tags": [
                    "Employee / Setting"
                ],
                "summary": "Get List Settings",
                "parameters": [
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/settings/{key}": {
            "get": {
                "tags": [
                    "Employee / Setting"
                ],
                "summary": "Get Setting",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Setting Key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/timesheets": {
            "get": {
                "tags": [
                    "Employee / Timesheet"
                ],
                "summary": "Get List Timesheets",
                "parameters": [
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "is_offtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_overtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_recognized_overtime",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "shift_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/timesheets/{id}": {
            "get": {
                "tags": [
                    "Employee / Timesheet"
                ],
                "summary": "Get Timesheet",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/timesheets/report": {
            "get": {
                "tags": [
                    "Employee / Timesheet"
                ],
                "summary": "Get Report Timesheet",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/upload": {
            "post": {
                "tags": [
                    "Employee / Upload"
                ],
                "summary": "Upload",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file"
                                ],
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "is_force": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "w": {
                                        "type": "number"
                                    },
                                    "h": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/upload/multi": {
            "post": {
                "tags": [
                    "Employee / Upload"
                ],
                "summary": "Upload Multi",
                "operationId": "fb2d45a37e934d813a18e394855ec980",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file"
                                ],
                                "properties": {
                                    "files": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    },
                                    "is_force": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "w": {
                                        "type": "number"
                                    },
                                    "h": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/workplaces": {
            "get": {
                "tags": [
                    "Employee / Workplace"
                ],
                "summary": "Get List Workplaces",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Login",
                "parameters": [
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean'"
                        },
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "username",
                                    "password"
                                ],
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "example": "admin@demo.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "password"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "token_type": {
                                            "type": "string",
                                            "example": "Bearer"
                                        },
                                        "expires_in": {
                                            "type": "string",
                                            "example": "31536000"
                                        },
                                        "access_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        },
                                        "refresh_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forget-password": {
            "put": {
                "tags": [
                    "Auth"
                ],
                "summary": "Reset Password",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "password",
                                    "otp"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "example": "email@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "password"
                                    },
                                    "otp": {
                                        "type": "string",
                                        "example": "32434"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                }
            },
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Forget Password",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "example": "email@example.com"
                                    },
                                    "callback_url": {
                                        "type": "string",
                                        "example": "http://localhost:3000"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                }
            }
        },
        "/api/v1/admin/lunch-groups": {
            "get": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Get List Lunch Groups",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created_at",
                                "name"
                            ]
                        },
                        "example": "created_at"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Create Lunch Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "Lunch Group 1"
                                    },
                                    "description": {
                                        "type": "string",
                                        "example": "Description of lunch group"
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "company_id": {
                                        "type": "integer"
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-groups/{id}": {
            "get": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Get Lunch Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Update Lunch Group",
                "operationId": "8a32142e1c9ab6628856b20cea7e1027",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "Updated Lunch Group"
                                    },
                                    "description": {
                                        "type": "string",
                                        "example": "Updated description of lunch group"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Delete Lunch Group",
                "operationId": "13e478dba6ae21ff602bb7198dc5b67a",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-groups/{id}/accounts": {
            "get": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Get Accounts of Lunch Group",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Add Accounts to Lunch Group",
                "operationId": "3224624c05501c127b979ecec859bcca",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "company_id": {
                                        "type": "integer"
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-groups/{id}/accounts/{accountId}": {
            "delete": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Remove Account from Lunch Group",
                "operationId": "8e59051ca3294e47d0dee9102182d37e",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Group ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "accountId",
                        "in": "path",
                        "description": "Account ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/lunch-groups": {
            "get": {
                "tags": [
                    "Admin / Lunch Group"
                ],
                "summary": "Get List Lunch Groups (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created_at",
                                "name"
                            ]
                        },
                        "example": "created_at"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-items": {
            "get": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Get List Lunch Items",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "qs",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created_at",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Create Lunch Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "image_url": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "supplier_name": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-items/{id}": {
            "get": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Get Lunch Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Update Lunch Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "image_url": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "supplier_name": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Delete Lunch Item",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/lunch-items": {
            "get": {
                "tags": [
                    "Admin / Lunch Item"
                ],
                "summary": "Get List Lunch Items (for Public)",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "qs",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created_at",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus": {
            "get": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Get List Lunch Menus",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2025-01-01"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "coming",
                                "available",
                                "completed",
                                "cancelled"
                            ]
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "started_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Create Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "started_at",
                                    "closed_at"
                                ],
                                "properties": {
                                    "started_at": {
                                        "type": "string",
                                        "example": "2024-01-01 12:00:00"
                                    },
                                    "closed_at": {
                                        "type": "string",
                                        "example": "2024-02-01 12:00:00"
                                    },
                                    "display_name": {
                                        "type": "string",
                                        "example": "Lunch Menu 1"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "max_slot": {
                                        "type": "integer",
                                        "maximum": 1000,
                                        "example": 100
                                    },
                                    "ordering_limit": {
                                        "type": "integer",
                                        "maximum": 1000,
                                        "example": 50
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "company_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "custom_items": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "example": "Custom Item 1"
                                        }
                                    },
                                    "group_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus/{id}": {
            "get": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Get Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Update Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "started_at": {
                                        "type": "string",
                                        "example": "2024-01-01 12:00:00"
                                    },
                                    "closed_at": {
                                        "type": "string",
                                        "example": "2024-02-01 12:00:00"
                                    },
                                    "display_name": {
                                        "type": "string",
                                        "example": "Lunch Menu 1"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "max_slot": {
                                        "type": "integer",
                                        "maximum": 1000,
                                        "example": 100
                                    },
                                    "ordering_limit": {
                                        "type": "integer",
                                        "maximum": 1000,
                                        "example": 50
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Delete Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Menu ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus/{id}/cancel": {
            "post": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Cancel Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus/{id}/accounts": {
            "get": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Get Accounts of Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Add Accounts to Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "group_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus/{id}/accounts/{accountId}": {
            "delete": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Remove Account from Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "accountId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-menus/{id}/account-ids": {
            "get": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Get Account IDs from Lunch Menu",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-menus/current": {
            "get": {
                "tags": [
                    "Employee / Lunch Menu"
                ],
                "summary": "Get Current Lunch Menu",
                "parameters": [
                    {
                        "name": "alias",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-menus/latest": {
            "get": {
                "tags": [
                    "Employee / Lunch Menu"
                ],
                "summary": "Get Latest Lunch Menu",
                "parameters": [
                    {
                        "name": "alias",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-menus/{id}/report": {
            "get": {
                "tags": [
                    "Employee / Lunch Menu"
                ],
                "summary": "Report a menu by order",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-menus/{id}/check": {
            "get": {
                "tags": [
                    "Employee / Lunch Menu"
                ],
                "summary": "Check my activity on a menu",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-menus/{id}/execute-random": {
            "post": {
                "tags": [
                    "Employee / Lunch Menu"
                ],
                "summary": "Count random on a menu",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/lunch-menus": {
            "get": {
                "tags": [
                    "Admin / Lunch Menu"
                ],
                "summary": "Get List Lunch Menus (for Public)",
                "parameters": [
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2025-01-01"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "coming",
                                "available"
                            ]
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "started_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-orders": {
            "get": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Get List Lunch Orders",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "booking_menu_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "range",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Create Lunch Order",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "item_id",
                                    "booking_menu_id"
                                ],
                                "properties": {
                                    "item_id": {
                                        "type": "integer"
                                    },
                                    "booking_menu_id": {
                                        "type": "integer"
                                    },
                                    "note": {
                                        "type": "string",
                                        "example": "No spicy"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-orders/{id}": {
            "get": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Get My Lunch Order",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Update My Lunch Order",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "item_id"
                                ],
                                "properties": {
                                    "item_id": {
                                        "type": "integer"
                                    },
                                    "note": {
                                        "type": "string",
                                        "example": "No spicy"
                                    },
                                    "is_active": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-orders/{id}/check": {
            "get": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Check Reorders Count",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Lunch Order ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-orders/latest": {
            "get": {
                "tags": [
                    "Employee / Lunch Order"
                ],
                "summary": "Get My Latest Lunch Order",
                "parameters": [
                    {
                        "name": "alias",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-orders": {
            "get": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Get List Lunch Orders",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "booking_menu_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "range",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Create Lunch Order",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "item_id",
                                    "booking_menu_id",
                                    "account_id"
                                ],
                                "properties": {
                                    "item_id": {
                                        "type": "integer"
                                    },
                                    "booking_menu_id": {
                                        "type": "integer"
                                    },
                                    "note": {
                                        "type": "string",
                                        "example": "No spicy"
                                    },
                                    "account_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-orders/{id}": {
            "get": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Get Lunch Order",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Update Lunch Order",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "item_id": {
                                        "type": "integer"
                                    },
                                    "note": {
                                        "type": "string",
                                        "example": "No spicy"
                                    },
                                    "is_active": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Delete Lunch Order",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-orders/{id}/mark-unused": {
            "put": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Mark Lunch Order as Unused",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-orders/export": {
            "get": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Export Lunch Orders",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-orders/report": {
            "get": {
                "tags": [
                    "Admin / Lunch Order"
                ],
                "summary": "Report Lunch Orders",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-settings": {
            "get": {
                "tags": [
                    "Admin / Lunch Setting"
                ],
                "summary": "Get List Lunch Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-settings/list": {
            "put": {
                "tags": [
                    "Admin / Lunch Setting"
                ],
                "summary": "Update Lunch Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "fine_amount": {
                                        "type": "number",
                                        "format": "float"
                                    },
                                    "max_reorder": {
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "max_random": {
                                        "type": "integer",
                                        "example": 3
                                    },
                                    "earlier_hours_to_repeat_menu": {
                                        "type": "number",
                                        "format": "float",
                                        "example": 24
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/lunch-settings": {
            "get": {
                "tags": [
                    "Admin / Lunch Setting"
                ],
                "summary": "Get List Lunch Settings (for Public)",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/lunch-settings": {
            "get": {
                "tags": [
                    "Employee / Lunch Setting"
                ],
                "summary": "Get List Lunch Settings",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-types": {
            "get": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Get List Lunch Types",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Create Lunch Type",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "alias",
                                    "display_name"
                                ],
                                "properties": {
                                    "alias": {
                                        "type": "string",
                                        "example": "vegan"
                                    },
                                    "display_name": {
                                        "type": "string",
                                        "example": "Vegan"
                                    },
                                    "description": {
                                        "type": "string",
                                        "example": "Vegan lunch type"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/lunch-types/{id}": {
            "get": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Get Single Lunch Type",
                "operationId": "93c7212d2759276739f252ab031c581e",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Update Lunch Type",
                "operationId": "7b6bfe8f98f1050d73ff8b8e71237c7c",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "display_name"
                                ],
                                "properties": {
                                    "display_name": {
                                        "type": "string",
                                        "example": "Vegan"
                                    },
                                    "description": {
                                        "type": "string",
                                        "example": "Vegan lunch type"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Delete Lunch Type",
                "operationId": "4d785ce1c5bd1d231ebb0cb9f1bfd000",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/lunch-types": {
            "get": {
                "tags": [
                    "Admin / Lunch Type"
                ],
                "summary": "Get List Lunch Types (for Public)",
                "operationId": "61a6444d0b967a391e9a51ce667be8fa",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/activity-logs": {
            "get": {
                "tags": [
                    "Admin / Activity Log"
                ],
                "summary": "Get List Activity Logs",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "access_mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/activity-logs/{id}": {
            "get": {
                "tags": [
                    "Admin / Activity Log"
                ],
                "summary": "Get Activity Log",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/me/activity-logs": {
            "get": {
                "tags": [
                    "Admin / Activity Log"
                ],
                "summary": "Get My Activity Logs",
                "parameters": [
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "access_mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/activity-logs/types": {
            "get": {
                "tags": [
                    "Admin / Activity Log"
                ],
                "summary": "Get Activity Log Types (for Public)",
                "operationId": "9d8d833b235b8d679132dcfe382fd1ad",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/outstanding-employees": {
            "get": {
                "tags": [
                    "Admin / Outstanding Employee"
                ],
                "summary": "Get List Outstanding Employees",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Outstanding Employee"
                ],
                "summary": "Create Outstanding Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "account_id"
                                ],
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "example": "year"
                                    },
                                    "group": {
                                        "type": "string",
                                        "example": "2024"
                                    },
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/outstanding-employees/{id}": {
            "get": {
                "tags": [
                    "Admin / Outstanding Employee"
                ],
                "summary": "Get Outstanding Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Outstanding Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Outstanding Employee"
                ],
                "summary": "Delete Outstanding Employee",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Outstanding Employee ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/outstanding-employees": {
            "get": {
                "tags": [
                    "Employee / Outstanding Employee"
                ],
                "summary": "Get List Outstanding Employees",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/employee/outstanding-employees/current": {
            "get": {
                "tags": [
                    "Employee / Outstanding Employee"
                ],
                "summary": "Get List Current Outstanding Employees",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/outstanding-employees/employees": {
            "get": {
                "tags": [
                    "Admin / Outstanding Employee"
                ],
                "summary": "Get List Employees",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "active"
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "is_except_outstanding",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "except_outstanding_group",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "2023"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/oauth/token": {
            "post": {
                "tags": [
                    "Santa Wallet / Auth"
                ],
                "summary": "Login",
                "parameters": [
                    {
                        "name": "is_admin",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean'"
                        },
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "client_id",
                                    "password"
                                ],
                                "properties": {
                                    "client_id": {
                                        "type": "string"
                                    },
                                    "client_secret": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "token_type": {
                                            "type": "string",
                                            "example": "Bearer"
                                        },
                                        "expires_in": {
                                            "type": "string",
                                            "example": "31536000"
                                        },
                                        "access_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        },
                                        "refresh_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/payroll-wallet/wallets": {
            "get": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Get List Payroll Wallets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "company_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "position_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "lastname",
                                "code"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Create new Payroll Wallet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "account_id"
                                ],
                                "properties": {
                                    "account_id": {
                                        "type": "integer",
                                        "example": 1
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/wallets/store-multi": {
            "post": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Create Multi Payroll Wallets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "accounts"
                                ],
                                "properties": {
                                    "accounts": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/wallets/{id}": {
            "get": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Get Payroll Wallet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Delete Payroll Wallet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/wallets/{id}/reset": {
            "put": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Reset Payroll Wallet",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/wallets/reset-multi": {
            "put": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Reset Multi Payroll Wallets",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "lastname",
                                "code"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/wallets/account-ids": {
            "get": {
                "tags": [
                    "Admin / Payroll Wallet"
                ],
                "summary": "Get Account Ids",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/service/employees/{phone}": {
            "get": {
                "tags": [
                    "Santa Wallet / Service"
                ],
                "summary": "Get Employee by Phone",
                "parameters": [
                    {
                        "name": "phone",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/service/wallets/transactions": {
            "post": {
                "tags": [
                    "Santa Wallet / Service"
                ],
                "summary": "Make Transaction",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "phone_number",
                                    "value"
                                ],
                                "properties": {
                                    "phone_number": {
                                        "type": "string",
                                        "example": "0123456789"
                                    },
                                    "value": {
                                        "type": "number",
                                        "format": "float",
                                        "example": 1000
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/payroll-wallet/settings": {
            "get": {
                "tags": [
                    "Admin / Wallet Setting"
                ],
                "summary": "Get List Wallet Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "keys[]",
                        "in": "query",
                        "required": false,
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/settings/{key}": {
            "get": {
                "tags": [
                    "Admin / Wallet Setting"
                ],
                "summary": "Get a Wallet Setting",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/settings/update-multi": {
            "put": {
                "tags": [
                    "Admin / Wallet Setting"
                ],
                "summary": "Update Multi Wallet Settings",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "content": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/public/wallet_settings": {
            "get": {
                "tags": [
                    "Admin / Wallet Setting"
                ],
                "summary": "Get List Wallet Settings (for Public)",
                "parameters": [
                    {
                        "name": "keys[]",
                        "in": "query",
                        "required": false,
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/payroll-wallet/transactions": {
            "get": {
                "tags": [
                    "Admin / Wallet Transaction"
                ],
                "summary": "Get List Wallet Transactions",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "wallet_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_in",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_out",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "created_from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2025-01-01"
                        }
                    },
                    {
                        "name": "created_to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Wallet Transaction"
                ],
                "summary": "Create Wallet Transaction",
                "parameters": [
                    {
                        "name": "company_mode",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "all"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "wallet_id",
                                    "value"
                                ],
                                "properties": {
                                    "wallet_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "payroll_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "payroll_period_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "title": {
                                        "type": "string",
                                        "example": "Transaction Title"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "in",
                                            "out"
                                        ],
                                        "example": "in"
                                    },
                                    "value": {
                                        "type": "number",
                                        "format": "float",
                                        "example": 100.5
                                    },
                                    "note": {
                                        "type": "string",
                                        "example": "Transaction Note"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "Input Bearer token from login",
                "name": "Authorization",
                "in": "header",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Auth"
        }
    ]
}