// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/address/": {
            "post": {
                "security": [
                    {
                        "AuthBearerBenefactor": []
                    }
                ],
                "description": "This endpoint allows an authenticated benefactor to add a new address to their account.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Address"
                ],
                "summary": "Add a new address for a benefactor",
                "parameters": [
                    {
                        "description": "New address details",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/addressparam.BenefactorAddAddressRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/addressparam.BenefactorAddAddressResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/address/cities": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Address"
                ],
                "summary": "Get all cities",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/addressparam.GetAllCitiesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/address/provinces": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Address"
                ],
                "summary": "Get all provinces",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/addressparam.GetAllProvincesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admin/kindboxreqs": {
            "get": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Admin get all kindboxreq",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "page_number",
                        "name": "page_number",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "page_size",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.KindBoxReqGetAllResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admin/kindboxreqs/accept-kind-box-req/{id}": {
            "patch": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Accept kind box request by admin",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "KindBoxReq ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Accept KindBoxReq Request Body",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAcceptRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAcceptResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admin/kindboxreqs/assign-sender-agent/{id}": {
            "patch": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Admin Assign Sender Agent to kindboxreq",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "KindBoxReq ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Assign Sender Agent Request Body",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.AssignSenderRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.AssignSenderResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admin/kindboxreqs/deliver-kind-box-req/{id}": {
            "patch": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Admin deliver a kindboxreq",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "KindBoxReq ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.DeliverKindBoxReqResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admin/kindboxreqs/reject-kind-box-req/{id}": {
            "patch": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Reject a kindboxreq by admin",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "KindBoxReq id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "KindBoxReq Reject Request Body",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.KindBoxReqRejectRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminkindboxreqparam.KindBoxReqRejectResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admins/login-by-phone": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Admin"
                ],
                "summary": "Admin login by\tPhoneNumber",
                "parameters": [
                    {
                        "description": "Admin login request body",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/adminserviceparam.LoginWithPhoneNumberRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminserviceparam.LoginWithPhoneNumberResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/admins/register": {
            "post": {
                "security": [
                    {
                        "AuthBearerAdmin": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Admin"
                ],
                "summary": "Register an admin by super-admin",
                "parameters": [
                    {
                        "description": "Admin Register Request Body",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/adminserviceparam.RegisterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/adminserviceparam.RegisterResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/kindboxes/": {
            "get": {
                "security": [
                    {
                        "AuthBearerBenefactor": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBox"
                ],
                "summary": "Get all kind boxes for a benefactor",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactorkindboxparam.KindBoxGetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/kindboxes/{id}": {
            "get": {
                "security": [
                    {
                        "AuthBearerBenefactor": []
                    }
                ],
                "description": "This endpoint retrieves a specific kind box associated with an authenticated benefactor.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBox"
                ],
                "summary": "Get a specific kind box for a benefactor",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Kind box ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactorkindboxparam.KindBoxGetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/kindboxreqs/": {
            "post": {
                "security": [
                    {
                        "AuthBearerBenefactor": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Add a new kind box request for a benefactor",
                "parameters": [
                    {
                        "description": "New kind box request details",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqAddRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqAddResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/kindboxreqs/{id}": {
            "get": {
                "security": [
                    {
                        "AuthBearerBenefactor": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "KindBoxReq"
                ],
                "summary": "Get a kind box request for a benefactor",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Kind box request ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqGetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/login-register": {
            "post": {
                "description": "This endpoint is used to authenticate an existing benefactor account or register a new one.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Benefactor"
                ],
                "summary": "Login or register a benefactor",
                "parameters": [
                    {
                        "description": "Login or register request details",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/benefactoreparam.LoginOrRegisterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactoreparam.LoginOrRegisterResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/benefactor/send-otp": {
            "post": {
                "description": "This endpoint sends an OTP to the benefactor's phone number for verification purposes.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Benefactor"
                ],
                "summary": "Send OTP to benefactor",
                "parameters": [
                    {
                        "description": "Send OTP request details",
                        "name": "Request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/benefactoreparam.SendOtpRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/benefactoreparam.SendOtpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "addressparam.BenefactorAddAddressRequest": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string",
                    "example": "tehran"
                },
                "benefactor_id": {
                    "type": "integer",
                    "example": 1
                },
                "city_id": {
                    "type": "integer",
                    "example": 1
                },
                "lat": {
                    "type": "number",
                    "example": 22.23
                },
                "lon": {
                    "type": "number",
                    "example": 22.22
                },
                "postal_code": {
                    "type": "string",
                    "example": "1234567890"
                }
            }
        },
        "addressparam.BenefactorAddAddressResponse": {
            "type": "object",
            "properties": {
                "address": {
                    "$ref": "#/definitions/entity.Address"
                }
            }
        },
        "addressparam.GetAllCitiesResponse": {
            "type": "object",
            "properties": {
                "cities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.City"
                    }
                }
            }
        },
        "addressparam.GetAllProvincesResponse": {
            "type": "object",
            "properties": {
                "provinces": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Province"
                    }
                }
            }
        },
        "adminkindboxreqparam.AssignSenderRequest": {
            "type": "object",
            "properties": {
                "sender_agent_id": {
                    "type": "integer"
                }
            }
        },
        "adminkindboxreqparam.AssignSenderResponse": {
            "type": "object"
        },
        "adminkindboxreqparam.DeliverKindBoxReqResponse": {
            "type": "object"
        },
        "adminkindboxreqparam.KindBoxReqAcceptRequest": {
            "type": "object",
            "properties": {
                "count_accepted": {
                    "type": "integer"
                }
            }
        },
        "adminkindboxreqparam.KindBoxReqAcceptResponse": {
            "type": "object",
            "properties": {
                "count_accepted": {
                    "type": "integer"
                },
                "count_requested": {
                    "type": "integer"
                },
                "deliver_address_id": {
                    "type": "integer"
                },
                "deliver_refer_date": {
                    "type": "string"
                },
                "kind_box_req_id": {
                    "type": "integer"
                },
                "kind_box_req_status": {
                    "$ref": "#/definitions/entity.KindBoxReqStatus"
                }
            }
        },
        "adminkindboxreqparam.KindBoxReqGetAllResponse": {
            "type": "object",
            "properties": {
                "all_kind_box_req": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.KindBoxReq"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/param.PaginationResponse"
                }
            }
        },
        "adminkindboxreqparam.KindBoxReqRejectRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "example": "description"
                }
            }
        },
        "adminkindboxreqparam.KindBoxReqRejectResponse": {
            "type": "object",
            "properties": {
                "benefactor_id": {
                    "type": "integer",
                    "example": 1
                },
                "count_requested": {
                    "type": "integer",
                    "example": 1
                },
                "deliver_address_id": {
                    "type": "integer",
                    "example": 1
                },
                "deliver_refer_date": {
                    "type": "string",
                    "example": "2025-01-02 15:04:05"
                },
                "description": {
                    "type": "string",
                    "example": "description"
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "kind_box_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.KindBoxType"
                        }
                    ],
                    "example": 1
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.KindBoxReqStatus"
                        }
                    ],
                    "example": 1
                }
            }
        },
        "adminserviceparam.AdminInfo": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "example": "This is a description"
                },
                "email": {
                    "type": "string",
                    "example": "example@gmail.com"
                },
                "first_name": {
                    "type": "string",
                    "example": "John"
                },
                "gender": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Gender"
                        }
                    ],
                    "example": 1
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "last_name": {
                    "type": "string",
                    "example": "Doe"
                },
                "phone_number": {
                    "type": "string",
                    "example": "09123456789"
                },
                "role": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.AdminRole"
                        }
                    ],
                    "example": 2
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.AdminStatus"
                        }
                    ],
                    "example": 1
                }
            }
        },
        "adminserviceparam.LoginWithPhoneNumberRequest": {
            "type": "object",
            "properties": {
                "password": {
                    "type": "string",
                    "example": "password123"
                },
                "phone_number": {
                    "type": "string",
                    "example": "09123456789"
                }
            }
        },
        "adminserviceparam.LoginWithPhoneNumberResponse": {
            "type": "object",
            "properties": {
                "admin_info": {
                    "$ref": "#/definitions/adminserviceparam.AdminInfo"
                },
                "tokens": {
                    "$ref": "#/definitions/adminserviceparam.Tokens"
                }
            }
        },
        "adminserviceparam.RegisterRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "example": "this is a description"
                },
                "email": {
                    "type": "string",
                    "example": "miaad.66@gmail.com"
                },
                "first_name": {
                    "type": "string",
                    "example": "miaad"
                },
                "gender": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Gender"
                        }
                    ],
                    "example": 1
                },
                "last_name": {
                    "type": "string",
                    "example": "shahi"
                },
                "password": {
                    "type": "string",
                    "example": "Abc123456"
                },
                "phone_number": {
                    "type": "string",
                    "example": "09183723447"
                },
                "role": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.AdminRole"
                        }
                    ],
                    "example": 2
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.AdminStatus"
                        }
                    ],
                    "example": 1
                }
            }
        },
        "adminserviceparam.RegisterResponse": {
            "type": "object",
            "properties": {
                "admin": {
                    "$ref": "#/definitions/entity.Admin"
                }
            }
        },
        "adminserviceparam.Tokens": {
            "type": "object",
            "properties": {
                "access_token": {
                    "type": "string"
                },
                "refresh_token": {
                    "type": "string"
                }
            }
        },
        "benefactoreparam.BenefactroInfo": {
            "type": "object",
            "properties": {
                "first_name": {
                    "type": "string",
                    "example": "mehdi"
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "last_name": {
                    "type": "string",
                    "example": "rez"
                },
                "role": {
                    "type": "string",
                    "example": "benefactor"
                }
            }
        },
        "benefactoreparam.LoginOrRegisterRequest": {
            "type": "object",
            "properties": {
                "phone_number": {
                    "type": "string",
                    "example": "09198829528"
                },
                "verification_code": {
                    "type": "string",
                    "example": "12345"
                }
            }
        },
        "benefactoreparam.LoginOrRegisterResponse": {
            "type": "object",
            "properties": {
                "benefactore_info": {
                    "$ref": "#/definitions/benefactoreparam.BenefactroInfo"
                },
                "tokens": {
                    "$ref": "#/definitions/benefactoreparam.Tokens"
                }
            }
        },
        "benefactoreparam.SendOtpRequest": {
            "type": "object",
            "properties": {
                "phone_number": {
                    "type": "string",
                    "example": "09198829528"
                }
            }
        },
        "benefactoreparam.SendOtpResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "this just use in test .env\n\t\tTODO - remove it after test",
                    "type": "string"
                },
                "phone_number": {
                    "type": "string",
                    "example": "09198829528"
                }
            }
        },
        "benefactoreparam.Tokens": {
            "type": "object",
            "properties": {
                "access_token": {
                    "type": "string"
                },
                "refresh_token": {
                    "type": "string"
                }
            }
        },
        "benefactorkindboxparam.KindBoxGetResponse": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "benefactorID": {
                    "type": "integer"
                },
                "deliverAddressID": {
                    "type": "integer"
                },
                "deliverReferDate": {
                    "type": "string"
                },
                "deliveredAt": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "kindBoxReqID": {
                    "type": "integer"
                },
                "receiverAgentID": {
                    "type": "integer"
                },
                "returnAddressID": {
                    "type": "integer"
                },
                "returnReferDate": {
                    "type": "string"
                },
                "returnedAt": {
                    "type": "string"
                },
                "senderAgentID": {
                    "type": "integer"
                },
                "serialNumber": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/entity.KindBoxStatus"
                },
                "type": {
                    "$ref": "#/definitions/entity.KindBoxType"
                }
            }
        },
        "benefactorkindboxreqparam.KindBoxReqAddRequest": {
            "type": "object",
            "properties": {
                "benefactor_id": {
                    "type": "integer",
                    "example": 1
                },
                "count_requested": {
                    "type": "integer",
                    "example": 2
                },
                "deliver_address_id": {
                    "type": "integer",
                    "example": 1
                },
                "deliver_refer_date": {
                    "type": "string",
                    "example": "2025-01-02 15:04:05"
                },
                "type_id": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.KindBoxType"
                        }
                    ],
                    "example": 1
                }
            }
        },
        "benefactorkindboxreqparam.KindBoxReqAddResponse": {
            "type": "object",
            "properties": {
                "kind_box_req": {
                    "$ref": "#/definitions/entity.KindBoxReq"
                }
            }
        },
        "benefactorkindboxreqparam.KindBoxReqGetResponse": {
            "type": "object",
            "properties": {
                "kind_box_req": {
                    "$ref": "#/definitions/entity.KindBoxReq"
                }
            }
        },
        "entity.Address": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "benefactorID": {
                    "type": "integer"
                },
                "cityID": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "isMain": {
                    "type": "boolean"
                },
                "lat": {
                    "type": "number"
                },
                "lon": {
                    "type": "number"
                },
                "postalCode": {
                    "type": "string"
                },
                "provinceID": {
                    "type": "integer"
                }
            }
        },
        "entity.Admin": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "gender": {
                    "$ref": "#/definitions/entity.Gender"
                },
                "id": {
                    "type": "integer"
                },
                "lastName": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "phoneNumber": {
                    "type": "string"
                },
                "role": {
                    "$ref": "#/definitions/entity.AdminRole"
                },
                "status": {
                    "$ref": "#/definitions/entity.AdminStatus"
                }
            }
        },
        "entity.AdminRole": {
            "type": "integer",
            "enum": [
                1,
                2,
                3
            ],
            "x-enum-varnames": [
                "AdminSuperAdminRole",
                "AdminAdminRole",
                "AdminAgentRole"
            ]
        },
        "entity.AdminStatus": {
            "type": "integer",
            "enum": [
                1,
                2
            ],
            "x-enum-varnames": [
                "AdminActiveStatus",
                "AdminInactiveStatus"
            ]
        },
        "entity.City": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "provinceID": {
                    "type": "integer"
                }
            }
        },
        "entity.Gender": {
            "type": "integer",
            "enum": [
                1,
                2
            ],
            "x-enum-varnames": [
                "MaleGender",
                "FemaleGender"
            ]
        },
        "entity.KindBoxReq": {
            "type": "object",
            "properties": {
                "benefactorID": {
                    "type": "integer"
                },
                "countAccepted": {
                    "type": "integer"
                },
                "countRequested": {
                    "type": "integer"
                },
                "deliverAddressID": {
                    "type": "integer"
                },
                "deliverReferDate": {
                    "type": "string"
                },
                "deliveredAt": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "kindBoxType": {
                    "$ref": "#/definitions/entity.KindBoxType"
                },
                "senderAgentID": {
                    "type": "integer"
                },
                "status": {
                    "$ref": "#/definitions/entity.KindBoxReqStatus"
                }
            }
        },
        "entity.KindBoxReqStatus": {
            "type": "integer",
            "enum": [
                1,
                2,
                3,
                4,
                5
            ],
            "x-enum-varnames": [
                "KindBoxReqPendingStatus",
                "KindBoxReqAcceptedStatus",
                "KindBoxReqAssignedSenderAgentStatus",
                "KindBoxReqRejectedStatus",
                "KindBoxReqDeliveredStatus"
            ]
        },
        "entity.KindBoxStatus": {
            "type": "integer",
            "enum": [
                1,
                2,
                3,
                4,
                5
            ],
            "x-enum-varnames": [
                "KindBoxDeliveredStatus",
                "KindBoxReadyToReturnStatus",
                "KindBoxAssignedReceiverAgentStatus",
                "KindBoxReturnedStatus",
                "KindBoxEnumeratedStatus"
            ]
        },
        "entity.KindBoxType": {
            "type": "integer",
            "enum": [
                1,
                2,
                3
            ],
            "x-enum-varnames": [
                "KindBoxOnTable",
                "KindBoxCylindrical",
                "KindBoxStandUp"
            ]
        },
        "entity.Province": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "param.PaginationResponse": {
            "type": "object",
            "properties": {
                "page_number": {
                    "type": "integer",
                    "example": 1
                },
                "page_size": {
                    "type": "integer",
                    "example": 10
                },
                "total": {
                    "type": "integer",
                    "example": 100
                }
            }
        }
    },
    "securityDefinitions": {
        "AuthBearerAdmin": {
            "description": "Type the word 'Bearer' followed by a space and Admin JWT token",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        },
        "AuthBearerBenefactor": {
            "description": "Type the word 'Bearer' followed by a space and Benefactor JWT token",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "",
	Host:             "",
	BasePath:         "",
	Schemes:          []string{},
	Title:            "",
	Description:      "",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
