// Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
// This file was generated by swaggo/swag
package docs

import (
	"bytes"
	"encoding/json"
	"strings"
	"text/template"

	"github.com/swaggo/swag"
)

var doc = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/apartment": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Apartment"
                ],
                "summary": "Get apartment list",
                "operationId": "apartment-list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.ListApartmentResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/apartment/{id}": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "tags": [
                    "Apartment"
                ],
                "summary": "Get apartment detail",
                "operationId": "apartment",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Apartment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/category": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Category"
                ],
                "summary": "Get category list",
                "operationId": "category-list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.ListCategoryResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/check/{phone}": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "check phone has registered",
                "operationId": "user-phone-check",
                "parameters": [
                    {
                        "type": "string",
                        "description": "phone",
                        "name": "phone",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/login": {
            "post": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    },
                    {
                        "AppDeviceId": []
                    }
                ],
                "description": "Login with phone/password",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Login",
                "operationId": "user-login",
                "parameters": [
                    {
                        "description": "phone/password",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/login-by-token": {
            "post": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "Retrieve user info with firebase id token",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Login",
                "operationId": "user-login-token",
                "parameters": [
                    {
                        "description": "phone/password",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.LoginByTokenRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/order": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Get order list",
                "operationId": "order-list",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order Status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Group order Status",
                        "name": "group_status",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetBuyerOrdersResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Create order",
                "operationId": "order-create",
                "parameters": [
                    {
                        "description": "Order info",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.CreateOrderReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.CreateOrderResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/order/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Get order detail",
                "operationId": "order",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetBuyerOrderResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/order/{id}/cancel": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Buyer request cancel an order",
                "operationId": "order-cancel",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "order id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/order/{id}/confirm-received": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "buyer confirm the package received",
                "operationId": "order-confirm-received",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "order id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/order/{id}/payment-proof": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Buyer send the payment proof",
                "operationId": "order-payment-proof",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "order id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Payment proof image url",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.ProvePaymentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/product": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Product"
                ],
                "summary": "Get product list",
                "operationId": "product-list",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by User ID",
                        "name": "user_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by Store ID",
                        "name": "store_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by Category ID",
                        "name": "category_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by Apartment ID",
                        "name": "apartment_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.ListProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/product/{id}": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Product"
                ],
                "summary": "Get product detail",
                "operationId": "product",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Product ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/register": {
            "post": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "Register new user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "User register",
                "operationId": "user-register",
                "parameters": [
                    {
                        "description": "New user data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.RegisterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/register-by-device": {
            "post": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "Register temporary user by device id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Anonymous register",
                "operationId": "user-anonymous",
                "parameters": [
                    {
                        "description": "Device and user data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.RegisterByDeviceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "Get seller order list",
                "operationId": "seller-order-list",
                "parameters": [
                    {
                        "type": "string",
                        "description": "filter by status, multi status separate by comma",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "filter by group of status, pending is new order, delivering is the confirmed orders , and complete is orders have been delivered",
                        "name": "group_status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "filter by product name",
                        "name": "payment_status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "filter by store id",
                        "name": "store_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "created from date",
                        "name": "created_from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "created to date",
                        "name": "created_to",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "num of order in response",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "paging",
                        "name": "page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.SellerOrderListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "Get seller order detail",
                "operationId": "seller-order-detail",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.SellerOrderDetailResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order/{id}/cancel": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "Change order status",
                "operationId": "seller-order-change-status",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order/{id}/confirm": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "Seller confirm order will be delivered",
                "operationId": "seller-order-confirm",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path"
                    },
                    {
                        "description": "json body",
                        "name": "json",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/entity.OrderConfirmRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order/{id}/confirm-payment": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "Seller confirm order payment",
                "operationId": "seller-order-confirm-payment",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/order/{id}/delivered": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Order"
                ],
                "summary": "seller confirm the package delivered",
                "operationId": "seller-order-confirm-delivered",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path"
                    },
                    {
                        "description": "json body",
                        "name": "json",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/entity.OrderDeliveredRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/product": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Product"
                ],
                "summary": "Get product list",
                "operationId": "seller-product-list",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "filter by status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "filter by product name",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "filter by store id",
                        "name": "store_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "filter by apartment id",
                        "name": "apartment_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "query item has stock greater than a number",
                        "name": "stock_greater",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "query item has stock less than a number",
                        "name": "stock_less_than",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetSellerProductsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Product"
                ],
                "summary": "Add product",
                "operationId": "seller-add-product",
                "parameters": [
                    {
                        "description": "Product data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.AddSellerProductRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.AddSellerProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/product/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Product"
                ],
                "summary": "Get product detail for seller",
                "operationId": "seller-product-detail",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Product ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetSellerProductsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "Update product name, stock, img...",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Product"
                ],
                "summary": "Update product",
                "operationId": "seller-update-product",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Product ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Product update data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.UpdateSellerProductRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UpdateSellerProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "delete product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Product"
                ],
                "summary": "DeleteProduct",
                "operationId": "seller-delete-product",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Product ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.DeleteSellerProductResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/store": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "return list stores of user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Store"
                ],
                "summary": "List user stores",
                "operationId": "user-store-list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserStoreResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Store"
                ],
                "summary": "Create store",
                "operationId": "user-store-create",
                "parameters": [
                    {
                        "description": "Store data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.StoreCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.StoreCreateResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/seller/store/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Store"
                ],
                "summary": "Get store detail",
                "operationId": "user-store-detail",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Store ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UserSingleStoreResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Seller Store"
                ],
                "summary": "Update store detail",
                "operationId": "user-store-update",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Store ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Store new info",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.StoreCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/store": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "tags": [
                    "Store"
                ],
                "summary": "Get store list",
                "operationId": "store-list",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Category ID",
                        "name": "category_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.ListStoreResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/store/payment": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "tags": [
                    "Store"
                ],
                "summary": "Get stores payment info",
                "operationId": "store-list-payment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "store ids, concat by comma, example store_ids=1,3,5",
                        "name": "store_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.ListStorePaymentInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/store/{id}": {
            "get": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "tags": [
                    "Store"
                ],
                "summary": "Get store detail",
                "operationId": "store-detail",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Store ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.GetStoreResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/store/{id}/rate": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "tags": [
                    "Store"
                ],
                "summary": "Rating a store",
                "operationId": "store-rating",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Store ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "rating data",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.RateStore"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/upload": {
            "post": {
                "security": [
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Upload"
                ],
                "summary": "Upload single file",
                "operationId": "upload",
                "parameters": [
                    {
                        "type": "file",
                        "description": "The file to upload",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UploadResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/user/address": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Update shipping address",
                "operationId": "update-shipping-address",
                "parameters": [
                    {
                        "description": "update info",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.UpdateShippingAddressRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.UpdateShippingAddressResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/user/fcm-registration-token": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    },
                    {
                        "AppDeviceId": []
                    }
                ],
                "description": "save registration token for notification",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Save Fcm Token",
                "operationId": "user-add-token",
                "parameters": [
                    {
                        "description": "fcm registration token ",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.AddFCMTokenRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        },
        "/user/password": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "ApiVersion": []
                    },
                    {
                        "AppVersion": []
                    },
                    {
                        "AppPlatform": []
                    }
                ],
                "description": "Change new password",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Change password",
                "operationId": "user-change-password",
                "parameters": [
                    {
                        "description": "phone/password",
                        "name": "json",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/entity.ChangePasswordRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/entity.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "entity.AddFCMTokenRequest": {
            "type": "object",
            "required": [
                "registration_token"
            ],
            "properties": {
                "device_id": {
                    "type": "string"
                },
                "registration_token": {
                    "type": "string"
                }
            }
        },
        "entity.AddSellerProductRequest": {
            "type": "object",
            "properties": {
                "category_id": {
                    "type": "integer"
                },
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "entity.AddSellerProductResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.SellerProduct"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.Apartment": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "entity.BuyerOrderDetail": {
            "type": "object",
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "canceled_reason": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "group_status": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "is_cancelable": {
                    "type": "boolean"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.BuyerOrderItem"
                    }
                },
                "note": {
                    "type": "string"
                },
                "payment_info": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.StorePayment"
                    }
                },
                "payment_proof": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "integer"
                },
                "price": {
                    "type": "integer"
                },
                "receiver_name": {
                    "type": "string"
                },
                "receiver_phone": {
                    "type": "string"
                },
                "seller_change_note": {
                    "type": "string"
                },
                "seller_change_order_item": {
                    "type": "boolean"
                },
                "status": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "store_name": {
                    "type": "string"
                },
                "store_phone": {
                    "type": "string"
                },
                "total_delivered": {
                    "type": "integer"
                },
                "total_items": {
                    "type": "integer"
                }
            }
        },
        "entity.BuyerOrderItem": {
            "type": "object",
            "properties": {
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                },
                "quantity": {
                    "type": "number"
                },
                "quote_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "integer"
                },
                "subtotal_price": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                }
            }
        },
        "entity.BuyerOrderList": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "group_status": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "is_cancelable": {
                    "type": "boolean"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "payment_status": {
                    "type": "integer"
                },
                "price": {
                    "type": "integer"
                },
                "seller_change_note": {
                    "type": "string"
                },
                "seller_change_order_item": {
                    "type": "boolean"
                },
                "status": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "store_name": {
                    "type": "string"
                },
                "store_phone": {
                    "type": "string"
                },
                "total_delivered": {
                    "type": "integer"
                },
                "total_items": {
                    "type": "integer"
                }
            }
        },
        "entity.Category": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "entity.ChangePasswordRequest": {
            "type": "object",
            "required": [
                "new_password"
            ],
            "properties": {
                "new_password": {
                    "type": "string"
                }
            }
        },
        "entity.CreateOrderReq": {
            "type": "object",
            "required": [
                "shipping_address_id",
                "store_orders"
            ],
            "properties": {
                "shipping_address_id": {
                    "type": "integer"
                },
                "store_orders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.StoreOrder"
                    }
                }
            }
        },
        "entity.CreateOrderRes": {
            "type": "object",
            "properties": {
                "error": {
                    "type": "string"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "order_code": {
                    "type": "string"
                },
                "order_id": {
                    "type": "integer"
                },
                "status": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "success": {
                    "type": "boolean"
                },
                "total_price": {
                    "type": "integer"
                }
            }
        },
        "entity.CreateOrderResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.CreateOrderRes"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.DeleteSellerProductResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "boolean"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.GetBuyerOrderResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.BuyerOrderDetail"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.GetBuyerOrdersResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.BuyerOrderList"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.GetProductResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.ProductItem"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.GetSellerProductsResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SellerProduct"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.GetStoreResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.Store"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.ListApartmentResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Apartment"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.ListCategoryResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Category"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.ListProductResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.ProductItem"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.ListStorePaymentInfo": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.StorePaymentInfo"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.ListStoreResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Store"
                    }
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.LoginByTokenRequest": {
            "type": "object",
            "required": [
                "firebase_id_token"
            ],
            "properties": {
                "firebase_id_token": {
                    "type": "string"
                }
            }
        },
        "entity.LoginRequest": {
            "type": "object",
            "required": [
                "password",
                "phone"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "entity.OrderConfirmRequest": {
            "type": "object",
            "properties": {
                "product_update": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.OrderItemConfirmRequest"
                    }
                }
            }
        },
        "entity.OrderDeliveredRequest": {
            "type": "object",
            "properties": {
                "delivered_product_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "entity.OrderItem": {
            "type": "object",
            "required": [
                "note",
                "product_id",
                "quantity"
            ],
            "properties": {
                "note": {
                    "type": "string"
                },
                "product_id": {
                    "type": "integer"
                },
                "quantity": {
                    "type": "integer"
                }
            }
        },
        "entity.OrderItemConfirmRequest": {
            "type": "object",
            "properties": {
                "note": {
                    "type": "string"
                },
                "productId": {
                    "type": "integer"
                },
                "quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "integer"
                }
            }
        },
        "entity.PaymentMethod": {
            "type": "object",
            "required": [
                "account_name",
                "account_number",
                "channel_name"
            ],
            "properties": {
                "account_name": {
                    "type": "string"
                },
                "account_number": {
                    "type": "string"
                },
                "channel_name": {
                    "type": "string"
                },
                "extra_info": {
                    "type": "string"
                },
                "method": {
                    "type": "string"
                }
            }
        },
        "entity.ProductItem": {
            "type": "object",
            "properties": {
                "apartment_id": {
                    "type": "integer"
                },
                "category_id": {
                    "type": "integer"
                },
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "seller_id": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "entity.ProvePaymentRequest": {
            "type": "object",
            "required": [
                "image_url"
            ],
            "properties": {
                "image_url": {
                    "type": "string"
                }
            }
        },
        "entity.RateStore": {
            "type": "object",
            "required": [
                "comment",
                "rate"
            ],
            "properties": {
                "comment": {
                    "type": "string"
                },
                "rate": {
                    "type": "number"
                }
            }
        },
        "entity.RegisterByDeviceRequest": {
            "type": "object",
            "required": [
                "device_id"
            ],
            "properties": {
                "device_id": {
                    "type": "string"
                }
            }
        },
        "entity.RegisterRequest": {
            "type": "object",
            "required": [
                "device_id",
                "firebase_id_token",
                "name",
                "password",
                "phone"
            ],
            "properties": {
                "avatar": {
                    "type": "string"
                },
                "device_id": {
                    "type": "string"
                },
                "firebase_id_token": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "entity.Response": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "object"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.SellerOrder": {
            "type": "object",
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "buyer_id": {
                    "type": "integer"
                },
                "buyer_name": {
                    "type": "string"
                },
                "buyer_phone": {
                    "type": "string"
                },
                "canceled_reason": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "created_at_in_second": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SellerOrderItem"
                    }
                },
                "note": {
                    "type": "string"
                },
                "payment_proof": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "integer"
                },
                "price": {
                    "type": "integer"
                },
                "receiver_name": {
                    "type": "string"
                },
                "receiver_phone": {
                    "type": "string"
                },
                "seller_id": {
                    "type": "integer"
                },
                "seller_name": {
                    "type": "string"
                },
                "shipping_address_string": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "store_name": {
                    "type": "string"
                },
                "total_delivered": {
                    "type": "integer"
                },
                "total_items": {
                    "type": "integer"
                }
            }
        },
        "entity.SellerOrderDetailResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.SellerOrder"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "entity.SellerOrderItem": {
            "type": "object",
            "properties": {
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                },
                "quantity": {
                    "type": "number"
                },
                "quote_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "integer"
                },
                "subtotal_price": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "entity.SellerOrderListResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SellerOrder"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "entity.SellerProduct": {
            "type": "object",
            "properties": {
                "category_id": {
                    "type": "integer"
                },
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "entity.SellerStore": {
            "type": "object",
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "image": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_accept_cash": {
                    "type": "boolean"
                },
                "payment_method": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.PaymentMethod"
                    }
                },
                "status": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "entity.Store": {
            "type": "object",
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "category_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "image": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_accept_cash": {
                    "type": "boolean"
                },
                "payment_info": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.StorePayment"
                    }
                },
                "phone": {
                    "type": "string"
                },
                "rating": {
                    "type": "number"
                },
                "seller_phone": {
                    "type": "string"
                }
            }
        },
        "entity.StoreCreateRequest": {
            "type": "object",
            "required": [
                "apartment_house_number",
                "apartment_id",
                "description",
                "name",
                "payment_method"
            ],
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "image": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_accept_cash": {
                    "type": "boolean"
                },
                "payment_method": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.PaymentMethod"
                    }
                }
            }
        },
        "entity.StoreCreateResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.StoreCreateReturn"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.StoreCreateReturn": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "entity.StoreOrder": {
            "type": "object",
            "required": [
                "items",
                "store_id"
            ],
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.OrderItem"
                    }
                },
                "note": {
                    "type": "string"
                },
                "store_id": {
                    "type": "integer"
                }
            }
        },
        "entity.StorePayment": {
            "type": "object",
            "properties": {
                "account_name": {
                    "type": "string"
                },
                "account_number": {
                    "type": "string"
                },
                "channel_name": {
                    "type": "string"
                },
                "extra_info": {
                    "type": "string"
                },
                "method": {
                    "type": "string"
                }
            }
        },
        "entity.StorePaymentInfo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "payment_accept_cash": {
                    "type": "boolean"
                },
                "payment_info": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.StorePayment"
                    }
                }
            }
        },
        "entity.UpdateSellerProductRequest": {
            "type": "object",
            "properties": {
                "category_id": {
                    "type": "integer"
                },
                "delivery_commit_time": {
                    "type": "integer"
                },
                "delivery_type": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "images": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "is_quote_after_ordering": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "price": {
                    "type": "integer"
                },
                "status": {
                    "type": "integer"
                },
                "stock": {
                    "type": "integer"
                },
                "store_id": {
                    "type": "integer"
                },
                "thumbnail": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "entity.UpdateSellerProductResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "boolean"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.UpdateShippingAddressRequest": {
            "type": "object",
            "required": [
                "apartment_house_number",
                "apartment_id",
                "receiver_name",
                "receiver_phone"
            ],
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "receiver_name": {
                    "type": "string"
                },
                "receiver_phone": {
                    "type": "string"
                }
            }
        },
        "entity.UpdateShippingAddressResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.UserShippingAddress"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.UploadResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "string"
                },
                "debug_message": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "entity.UserData": {
            "type": "object",
            "properties": {
                "address": {
                    "$ref": "#/definitions/model.UserShippingAddress"
                },
                "is_seller": {
                    "type": "boolean"
                },
                "token": {
                    "type": "string"
                },
                "user": {
                    "$ref": "#/definitions/model.User"
                }
            }
        },
        "entity.UserResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.UserData"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "entity.UserShippingAddress": {
            "type": "object",
            "properties": {
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "receiver_name": {
                    "type": "string"
                },
                "receiver_phone": {
                    "type": "string"
                }
            }
        },
        "entity.UserSingleStoreResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "$ref": "#/definitions/entity.SellerStore"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "entity.UserStoreResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.SellerStore"
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "model.User": {
            "type": "object",
            "properties": {
                "avatar": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "device_id": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "firebase_id": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "is_seller": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "salt": {
                    "type": "string"
                },
                "status": {
                    "description": "1: anonymous ,2: unverified, 3: verified",
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "model.UserShippingAddress": {
            "type": "object",
            "properties": {
                "apartment_house_image": {
                    "type": "string"
                },
                "apartment_house_number": {
                    "type": "string"
                },
                "apartment_id": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "is_main_address": {
                    "type": "boolean"
                },
                "note": {
                    "type": "string"
                },
                "receiver_name": {
                    "type": "string"
                },
                "receiver_phone": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        }
    },
    "securityDefinitions": {
        "ApiVersion": {
            "type": "apiKey",
            "name": "X-Api-Version",
            "in": "header"
        },
        "AppDeviceId": {
            "type": "apiKey",
            "name": "X-App-Device-Id",
            "in": "header"
        },
        "AppPlatform": {
            "type": "apiKey",
            "name": "X-App-Platform",
            "in": "header"
        },
        "AppVersion": {
            "type": "apiKey",
            "name": "X-App-Version",
            "in": "header"
        },
        "BearerAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

type swaggerInfo struct {
	Version     string
	Host        string
	BasePath    string
	Schemes     []string
	Title       string
	Description string
}

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = swaggerInfo{
	Version:     "",
	Host:        "",
	BasePath:    "",
	Schemes:     []string{},
	Title:       "",
	Description: "",
}

type s struct{}

func (s *s) ReadDoc() string {
	sInfo := SwaggerInfo
	sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1)

	t, err := template.New("swagger_info").Funcs(template.FuncMap{
		"marshal": func(v interface{}) string {
			a, _ := json.Marshal(v)
			return string(a)
		},
		"escape": func(v interface{}) string {
			// escape tabs
			str := strings.Replace(v.(string), "\t", "\\t", -1)
			// replace " with \", and if that results in \\", replace that with \\\"
			str = strings.Replace(str, "\"", "\\\"", -1)
			return strings.Replace(str, "\\\\\"", "\\\\\\\"", -1)
		},
	}).Parse(doc)
	if err != nil {
		return doc
	}

	var tpl bytes.Buffer
	if err := t.Execute(&tpl, sInfo); err != nil {
		return doc
	}

	return tpl.String()
}

func init() {
	swag.Register(swag.Name, &s{})
}
