{
    "openapi": "3.0.0",
    "info": {
        "title": "LWS_PORTAL_STG",
        "description": "API documentation",
        "version": "v0.5.12 (07/12/2024)"
    },
    "servers": [
        {
            "url": "https://lwsportal-stg.w3suga.com:8443",
            "description": ""
        }
    ],
    "paths": {
        "/api/v1/admin/me": {
            "get": {
                "tags": [
                    "Admin / Account"
                ],
                "summary": "Get My Profile",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Account"
                ],
                "summary": "Edit My Profile",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "avatar": {
                                        "type": "string"
                                    },
                                    "signature": {
                                        "type": "string",
                                        "format": "uri",
                                        "example": "https://example.com/file.jpg"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/me/password": {
            "put": {
                "tags": [
                    "Admin / Account"
                ],
                "summary": "Change My Password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password",
                                    "current_password"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "current_password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins": {
            "get": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Get List Admins",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "data_center_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "role_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "except_ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "example": 1
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Create New Admin",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "firstname",
                                    "lastname",
                                    "email",
                                    "phone",
                                    "data_center_ids",
                                    "department_id",
                                    "role_ids"
                                ],
                                "properties": {
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "data_center_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins/{id}": {
            "get": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Get Admin Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Admin"
                ],
                "summary": "Edit Admin",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Admin ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "data_center_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "department_id": {
                                        "type": "integer"
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_display_code": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins/admin-emails/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Admin Emails",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/admins/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Admins",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "data_center_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "role_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/attribute-service": {
            "get": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Get List Attribute-Service",
                "parameters": [
                    {
                        "name": "service_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "attribute_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "sort_index",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Create Attribute Service",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "service_id",
                                    "attributes"
                                ],
                                "properties": {
                                    "service_id": {
                                        "type": "number"
                                    },
                                    "attributes": {
                                        "type": "array",
                                        "items": {
                                            "type": "number"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/attribute-service/{id}": {
            "get": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Get Attribute Service Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Edit Attribute Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_quotation_required",
                                    "is_sales_required",
                                    "is_published"
                                ],
                                "properties": {
                                    "is_quotation_required": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_sales_required": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_published": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Delete Attribute Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/attribute-service/sort-index": {
            "put": {
                "tags": [
                    "Admin / Service / Attribute"
                ],
                "summary": "Sort Attribute Service",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "service_id",
                                    "attributes"
                                ],
                                "properties": {
                                    "service_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "attributes": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/billing-accounts": {
            "get": {
                "tags": [
                    "Admin / Customer / Billing Account"
                ],
                "summary": "Get List Billing Account",
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Customer / Billing Account"
                ],
                "summary": "Create New Billing Account",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "ref_code",
                                    "customer_id",
                                    "admin_firstname",
                                    "admin_lastname",
                                    "admin_email",
                                    "admin_phone_number",
                                    "billing_firstname",
                                    "billing_lastname",
                                    "billing_email",
                                    "billing_phone_number",
                                    "is_same_billing",
                                    "technical_firstname",
                                    "technical_lastname",
                                    "technical_email",
                                    "technical_phone_number",
                                    "is_same_technical"
                                ],
                                "properties": {
                                    "ref_code": {
                                        "type": "string"
                                    },
                                    "customer_id": {
                                        "type": "number"
                                    },
                                    "admin_firstname": {
                                        "type": "string"
                                    },
                                    "admin_lastname": {
                                        "type": "string"
                                    },
                                    "admin_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "admin_phone_number": {
                                        "type": "string"
                                    },
                                    "billing_firstname": {
                                        "type": "string"
                                    },
                                    "billing_lastname": {
                                        "type": "string"
                                    },
                                    "billing_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "billing_phone_number": {
                                        "type": "string"
                                    },
                                    "is_same_billing": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "technical_firstname": {
                                        "type": "string"
                                    },
                                    "technical_lastname": {
                                        "type": "string"
                                    },
                                    "technical_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "technical_phone_number": {
                                        "type": "string"
                                    },
                                    "is_same_technical": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/billing-accounts/{id}": {
            "get": {
                "tags": [
                    "Admin / Customer / Billing Account"
                ],
                "summary": "Get Billing Account Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Billing Account ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Customer / Billing Account"
                ],
                "summary": "Edit Billing Account",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Billing Account ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_default",
                                    "ref_code",
                                    "customer_id",
                                    "admin_firstname",
                                    "admin_lastname",
                                    "admin_email",
                                    "admin_phone_number",
                                    "billing_firstname",
                                    "billing_lastname",
                                    "billing_email",
                                    "billing_phone_number",
                                    "is_same_billing",
                                    "technical_firstname",
                                    "technical_lastname",
                                    "technical_email",
                                    "technical_phone_number",
                                    "is_same_technical"
                                ],
                                "properties": {
                                    "ref_code": {
                                        "type": "string"
                                    },
                                    "customer_id": {
                                        "type": "number"
                                    },
                                    "admin_firstname": {
                                        "type": "string"
                                    },
                                    "admin_lastname": {
                                        "type": "string"
                                    },
                                    "admin_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "admin_phone_number": {
                                        "type": "string"
                                    },
                                    "billing_firstname": {
                                        "type": "string"
                                    },
                                    "billing_lastname": {
                                        "type": "string"
                                    },
                                    "billing_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "billing_phone_number": {
                                        "type": "string"
                                    },
                                    "is_same_billing": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "technical_firstname": {
                                        "type": "string"
                                    },
                                    "technical_lastname": {
                                        "type": "string"
                                    },
                                    "technical_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "technical_phone_number": {
                                        "type": "string"
                                    },
                                    "is_same_technical": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Customer / Billing Account"
                ],
                "summary": "Delete Billing Account",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Billing Account ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/billing-accounts/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Billing Account",
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/business-units": {
            "get": {
                "tags": [
                    "Admin / Customer / Business Unit"
                ],
                "summary": "Get List Business Unit",
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Customer / Business Unit"
                ],
                "summary": "Create New BusinessUnit",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "customer_id"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "customer_id": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/business-units/{id}": {
            "get": {
                "tags": [
                    "Admin / Customer / Business Unit"
                ],
                "summary": "Get Business unit Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Business Unit ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Customer / Business Unit"
                ],
                "summary": "Edit Business Unit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Business Unit ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_default": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Customer / Business Unit"
                ],
                "summary": "Delete Business Unit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Business Unit ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/business-units/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Business Unit Public",
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/categories": {
            "get": {
                "tags": [
                    "Admin / Category"
                ],
                "summary": "Get List Categories",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Category"
                ],
                "summary": "Create New Category",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code",
                                    "product_id"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "product_id": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/categories/{id}": {
            "get": {
                "tags": [
                    "Admin / Category"
                ],
                "summary": "Get Category Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Category ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Category"
                ],
                "summary": "Edit Category",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Category ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code",
                                    "product_id"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "product_id": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Category"
                ],
                "summary": "Delete Category",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Category ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/categories/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Categories Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/costs/{id}": {
            "get": {
                "tags": [
                    "Admin / Service / Cost"
                ],
                "summary": "Get Cost Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Cost ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Service / Cost"
                ],
                "summary": "Edit Cost",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Cost ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "nrc",
                                    "mrc",
                                    "arc"
                                ],
                                "properties": {
                                    "nrc": {
                                        "type": "number"
                                    },
                                    "mrc": {
                                        "type": "number"
                                    },
                                    "arc": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/currencies": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Currencies",
                "parameters": [
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Edit Rate of List Currency",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "rates": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "number"
                                                },
                                                "rate": {
                                                    "type": "number"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Create New Currency",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code",
                                    "rate",
                                    "symbol"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "rate": {
                                        "type": "number"
                                    },
                                    "symbol": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/currencies/{id}": {
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Edit Status of the Currency (active, default)",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Currency ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_default": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/currencies/{id}/currency-histories": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Currency History",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Currency ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/currencies/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Currencies",
                "parameters": [
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/contact-info": {
            "put": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Edit Customer Contact Info",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "address": {
                                        "type": "string"
                                    },
                                    "country": {
                                        "type": "string"
                                    },
                                    "postal_code": {
                                        "type": "string"
                                    },
                                    "city": {
                                        "type": "string"
                                    },
                                    "state": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers": {
            "get": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Get List Customers",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "customer_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "corporate",
                                "individual"
                            ]
                        }
                    },
                    {
                        "name": "kyc",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "verifying",
                                "verified"
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Create New Customer",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "customer_type",
                                    "email"
                                ],
                                "properties": {
                                    "customer_type": {
                                        "type": "string",
                                        "enum": [
                                            "corporate",
                                            "individual"
                                        ]
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "fullname": {
                                        "type": "string"
                                    },
                                    "company_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}": {
            "get": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Get Customer Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Edit Customer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "is_active": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Delete Customer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/verify": {
            "put": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Verify Customer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "kyc": {
                                        "type": "string",
                                        "enum": [
                                            "verified"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/others-info": {
            "put": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Edit Customer Others Info",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "credit_limit": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/send-info": {
            "post": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Send Customer Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/sync-xero": {
            "post": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Sync Customer to Xero",
                "description": "This API has two usage scenarios: 1) Request to Sync. 2) Send auth code after the required login is completed.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "description": "Only required right after login success with Xero",
                                        "type": "string",
                                        "example": "4X2Y6XEACAcCucnJQ-yrwDG-yAy0i0w6HfYaat4xXFI"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response indicating the type of operation. Check schema below",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "properties": {
                                                "type": {
                                                    "type": "string",
                                                    "example": "request_to_login"
                                                },
                                                "login_url": {
                                                    "type": "string",
                                                    "example": "https://login.xero.com/..."
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "properties": {
                                                "type": {
                                                    "type": "string",
                                                    "example": "success"
                                                },
                                                "xero_data": {
                                                    "properties": {
                                                        "contact_id": {
                                                            "type": "string",
                                                            "example": "20f0a73f-9006-49bd-a8b2-f5fefe6d8c57"
                                                        },
                                                        "name": {
                                                            "type": "string",
                                                            "example": "Company A"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/company/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Company Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "kyc",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Customer Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "customer_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "corporate",
                                "individual"
                            ]
                        }
                    },
                    {
                        "name": "kyc",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/{id}/customer-info": {
            "put": {
                "tags": [
                    "Admin / Customer"
                ],
                "summary": "Edit Customer Info",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "company_name": {
                                        "type": "string"
                                    },
                                    "uen": {
                                        "type": "string"
                                    },
                                    "previous_uen": {
                                        "type": "string"
                                    },
                                    "company_type": {
                                        "type": "string"
                                    },
                                    "previous_company_name": {
                                        "type": "string"
                                    },
                                    "activity": {
                                        "type": "string"
                                    },
                                    "registration_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "company_capital": {
                                        "type": "string"
                                    },
                                    "uen_docs": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "url"
                                        }
                                    },
                                    "company_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "fullname": {
                                        "type": "string"
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "nric": {
                                        "type": "string"
                                    },
                                    "passport": {
                                        "type": "string"
                                    },
                                    "nric_passport_docs": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "url"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/data-centers": {
            "get": {
                "tags": [
                    "Admin / Data Center"
                ],
                "summary": "Get List Data Centers",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "ref_code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Data Center"
                ],
                "summary": "Create New Data Center",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "ref_code",
                                    "name"
                                ],
                                "properties": {
                                    "ref_code": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/data-centers/{id}": {
            "get": {
                "tags": [
                    "Admin / Data Center"
                ],
                "summary": "Get Data Center Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Data Center ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Data Center"
                ],
                "summary": "Edit Data Center",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Data Center ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "ref_code",
                                    "name"
                                ],
                                "properties": {
                                    "ref_code": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Data Center"
                ],
                "summary": "Delete Data Center",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Data Center ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/data-centers/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Data Centers Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "ref_code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments": {
            "get": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Get List Departments",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Create New Department",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments/{id}": {
            "get": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Get Department Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Edit Department",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Department"
                ],
                "summary": "Delete Department",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/departments/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Departments Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/discounts": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Discounts",
                "parameters": [
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "from_date",
                                "to_date",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Create New Discount",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "discount",
                                    "from_date",
                                    "to_date"
                                ],
                                "properties": {
                                    "discount": {
                                        "type": "number"
                                    },
                                    "from_date": {
                                        "type": "string"
                                    },
                                    "to_date": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/discounts/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get the Valid Discount",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/storage/upload-docs": {
            "post": {
                "tags": [
                    "Admin / File Management"
                ],
                "summary": "Upload an encrypted file",
                "description": "Upload a file to the server",
                "operationId": "uploadFile",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "customer_id": {
                                        "description": "Customer ID",
                                        "type": "integer"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    },
                                    "is_encrypt": {
                                        "description": "Encrypt or Not Encrypt",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/storage/decrypt-file": {
            "get": {
                "tags": [
                    "Admin / File Management"
                ],
                "summary": "Get Content Encrypt File",
                "operationId": "ddc12b92a17867536862da0f7aacddfe",
                "parameters": [
                    {
                        "name": "url",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/storage/upload-avatar": {
            "post": {
                "tags": [
                    "Admin / File Management"
                ],
                "summary": "Upload an avatar image",
                "description": "Upload a media to the server",
                "operationId": "5a161dbd87c8523d25ad22d0f5511539",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/storage/single-upload": {
            "post": {
                "tags": [
                    "Admin / File Management"
                ],
                "summary": "Upload a file",
                "description": "Upload a media to the server",
                "operationId": "955160b2585f29179203384081590d4b",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility",
                                    "type"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    },
                                    "type": {
                                        "description": "purpose",
                                        "type": "string",
                                        "enum": [
                                            "avatar",
                                            "signature",
                                            "company_logo",
                                            "quotation"
                                        ]
                                    },
                                    "customer_id": {
                                        "description": "Customer ID",
                                        "type": "integer"
                                    },
                                    "is_encrypt": {
                                        "description": "Encrypt or Not Encrypt",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/storage/single-view": {
            "get": {
                "tags": [
                    "Admin / File Management"
                ],
                "summary": "Get Content Private File",
                "operationId": "4eb1b8245c4767f65df57acead1ce234",
                "parameters": [
                    {
                        "name": "url",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "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": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/permissions/{id}": {
            "get": {
                "tags": [
                    "Admin / Permission"
                ],
                "summary": "Get Permission Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Permission ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/permissions": {
            "get": {
                "tags": [
                    "Admin / Customer / Permission"
                ],
                "summary": "Get List Customer Permissions",
                "parameters": [
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/prices": {
            "get": {
                "tags": [
                    "Admin / Service / Price"
                ],
                "summary": "Get List Prices",
                "parameters": [
                    {
                        "name": "service_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Service / Price"
                ],
                "summary": "Create New Price",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "service_id",
                                    "nrc"
                                ],
                                "properties": {
                                    "service_id": {
                                        "type": "number"
                                    },
                                    "term_value": {
                                        "type": "number"
                                    },
                                    "nrc": {
                                        "type": "number"
                                    },
                                    "mrc": {
                                        "type": "number"
                                    },
                                    "arc": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/prices/{id}": {
            "get": {
                "tags": [
                    "Admin / Service / Price"
                ],
                "summary": "Get Price Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Price ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Service / Price"
                ],
                "summary": "Edit Price",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Price ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "term_value",
                                    "nrc"
                                ],
                                "properties": {
                                    "term_value": {
                                        "type": "number"
                                    },
                                    "is_default": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "nrc": {
                                        "type": "number"
                                    },
                                    "mrc": {
                                        "type": "number"
                                    },
                                    "arc": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Service / Price"
                ],
                "summary": "Delete Price",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Price ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/prices/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Price Public",
                "parameters": [
                    {
                        "name": "service_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/products": {
            "get": {
                "tags": [
                    "Admin / Product"
                ],
                "summary": "Get List Products",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Product"
                ],
                "summary": "Create New Product",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/products/{id}": {
            "get": {
                "tags": [
                    "Admin / Product"
                ],
                "summary": "Get Product Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Product"
                ],
                "summary": "Edit Product",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Product"
                ],
                "summary": "Delete Product",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/products/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Products Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/projects": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Projects",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Create New Project",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/projects/{id}": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get Project Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Project ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Edit Project",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Project ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "code"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Delete Project",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Project ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/projects/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Projects",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations": {
            "get": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Get List Quotations",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "currency",
                        "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": "by_account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "created",
                                "submitted",
                                "verified",
                                "rejected",
                                "approved",
                                "expired",
                                "commented",
                                "manager_rejected",
                                "canceled"
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "status",
                                "total_amount",
                                "currency",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Create New Quotation",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "customer_type",
                                    "customer_id",
                                    "currency",
                                    "rate"
                                ],
                                "properties": {
                                    "customer_type": {
                                        "type": "string",
                                        "enum": [
                                            "corporate",
                                            "individual"
                                        ]
                                    },
                                    "customer_id": {
                                        "type": "number"
                                    },
                                    "business_unit_id": {
                                        "type": "number"
                                    },
                                    "contact_account_id": {
                                        "type": "number"
                                    },
                                    "currency": {
                                        "type": "string"
                                    },
                                    "rate": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}": {
            "get": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Get Quotation Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Update a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "customer_type",
                                    "customer_id",
                                    "currency",
                                    "rate"
                                ],
                                "properties": {
                                    "customer_type": {
                                        "type": "string",
                                        "enum": [
                                            "corporate",
                                            "individual"
                                        ]
                                    },
                                    "customer_id": {
                                        "type": "number"
                                    },
                                    "business_unit_id": {
                                        "type": "number"
                                    },
                                    "contact_account_id": {
                                        "type": "number"
                                    },
                                    "revision": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Delete Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/template": {
            "get": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Get Quotation Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/submit": {
            "put": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Submit a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "department_id",
                                    "submit_to_admin"
                                ],
                                "properties": {
                                    "department_id": {
                                        "type": "number"
                                    },
                                    "submit_to_admin": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/verify": {
            "put": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Verify a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/reject": {
            "put": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Reject a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "comment": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/cancel": {
            "put": {
                "tags": [
                    "Admin / Quotation"
                ],
                "summary": "Cancel a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/attachments": {
            "get": {
                "tags": [
                    "Admin / Quotation / Attachment"
                ],
                "summary": "Get List Attachment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Quotation / Attachment"
                ],
                "summary": "Create New Attachment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "file_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/attachments/{id}": {
            "get": {
                "tags": [
                    "Admin / Quotation / Attachment"
                ],
                "summary": "Get Attachment Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Attachment ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Quotation / Attachment"
                ],
                "summary": "Delete Attachment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attachment ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/services/{id}/attributes": {
            "put": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Update Quotation Service Attribute",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "attributes": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "id": {
                                                    "type": "number"
                                                },
                                                "value": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/services": {
            "get": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Get Quotation Service List",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Create New Quotation Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "service_id",
                                    "quantity",
                                    "is_custom_price"
                                ],
                                "properties": {
                                    "service_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "data_center_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_code_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "is_custom_price": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "term_value": {
                                        "type": "number",
                                        "example": 6
                                    },
                                    "nrc": {
                                        "type": "number"
                                    },
                                    "mrc": {
                                        "type": "number"
                                    },
                                    "arc": {
                                        "type": "number"
                                    },
                                    "discount_value": {
                                        "type": "number"
                                    },
                                    "discount_type": {
                                        "type": "string",
                                        "example": "%"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/services/{id}": {
            "get": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Get Quotation Service Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Update Quotation Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "service_id",
                                    "quantity",
                                    "is_custom_price"
                                ],
                                "properties": {
                                    "service_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "data_center_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_code_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "is_custom_price": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "term_value": {
                                        "type": "number",
                                        "example": 6
                                    },
                                    "nrc": {
                                        "type": "number"
                                    },
                                    "mrc": {
                                        "type": "number"
                                    },
                                    "arc": {
                                        "type": "number"
                                    },
                                    "discount_value": {
                                        "type": "number"
                                    },
                                    "discount_type": {
                                        "type": "string",
                                        "example": "%"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Quotation / Service"
                ],
                "summary": "Delete Quotation Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/settings": {
            "get": {
                "tags": [
                    "Admin / Quotation / Setting"
                ],
                "summary": "Get Quotation Setting",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Quotation / Setting"
                ],
                "summary": "Update Quotation Service Setting",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "key",
                                    "value"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/sign": {
            "get": {
                "tags": [
                    "Admin / Quotation / Sign"
                ],
                "summary": "Get Quotation Sign Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Quotation / Sign"
                ],
                "summary": "Sign Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "signature": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/invite-to-sign": {
            "put": {
                "tags": [
                    "Admin / Quotation / Sign"
                ],
                "summary": "Invite Sign Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "invite_user_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/unsigned": {
            "put": {
                "tags": [
                    "Admin / Quotation / Sign"
                ],
                "summary": "Delete Signature",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/terms-and-conditions": {
            "get": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Get List Terms Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "sort_index",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Create New Terms and Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "term_condition_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/terms-and-conditions/{id}": {
            "get": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Get Term Condition Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term Condition ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Update Quotation Service Terms and Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Term Condition 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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Delete Terms and Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term and Condition ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/quotations/{id}/terms-and-conditions/sort-index": {
            "put": {
                "tags": [
                    "Admin / Quotation / Terms and Conditions"
                ],
                "summary": "Sort Terms and Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "term_condition_ids"
                                ],
                                "properties": {
                                    "term_condition_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/roles": {
            "get": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Get List Roles",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at",
                                "level"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Create New Role",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "permission_ids"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "permission_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/roles/{id}": {
            "get": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Get Role Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Edit Role",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "permission_ids"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "integer",
                                        "example": 2
                                    },
                                    "permission_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Role"
                ],
                "summary": "Delete Role",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/roles/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Roles Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at",
                                "level"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/roles": {
            "get": {
                "tags": [
                    "Admin / Customer / Role"
                ],
                "summary": "Get List Customer Roles",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at",
                                "level"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Customer / Role"
                ],
                "summary": "Create New Customer Role",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "permission_ids"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "integer",
                                        "example": 5
                                    },
                                    "permission_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/roles/{id}": {
            "get": {
                "tags": [
                    "Admin / Customer / Role"
                ],
                "summary": "Get Customer Role Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Customer / Role"
                ],
                "summary": "Edit Customer Role",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "permission_ids"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "level": {
                                        "type": "integer",
                                        "example": 2
                                    },
                                    "permission_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Customer / Role"
                ],
                "summary": "Delete Customer Role",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Role ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/roles/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Customer Roles Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at",
                                "level"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/service-attributes": {
            "get": {
                "tags": [
                    "Admin / Service Attribute"
                ],
                "summary": "Get List Service Attributes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "text",
                                "option"
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "type",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Service Attribute"
                ],
                "summary": "Create New Service Attribute",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "format"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "format": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/service-attributes/{id}": {
            "get": {
                "tags": [
                    "Admin / Service Attribute"
                ],
                "summary": "Get Service Attribute Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Service Attribute"
                ],
                "summary": "Edit Attribute",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "format"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "format": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Service Attribute"
                ],
                "summary": "Delete Attribute",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/service-attributes/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Attributes Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "text",
                                "option"
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "type",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services": {
            "get": {
                "tags": [
                    "Admin / Service"
                ],
                "summary": "Get List Services",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "primary",
                                "vas"
                            ]
                        }
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Service"
                ],
                "summary": "Create New Service",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "type",
                                    "category_id",
                                    "has_nrc",
                                    "has_mrc",
                                    "has_arc"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "primary",
                                            "vas"
                                        ]
                                    },
                                    "category_id": {
                                        "type": "number"
                                    },
                                    "has_nrc": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_mrc": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_arc": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/{id}": {
            "get": {
                "tags": [
                    "Admin / Service"
                ],
                "summary": "Get Service Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Service"
                ],
                "summary": "Edit Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    },
                                    "category_id": {
                                        "type": "number"
                                    },
                                    "is_active": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "is_physical_service": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_service_id": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_circuit_id": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_data_center": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "has_vas": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Service"
                ],
                "summary": "Delete Service",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/services/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Services Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "primary",
                                "vas"
                            ]
                        }
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Settings",
                "parameters": [
                    {
                        "name": "groups[]",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "general",
                                    "system",
                                    "template"
                                ]
                            }
                        }
                    },
                    {
                        "name": "keys[]",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "password_expiry_period",
                                    "max_failed_authentication",
                                    "max_failed_otp",
                                    "company_logo",
                                    "company_name",
                                    "uen",
                                    "address",
                                    "customer_care_email",
                                    "billing_email",
                                    "technical_assistance_email",
                                    "quote_sale_declaration",
                                    "payment_definitions",
                                    "completion_letter_bottom_script",
                                    "quotation_validity_period",
                                    "gst",
                                    "data_protection_policy",
                                    "quotation_notifications_cc_to"
                                ]
                            }
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings/update": {
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Update Settings",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "key": {
                                                    "description": "Key of the object",
                                                    "type": "string"
                                                },
                                                "content": {
                                                    "description": "Content of the object",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/settings/template/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Settings",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/terms-conditions": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get List Terms and Conditions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Create New Term and Condition",
                "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/terms-conditions/{id}": {
            "get": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Get Term and Condition Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term Condition ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Edit Term Condition",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term Condition 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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Admin / Setting"
                ],
                "summary": "Delete Term Condition",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term Condition ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/terms-conditions/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Products Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "title",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/users": {
            "get": {
                "tags": [
                    "Admin / Customer / User"
                ],
                "summary": "Get List Users",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "business_unit_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "role_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin / Customer / User"
                ],
                "summary": "Create New User",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "customer_id",
                                    "is_master_admin",
                                    "firstname",
                                    "lastname",
                                    "email",
                                    "phone",
                                    "business_unit_ids",
                                    "customer_id",
                                    "role_ids",
                                    "is_all_business_unit"
                                ],
                                "properties": {
                                    "customer_id": {
                                        "type": "number"
                                    },
                                    "is_master_admin": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_all_business_unit": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "business_unit_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/users/{id}": {
            "get": {
                "tags": [
                    "Admin / Customer / User"
                ],
                "summary": "Get Customer User Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer User ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin / Customer / User"
                ],
                "summary": "Update Customer User: Info and Active Deactive",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer User ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_master_admin",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "business_unit_ids",
                                    "customer_id",
                                    "role_ids",
                                    "is_all_business_unit"
                                ],
                                "properties": {
                                    "is_master_admin": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_all_business_unit": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "business_unit_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "is_active": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_display_code": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/customers/users/public": {
            "get": {
                "tags": [
                    "Admin / Public"
                ],
                "summary": "Get List Users",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "business_unit_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "role_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/admin/login": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Login",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "username": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "is_first_login": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "secret_key": {
                                            "type": "string",
                                            "example": "H3ANBFOQULFGGPTQ"
                                        },
                                        "qr_code": {
                                            "type": "string",
                                            "example": "data:image/svg+xml;base64,..."
                                        },
                                        "token_type": {
                                            "type": "string",
                                            "example": "Bearer"
                                        },
                                        "expires_in": {
                                            "type": "string",
                                            "example": "31536000"
                                        },
                                        "access_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/login": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Login",
                "operationId": "36485be274e201d79ed044a5968dddd6",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "username": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "is_first_login": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "secret_key": {
                                            "type": "string",
                                            "example": "H3ANBFOQULFGGPTQ"
                                        },
                                        "qr_code": {
                                            "type": "string",
                                            "example": "data:image/svg+xml;base64,..."
                                        },
                                        "token_type": {
                                            "type": "string",
                                            "example": "Bearer"
                                        },
                                        "expires_in": {
                                            "type": "string",
                                            "example": "31536000"
                                        },
                                        "access_token": {
                                            "type": "string",
                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/verify-otp": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Verify OTP after login",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "otp": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/verify-otp": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Verify OTP after login",
                "operationId": "61c93be801fdb4824e9a8e16b51e6ae1",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "otp": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/issue-token": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Issue token after choosing account",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "company": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "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/customer/issue-token": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Issue token after choosing account",
                "operationId": "ba7eb72e0862409e5918c0df7d477a77",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "company": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "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/customer/accounts": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Valid Accounts",
                "operationId": "66fd7a4d13ab96fd230d98cfafd7663f",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "true"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/forget-password": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Forget Password To Reset Password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "callback_url": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/forget-password": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Forget Password To Reset Password",
                "operationId": "4f448539cd16ebb7d84f9f60347838dd",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "callback_url": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/reset-password": {
            "put": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Reset Password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "otp",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "otp": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "message"
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/reset-password": {
            "put": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Reset Password",
                "operationId": "9836a9a53f9f8c1129ecfcefbceea466",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "otp",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "otp": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "message"
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/check-otp": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Check OTP is expired or not",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "otp": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your OTP is valid!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Failed response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your OTP is expired!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/check-otp": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Check OTP is expired or not",
                "operationId": "78ce89d169aaf70ba0f3c9a41a314dcb",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "otp": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your OTP is valid!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Failed response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your OTP is expired!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/admin/unverified": {
            "post": {
                "tags": [
                    "Public / Admin / Auth"
                ],
                "summary": "Unverified To Test First Login",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/unverified": {
            "post": {
                "tags": [
                    "Public / Customer / Auth"
                ],
                "summary": "Unverified To Test First Login",
                "operationId": "515ebaa9fccd5c790f5b3b99825fc678",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/me": {
            "get": {
                "tags": [
                    "Customer / Account"
                ],
                "summary": "Get My Profile",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountUserDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Customer / Account"
                ],
                "summary": "Edit My Profile",
                "operationId": "e7c6025cea9e449a50a0d637c81d9e59",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "avatar": {
                                        "type": "string",
                                        "format": "uri",
                                        "example": "https://example.com/file.jpg"
                                    },
                                    "signature": {
                                        "type": "string",
                                        "format": "uri",
                                        "example": "https://example.com/file.jpg"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/me/password": {
            "put": {
                "tags": [
                    "Customer / Account"
                ],
                "summary": "Change My Password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "password",
                                    "current_password"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "current_password": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/me/logout": {
            "post": {
                "tags": [
                    "Customer / Account"
                ],
                "summary": "Logout",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Successfully logged out!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/my-business-units": {
            "get": {
                "tags": [
                    "Customer / Business Unit"
                ],
                "summary": "Get My List Business Unit",
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/business-units/public": {
            "get": {
                "tags": [
                    "Customer / Public"
                ],
                "summary": "Get List Business Unit Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/currencies/public": {
            "get": {
                "tags": [
                    "Customer / Public"
                ],
                "summary": "Get List Currencies",
                "parameters": [
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "code",
                                "name",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/customer": {
            "get": {
                "tags": [
                    "Customer / Customer"
                ],
                "summary": "Get Customer Information",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Customer / Customer"
                ],
                "summary": "Edit Customer",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "company_name": {
                                        "type": "string"
                                    },
                                    "uen": {
                                        "type": "string"
                                    },
                                    "company_type": {
                                        "type": "string"
                                    },
                                    "activity": {
                                        "type": "string"
                                    },
                                    "registration_date": {
                                        "type": "string",
                                        "format": "date"
                                    },
                                    "company_capital": {
                                        "type": "string"
                                    },
                                    "uen_docs": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "url"
                                        }
                                    },
                                    "company_email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "fullname": {
                                        "type": "string"
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "nric": {
                                        "type": "string"
                                    },
                                    "passport": {
                                        "type": "string"
                                    },
                                    "nric_passport_docs": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "url"
                                        }
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "address": {
                                        "type": "string"
                                    },
                                    "country": {
                                        "type": "string"
                                    },
                                    "postal_code": {
                                        "type": "string"
                                    },
                                    "city": {
                                        "type": "string"
                                    },
                                    "state": {
                                        "type": "string"
                                    },
                                    "credit_limit": {
                                        "type": "number"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/storage/upload-docs": {
            "post": {
                "tags": [
                    "Customer / File Management"
                ],
                "summary": "Upload an encrypted file",
                "description": "Upload a file to the server",
                "operationId": "uploadFile",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "customer_id": {
                                        "description": "Customer ID",
                                        "type": "integer"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    },
                                    "is_encrypt": {
                                        "description": "Encrypt or Not Encrypt",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/storage/upload-avatar": {
            "post": {
                "tags": [
                    "Customer / File Management"
                ],
                "summary": "Upload an avatar image",
                "description": "Upload a media to the server",
                "operationId": "98cf3e1aac95f39f5d06af52694da177",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/storage/single-upload": {
            "post": {
                "tags": [
                    "Customer / File Management"
                ],
                "summary": "Upload a file",
                "description": "Upload a media to the server",
                "operationId": "96d68f738422c8dd81de0022b2f6b64b",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "file",
                                    "visibility",
                                    "type"
                                ],
                                "properties": {
                                    "file": {
                                        "description": "The file to upload",
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "visibility": {
                                        "description": "public or private",
                                        "type": "string",
                                        "enum": [
                                            "public",
                                            "private"
                                        ]
                                    },
                                    "type": {
                                        "description": "purpose",
                                        "type": "string",
                                        "enum": [
                                            "avatar",
                                            "signature"
                                        ]
                                    },
                                    "customer_id": {
                                        "description": "Customer ID",
                                        "type": "integer"
                                    },
                                    "is_encrypt": {
                                        "description": "Encrypt or Not Encrypt",
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "File uploaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "file": {
                                            "type": "string"
                                        },
                                        "path": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "File upload failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/storage/decrypt-file": {
            "get": {
                "tags": [
                    "Customer / File Management"
                ],
                "summary": "Get Content Encrypt File",
                "operationId": "aee2c40b180fbf9f34a86fba9c2735ea",
                "parameters": [
                    {
                        "name": "url",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/storage/single-view": {
            "get": {
                "tags": [
                    "Customer / File Management"
                ],
                "summary": "Get Content Private File",
                "operationId": "96564b197662148c28e3393942f4d38a",
                "parameters": [
                    {
                        "name": "url",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations": {
            "get": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Get List Quotations",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "currency",
                        "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": "by_account_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "submitted",
                                "rejected",
                                "approved",
                                "expired",
                                "commented"
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "status",
                                "total_amount",
                                "currency",
                                "created_at",
                                "verified"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}": {
            "get": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Get Quotation Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/template": {
            "get": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Get Quotation Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/approve": {
            "put": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Approve a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "po_file_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/reject": {
            "put": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Reject a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "comment": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/comment": {
            "put": {
                "tags": [
                    "Customer / Quotation"
                ],
                "summary": "Comment a Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "comment": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/attachments": {
            "get": {
                "tags": [
                    "Customer / Quotation / Attachment"
                ],
                "summary": "Get List Attachment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/attachments/{id}": {
            "get": {
                "tags": [
                    "Customer / Quotation / Attachment"
                ],
                "summary": "Get Attachment Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Attachment ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/services": {
            "get": {
                "tags": [
                    "Customer / Quotation / Service"
                ],
                "summary": "Get Quotation Service List",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/services/{id}": {
            "get": {
                "tags": [
                    "Customer / Quotation / Service"
                ],
                "summary": "Get Quotation Service Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation Service ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/settings": {
            "get": {
                "tags": [
                    "Customer / Quotation / Setting"
                ],
                "summary": "Get Quotation Setting",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/sign": {
            "get": {
                "tags": [
                    "Customer / Quotation / Sign"
                ],
                "summary": "Get Quotation Sign Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Customer / Quotation / Sign"
                ],
                "summary": "Sign Quotation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "signature": {
                                        "type": "string"
                                    },
                                    "po_file_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/unsigned": {
            "put": {
                "tags": [
                    "Customer / Quotation / Sign"
                ],
                "summary": "Delete Signature",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/{id}/terms-and-conditions": {
            "get": {
                "tags": [
                    "Customer / Quotation / Terms and Conditions"
                ],
                "summary": "Get List Terms Conditions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Quotation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "sort_index",
                                "created_at"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/quotations/terms-and-conditions/{id}": {
            "get": {
                "tags": [
                    "Customer / Quotation / Terms and Conditions"
                ],
                "summary": "Get Term Condition Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Term Condition ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/roles/public": {
            "get": {
                "tags": [
                    "Customer / Public"
                ],
                "summary": "Get List Customer Roles Public",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_all",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "id",
                                "name",
                                "created_at",
                                "level"
                            ]
                        }
                    },
                    {
                        "name": "order_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/settings/data-policy": {
            "get": {
                "tags": [
                    "Customer / Setting"
                ],
                "summary": "Get Data Policy",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "content": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/settings/template/public": {
            "get": {
                "tags": [
                    "Customer / Public"
                ],
                "summary": "Get List Settings",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/users": {
            "get": {
                "tags": [
                    "Customer / User"
                ],
                "summary": "Get List Users",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "business_unit_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "role_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccountAdminDTO"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer / User"
                ],
                "summary": "Create New User",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_master_admin",
                                    "firstname",
                                    "lastname",
                                    "email",
                                    "phone",
                                    "business_unit_ids",
                                    "customer_id",
                                    "role_ids",
                                    "is_all_business_unit"
                                ],
                                "properties": {
                                    "is_master_admin": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_all_business_unit": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "business_unit_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v1/customer/users/{id}": {
            "get": {
                "tags": [
                    "Customer / User"
                ],
                "summary": "Get User Information",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "User ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Customer / User"
                ],
                "summary": "Update Customer User: Info and Active Deactive",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer User ID",
                        "required": true,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "is_master_admin",
                                    "firstname",
                                    "lastname",
                                    "phone",
                                    "business_unit_ids",
                                    "customer_id",
                                    "role_ids",
                                    "is_all_business_unit"
                                ],
                                "properties": {
                                    "is_master_admin": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "firstname": {
                                        "type": "string"
                                    },
                                    "lastname": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    },
                                    "is_all_business_unit": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "business_unit_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "role_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "is_active": {
                                        "type": "number",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    },
                                    "is_display_code": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountAdminDTO"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "AccountModel": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "username": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string",
                        "format": "password"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "is_active": {
                        "type": "integer",
                        "example": "1"
                    },
                    "email_verified_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "last_login_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "AccountAdminDTO": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "username": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string",
                        "format": "password"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "is_active": {
                        "type": "integer",
                        "example": "1"
                    },
                    "email_verified_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "last_login_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "admin": {
                        "$ref": "#/components/schemas/AdminModel"
                    },
                    "profile": {
                        "$ref": "#/components/schemas/ProfileModel"
                    }
                },
                "type": "object"
            },
            "AccountUserDTO": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "username": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string",
                        "format": "password"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "is_active": {
                        "type": "integer",
                        "example": "1"
                    },
                    "email_verified_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "last_login_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "user": {
                        "$ref": "#/components/schemas/UserModel"
                    },
                    "profile": {
                        "$ref": "#/components/schemas/ProfileModel"
                    }
                },
                "type": "object"
            },
            "AdminModel": {
                "required": [
                    "id",
                    "account_id"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "acount_id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "ProfileModel": {
                "required": [
                    "id",
                    "account_id",
                    "firstname",
                    "lastname",
                    "phone",
                    "created_at"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "acount_id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "firstname": {
                        "type": "string"
                    },
                    "lastname": {
                        "type": "string"
                    },
                    "fullname": {
                        "type": "string"
                    },
                    "nickname": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "avatar": {
                        "type": "string",
                        "format": "url"
                    },
                    "birthday": {
                        "type": "string"
                    },
                    "gender": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "datetime"
                    }
                },
                "type": "object"
            },
            "ProfileUpdateDTO": {
                "properties": {
                    "firstname": {
                        "nullable": true,
                        "description": "Sometimes required",
                        "type": "string"
                    },
                    "lastname": {
                        "nullable": true,
                        "description": "Sometimes required",
                        "type": "string"
                    },
                    "nickname": {
                        "nullable": true,
                        "type": "string"
                    },
                    "email": {
                        "nullable": true,
                        "type": "string",
                        "format": "email"
                    },
                    "phone": {
                        "nullable": true,
                        "description": "Sometimes required",
                        "type": "string"
                    },
                    "avatar": {
                        "nullable": true,
                        "type": "string"
                    },
                    "birthday": {
                        "nullable": true,
                        "type": "string"
                    },
                    "gender": {
                        "nullable": true,
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "UserModel": {
                "required": [
                    "id",
                    "account_id"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "account_id": {
                        "type": "integer",
                        "minimum": "1"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "200": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "example": "Successfully logged out!"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT",
                "description": "Enter your Bearer token in the format: Bearer {token}"
            }
        }
    },
    "tags": [
        {
            "name": "Public / Admin / Auth"
        },
        {
            "name": "Admin / Public"
        },
        {
            "name": "Admin / Account"
        },
        {
            "name": "Admin / Admin"
        },
        {
            "name": "Admin / Data Center"
        },
        {
            "name": "Admin / Department"
        },
        {
            "name": "Admin / Permission"
        },
        {
            "name": "Admin / Role"
        },
        {
            "name": "Admin / Customer"
        },
        {
            "name": "Admin / Customer / Billing Account"
        },
        {
            "name": "Admin / Customer / Business Unit"
        },
        {
            "name": "Admin / Customer / Permission"
        },
        {
            "name": "Admin / Customer / Role"
        },
        {
            "name": "Admin / Customer / User"
        },
        {
            "name": "Admin / Product"
        },
        {
            "name": "Admin / Category"
        },
        {
            "name": "Admin / Service Attribute"
        },
        {
            "name": "Admin / Service"
        },
        {
            "name": "Admin / Service / Price"
        },
        {
            "name": "Admin / Service / Cost"
        },
        {
            "name": "Admin / Service / Attribute"
        },
        {
            "name": "Admin / Setting"
        }
    ]
}