{
    "openapi": "3.0.0",
    "info": {
        "title": "Bagisto Store Front Rest API Documentation",
        "description": "Bagisto Store Front Rest API Documentation",
        "contact": {
            "email": "shop@example.com"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://eleven-backend-145.dev",
            "description": "Bagisto Rest API"
        }
    ],
    "paths": {
        "/api/v1/attributes": {
            "get": {
                "tags": [
                    "Attributes"
                ],
                "summary": "Get attribute list for the shop",
                "description": "Returns attribute list, if you want to retrieve all attributes at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopAttributes",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Attribute ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Attribute"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attributes/{id}": {
            "get": {
                "tags": [
                    "Attributes"
                ],
                "summary": "Get shop attribute by id",
                "description": "Returns shop attribute by id",
                "operationId": "getShopAttribute",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Attribute"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/attribute-families": {
            "get": {
                "tags": [
                    "AttributeFamilies"
                ],
                "summary": "Get attribute family list for the shop",
                "description": "Returns attribute family list, if you want to retrieve all attribute families at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopAttributeFamilies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Attribute Family ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AttributeFamily"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attribute-families/{id}": {
            "get": {
                "tags": [
                    "AttributeFamilies"
                ],
                "summary": "Get shop attribute family by id",
                "description": "Returns shop attribute family by id",
                "operationId": "getShopAttributeFamily",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Attribute family id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AttributeFamily"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/categories": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Get category list for the shop",
                "description": "Returns category list, if you want to retrieve all categories at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopCategories",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Category ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Category"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/categories/{id}": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Get shop category by id",
                "description": "Returns shop category by id",
                "operationId": "getShopCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Category id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Category"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/descendant-categories": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Get shop descendant categories",
                "description": "Returns shop descendant categories based on the parent category id",
                "operationId": "getShopDescendantCategories",
                "parameters": [
                    {
                        "name": "parent_id",
                        "in": "query",
                        "description": "Category id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Category"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/products": {
            "get": {
                "tags": [
                    "Products"
                ],
                "summary": "Get product list for the shop",
                "description": "Returns product list, if you want to retrieve all products at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopProducts",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Category ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Product ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sku",
                        "in": "query",
                        "description": "Product SKU",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Product"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/products/{id}": {
            "get": {
                "tags": [
                    "Products"
                ],
                "summary": "Get shop product by id",
                "description": "Returns shop product by id",
                "operationId": "getShopProduct",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Product"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/products/{id}/additional-information": {
            "get": {
                "tags": [
                    "Products"
                ],
                "summary": "Get product's additional info by id",
                "description": "Get product's additional info by id",
                "operationId": "getShopProductAdditionalInfo",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "code": {
                                                        "type": "string"
                                                    },
                                                    "label": {
                                                        "type": "string"
                                                    },
                                                    "value": {
                                                        "type": "string"
                                                    },
                                                    "admin_name": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string",
                                                        "enum": [
                                                            "text",
                                                            "textarea",
                                                            "price",
                                                            "boolean",
                                                            "select",
                                                            "multiselect",
                                                            "datetime",
                                                            "date",
                                                            "image",
                                                            "file",
                                                            "checkbox"
                                                        ],
                                                        "example": "select"
                                                    }
                                                },
                                                "type": "object"
                                            },
                                            "example": [
                                                {
                                                    "id": 25,
                                                    "code": "brand",
                                                    "label": "Brand",
                                                    "value": "Puma",
                                                    "admin_name": "Brand",
                                                    "type": "select"
                                                },
                                                {
                                                    "id": 26,
                                                    "code": "occasion",
                                                    "label": "Occasion",
                                                    "value": "Anniversary, Wedding",
                                                    "admin_name": "Occasion",
                                                    "type": "multiselect"
                                                }
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/products/{id}/configurable-config": {
            "get": {
                "tags": [
                    "Products"
                ],
                "summary": "Get configurable product options by id",
                "description": "Returns configurable product options by id",
                "operationId": "getShopProductConfigurableOptions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProductConfigurableConfig"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/products/{product_id}/is-wishlisted": {
            "get": {
                "tags": [
                    "Products"
                ],
                "summary": "Get product's wishlist status",
                "description": "Get product's wishlist status",
                "operationId": "getShopProductIsWishlistStatus",
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "is_wishlisted": {
                                                    "type": "boolean",
                                                    "enum": [
                                                        "true",
                                                        "false"
                                                    ],
                                                    "example": "false"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/products/{product_id}/reviews": {
            "post": {
                "tags": [
                    "Products"
                ],
                "summary": "Store product's review by login customer",
                "description": "Store product's review by login customer",
                "operationId": "storeProductReview",
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "comment",
                                    "rating",
                                    "title"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "comment": {
                                        "type": "string"
                                    },
                                    "rating": {
                                        "type": "integer",
                                        "format": "int64",
                                        "enum": [
                                            "5",
                                            "4",
                                            "3",
                                            "2",
                                            "1"
                                        ],
                                        "example": 4
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your review submitted successfully."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ProductReview"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/channels": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Get channel list for the shop",
                "description": "Returns channel list, if you want to retrieve all channels at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopChannels",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Channel id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Channel"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/channels/{id}": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Get shop channel by id",
                "description": "Returns shop channel by id",
                "operationId": "getShopChannel",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Channel id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Channel"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/core-configs": {
            "get": {
                "tags": [
                    "Configs"
                ],
                "summary": "Get Core Config Value",
                "description": "Get core config field value by id",
                "operationId": "getCoreConfig",
                "parameters": [
                    {
                        "name": "_config",
                        "in": "query",
                        "description": "Config id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "general.general.locale_options.weight_unit,general.content.shop.compare_option"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ConfigValue"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/core-config-fields": {
            "get": {
                "tags": [
                    "Configs"
                ],
                "summary": "Get config records list",
                "description": "Returns config list, if you want to retrieve all config records at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCoreConfigList",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Config Record id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Config"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/core-config-fields/{id}": {
            "get": {
                "tags": [
                    "Configs"
                ],
                "summary": "Get config's record by id",
                "description": "Returns config's record by id",
                "operationId": "getCoreConfigDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Config id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Config"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/countries": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Get country list for the shop",
                "description": "Returns country list, if you want to retrieve all countries at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopCountries",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Country id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "description": "Country code",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Country name",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 50
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Country"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/countries/{id}": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Get shop country by id",
                "description": "Returns shop country by id",
                "operationId": "getShopCountry",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Country id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 106
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Country"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/countries-states": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Get states using country code",
                "description": "Returns states using country code",
                "operationId": "getShopStatesByCountryCode",
                "parameters": [
                    {
                        "name": "pagination",
                        "in": "query",
                        "description": "Pagination not needed",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 0
                    },
                    {
                        "name": "country_code",
                        "in": "query",
                        "description": "Country code",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "IN"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CountryState"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/countries/states/groups": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Get countries with their states",
                "description": "Returns countries with their states",
                "operationId": "getShopCountryWithState",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CountryState"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/currencies": {
            "get": {
                "tags": [
                    "Currencies"
                ],
                "summary": "Get currency list for the shop",
                "description": "Returns currency list, if you want to retrieve all currencies at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopCurrencies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Currency id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Currency"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/currencies/{id}": {
            "get": {
                "tags": [
                    "Currencies"
                ],
                "summary": "Get shop currency by id",
                "description": "Returns shop currency by id",
                "operationId": "getShopCurrency",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Currency id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Currency"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/locales": {
            "get": {
                "tags": [
                    "Locales"
                ],
                "summary": "Get locale list for the shop",
                "description": "Returns locale list, if you want to retrieve all locals at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopLocales",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Locale id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Locale"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/locales/{id}": {
            "get": {
                "tags": [
                    "Locales"
                ],
                "summary": "Get shop locale by id",
                "description": "Returns shop locale by id",
                "operationId": "getShopLocale",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Locale id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Locale"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/sliders": {
            "get": {
                "tags": [
                    "Sliders"
                ],
                "summary": "Get slider list for the shop",
                "description": "Returns slider list, if you want to retrieve all sliders at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getShopSliders",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Slider id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Slider"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sliders/{id}": {
            "get": {
                "tags": [
                    "Sliders"
                ],
                "summary": "Get shop slider by id",
                "description": "Returns shop slider by id",
                "operationId": "getShopSlider",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Slider id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Slider"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                }
            }
        },
        "/api/v1/customer/get": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Get logged in customer details",
                "description": "Get logged in customer details",
                "operationId": "getCustomer",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Customer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/profile": {
            "put": {
                "tags": [
                    "Customers"
                ],
                "summary": "Update customer profile",
                "description": "Update customer profile",
                "operationId": "updateCustomer",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "first_name",
                                    "last_name",
                                    "gender",
                                    "date_of_birth",
                                    "email"
                                ],
                                "properties": {
                                    "first_name": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "gender": {
                                        "type": "string",
                                        "example": "Male/Female/Other"
                                    },
                                    "date_of_birth": {
                                        "type": "string",
                                        "example": "yyyy/mm/dd"
                                    },
                                    "phone": {
                                        "type": "string",
                                        "example": "1234567899"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "example@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "admin123"
                                    },
                                    "password_confirmation": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "admin123"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your account has been updated successfully."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Customer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Error: Unprocessable Content",
                        "content": {
                            "application/json": {
                                "schema": {},
                                "examples": {
                                    "result": {
                                        "summary": "An result object.",
                                        "value": {
                                            "message": "The email has already been taken.",
                                            "errors": {
                                                "email": [
                                                    "The email has already been taken."
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/logout": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Logout customer",
                "description": "Logout customer",
                "operationId": "logoutCustomer",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Logged out successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/addresses": {
            "get": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Get logged in customer's address list",
                "description": "Returns address list, if you want to retrieve all addresses at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCustomerAddresses",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Address id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Address"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Create customer's address",
                "description": "Create customer's address",
                "operationId": "createCustomer",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "first_name",
                                    "last_name",
                                    "address1",
                                    "country",
                                    "state",
                                    "city",
                                    "postcode",
                                    "phone"
                                ],
                                "properties": {
                                    "company_name": {
                                        "type": "string",
                                        "example": "Webkul"
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "address1": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "country": {
                                        "description": "US (e.g. United States)",
                                        "type": "string",
                                        "example": "US"
                                    },
                                    "state": {
                                        "description": "CA (e.g. California)",
                                        "type": "string",
                                        "example": "CA"
                                    },
                                    "city": {
                                        "type": "string",
                                        "example": "Oakland"
                                    },
                                    "postcode": {
                                        "type": "integer",
                                        "example": "94606"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "vat_id": {
                                        "type": "string",
                                        "example": "INV01234567891"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your address has been created successfully."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Address"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Error: Unprocessable Content",
                        "content": {
                            "application/json": {
                                "schema": {},
                                "examples": {
                                    "result": {
                                        "summary": "An result object.",
                                        "value": {
                                            "message": "The first name field is required.",
                                            "errors": {
                                                "first_name": [
                                                    "The first name field is required."
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/addresses/{id}": {
            "get": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Get customer's address by id",
                "description": "Returns customer's address by id",
                "operationId": "getCustomerAddressDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Address"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Update customer's address",
                "description": "Update customer's address",
                "operationId": "updateCustomerAddress",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "first_name",
                                    "last_name",
                                    "address1",
                                    "country",
                                    "state",
                                    "city",
                                    "postcode",
                                    "phone"
                                ],
                                "properties": {
                                    "company_name": {
                                        "type": "string",
                                        "example": "Webkul"
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "address1": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "country": {
                                        "description": "US (e.g. United States)",
                                        "type": "string",
                                        "example": "US"
                                    },
                                    "state": {
                                        "description": "CA (e.g. California)",
                                        "type": "string",
                                        "example": "CA"
                                    },
                                    "city": {
                                        "type": "string",
                                        "example": "Oakland"
                                    },
                                    "postcode": {
                                        "type": "integer",
                                        "example": "94606"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "vat_id": {
                                        "type": "string",
                                        "example": "INV01234567891"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Your address has been updated successfully."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Address"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Error: Unprocessable Content",
                        "content": {
                            "application/json": {
                                "schema": {},
                                "examples": {
                                    "result": {
                                        "summary": "An result object.",
                                        "value": {
                                            "message": "The first name field is required.",
                                            "errors": {
                                                "first_name": [
                                                    "The first name field is required."
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Delete customer's address by id",
                "description": "Delete customer's address by id",
                "operationId": "deleteCustomerAddress",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Address Deleted Successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/login": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Login customer",
                "description": "Login customer",
                "operationId": "customerLogin",
                "parameters": [
                    {
                        "name": "accept_token",
                        "in": "query",
                        "description": "Accept Token Flag",
                        "required": false,
                        "schema": {
                            "type": "bool"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "email",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "shop@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "demo123"
                                    },
                                    "device_name": {
                                        "type": "string",
                                        "example": "android"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Logged in successfully."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Customer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid Email or Password"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/register": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Register customer",
                "description": "Register customer",
                "operationId": "registerCustomer",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "first_name",
                                    "last_name",
                                    "email",
                                    "password",
                                    "password_confirmation"
                                ],
                                "properties": {
                                    "first_name": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "shop@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "admin123"
                                    },
                                    "password_confirmation": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "admin123"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Customer registered successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid Request Parameters"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/forgot-password": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Forgot Password customer",
                "description": "Forgot Password customer",
                "operationId": "customerForgotPassword",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "example@example.com"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "We have e-mailed your reset password link."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "We can't find a user with that e-mail address."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/customer/cart": {
            "get": {
                "tags": [
                    "Cart"
                ],
                "summary": "Get customer/guest's cart",
                "description": "Returns customer/guest's cart",
                "operationId": "getCustomerCartDetail",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/add/{productId}": {
            "post": {
                "tags": [
                    "Cart"
                ],
                "summary": "Add product to customer's cart",
                "description": "Add product to customer's cart",
                "operationId": "addCartItem",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "product_id",
                                    "quantity"
                                ],
                                "properties": {
                                    "is_buy_now": {
                                        "description": "Status for buy now",
                                        "type": "boolean",
                                        "example": 0
                                    },
                                    "product_id": {
                                        "description": "Enter the product ID",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "quantity": {
                                        "description": "Enter the quantity wish to add to cart",
                                        "type": "integer",
                                        "example": 2
                                    },
                                    "selected_configurable_option": {
                                        "description": "Use in configurable type product only (Required), variant/child product id",
                                        "type": "integer",
                                        "example": 4
                                    },
                                    "super_attribute": {
                                        "description": "Use in configurable type product only (Required), variant's attribute & option ids",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "23": 4,
                                            "24": 9
                                        }
                                    },
                                    "qty": {
                                        "description": "Use in grouped type product only (Required), index used as simple product ID and value is quantity of simple product",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "1": 2,
                                            "2": 3
                                        }
                                    },
                                    "links": {
                                        "description": "Use in downloadable type product only (Required), value used as link ID",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": [
                                            2,
                                            3
                                        ]
                                    },
                                    "bundle_options": {
                                        "description": "Use in bundle type product only (Required), index used as bundle option id & value used as bundle option's product id",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "1": [
                                                1
                                            ],
                                            "3": [
                                                5
                                            ],
                                            "4": [
                                                7
                                            ],
                                            "2": [
                                                3
                                            ]
                                        }
                                    },
                                    "bundle_option_qty": {
                                        "description": "Use in bundle type product only (Required), value used as bundle option's product quantity",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "1": 1,
                                            "2": 3
                                        }
                                    },
                                    "booking": {
                                        "description": "Use date & slot in default & appointment booking type product only (Required), And qty array in event type booking only.",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "date": {
                                                    "description": "Use with default, appointment, table, & hourly - rental type booking only(Required)",
                                                    "type": "string",
                                                    "format": "date"
                                                },
                                                "slot": {
                                                    "description": "Use with default(type: string), appointment(type: string), table(type: string), & hourly - rental(type: array, indexes: from & to) type booking only(Required)",
                                                    "type": "string"
                                                },
                                                "qty": {
                                                    "description": "Use with event type booking only(Required)",
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "": {
                                                                "type": "integer"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "renting_type": {
                                                    "description": "Possible values: daily or hourly, Use with rental type booking only(Required)",
                                                    "type": "string"
                                                },
                                                "date_from": {
                                                    "description": "Use with daily rental type booking only(Required)",
                                                    "type": "string",
                                                    "format": "date"
                                                },
                                                "date_to": {
                                                    "description": "Use with daily rental type booking only(Required)",
                                                    "type": "string",
                                                    "format": "date"
                                                },
                                                "note": {
                                                    "description": "Use with table type booking only",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "date": "2023-05-14",
                                            "slot": "1684067400-1684078200",
                                            "qty": {
                                                "1": 2,
                                                "2": 5
                                            },
                                            "renting_type": "daily",
                                            "date_from": "2023-05-13",
                                            "date_to": "2023-05-15",
                                            "note": "This is a welcome note."
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Item is successfully added to cart."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Item cannot be added to cart, please try again later!"
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/update": {
            "put": {
                "tags": [
                    "Cart"
                ],
                "summary": "Update cart item",
                "description": "Update cart item",
                "operationId": "updateCartItem",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "qty"
                                ],
                                "properties": {
                                    "qty": {
                                        "description": "Index used as cart_item_id and value is quantity of the product, Use for all types of product (Required)",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "1": 2,
                                            "2": 3
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Cart Item(s) successfully updated."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Quantity cannot be lesser than one."
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/remove/{cartItemId}": {
            "delete": {
                "tags": [
                    "Cart"
                ],
                "summary": "Delete item from cart using cart item id",
                "description": "Delete item from cart using cart item id",
                "operationId": "removeCartItem",
                "parameters": [
                    {
                        "name": "cartItemId",
                        "in": "path",
                        "description": "Cart item id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Item is successfully removed from the cart."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/empty": {
            "delete": {
                "tags": [
                    "Cart"
                ],
                "summary": "Delete all item from cart",
                "description": "Delete all item from cart",
                "operationId": "emptyCart",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Item is successfully removed from the cart."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/move-to-wishlist/{cartItemId}": {
            "post": {
                "tags": [
                    "Cart"
                ],
                "summary": "Move cart item to customer's wishlist",
                "description": "Move cart item to customer's wishlist using cart item id",
                "operationId": "moveToWishlistCartItem",
                "parameters": [
                    {
                        "name": "cartItemId",
                        "in": "path",
                        "description": "Cart item id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Item moved to wishlist successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/cart/coupon": {
            "post": {
                "tags": [
                    "Cart"
                ],
                "summary": "Apply coupon to cart",
                "description": "Apply coupon to cart",
                "operationId": "applyCartCoupon",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "string",
                                        "example": "FLAT10"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Coupon code applied successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Cart"
                ],
                "summary": "Remove cart coupon",
                "description": "Remove cart coupon",
                "operationId": "removeCartCoupon",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Cart"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Coupon removed successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/checkout/save-address": {
            "post": {
                "tags": [
                    "Checkout"
                ],
                "summary": "Save addresses at the checkout",
                "description": "Save addresses at the checkout",
                "operationId": "saveCheckoutAddress",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "billing"
                                ],
                                "properties": {
                                    "billing": {
                                        "description": "",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "address_id": {
                                                    "type": "integer"
                                                },
                                                "address1": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "save_as_address": {
                                                    "type": "boolean"
                                                },
                                                "use_for_shipping": {
                                                    "type": "boolean"
                                                },
                                                "first_name": {
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "company_name": {
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "type": "string"
                                                },
                                                "state": {
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "type": "string"
                                                },
                                                "postcode": {
                                                    "type": "integer"
                                                },
                                                "phone": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "address_id": 14,
                                            "address1": [
                                                "70 Winchester Rd"
                                            ],
                                            "save_as_address": false,
                                            "use_for_shipping": false,
                                            "first_name": "John",
                                            "last_name": "Doe",
                                            "email": "john@example.com",
                                            "company_name": "Bagisto",
                                            "city": "Marrero",
                                            "state": "LA",
                                            "country": "US",
                                            "postcode": 70072,
                                            "phone": 9871234560
                                        }
                                    },
                                    "shipping": {
                                        "description": "",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "address_id": {
                                                    "type": "integer"
                                                },
                                                "address1": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "save_as_address": {
                                                    "type": "boolean"
                                                },
                                                "first_name": {
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "company_name": {
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "type": "string"
                                                },
                                                "state": {
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "type": "string"
                                                },
                                                "postcode": {
                                                    "type": "integer"
                                                },
                                                "phone": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "address_id": null,
                                            "address1": [
                                                "819  Farnum Road"
                                            ],
                                            "save_as_address": false,
                                            "first_name": "John",
                                            "last_name": "Doe",
                                            "email": "john@example.com",
                                            "company_name": "Bagisto",
                                            "city": "Mansfield",
                                            "state": "OH",
                                            "country": "US",
                                            "postcode": 44907,
                                            "phone": 987654321
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Address saved successfully."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cart": {
                                                        "$ref": "#/components/schemas/Cart"
                                                    },
                                                    "rates": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "carrier_title": {
                                                                    "type": "string",
                                                                    "example": "Flat Rate"
                                                                },
                                                                "rates": {
                                                                    "$ref": "#/components/schemas/CartShippingRate"
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Quantity cannot be lesser than one."
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/checkout/save-shipping": {
            "post": {
                "tags": [
                    "Checkout"
                ],
                "summary": "Save shipping method at the checkout",
                "description": "Save shipping method at the checkout",
                "operationId": "saveCheckoutShipping",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "shipping_method"
                                ],
                                "properties": {
                                    "shipping_method": {
                                        "type": "string",
                                        "example": "flatrate_flatrate"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Shipping method saved successfully."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cart": {
                                                        "$ref": "#/components/schemas/Cart"
                                                    },
                                                    "methods": {
                                                        "$ref": "#/components/schemas/CartPayment"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/checkout/save-payment": {
            "post": {
                "tags": [
                    "Checkout"
                ],
                "summary": "Save payment method at the checkout",
                "description": "Save payment method at the checkout",
                "operationId": "saveCheckoutPayment",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "payment"
                                ],
                                "properties": {
                                    "payment": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "method": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "method": "cashondelivery"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Payment method saved successfully."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cart": {
                                                        "$ref": "#/components/schemas/Cart"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/checkout/check-minimum-order": {
            "post": {
                "tags": [
                    "Checkout"
                ],
                "summary": "Check minimun order at the checkout",
                "description": "Check minimun order at the checkout",
                "operationId": "checkMinimumOrderAmount",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Minimum order amount is $120."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cart": {
                                                        "$ref": "#/components/schemas/Cart"
                                                    },
                                                    "status": {
                                                        "type": "boolean",
                                                        "example": "true"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/checkout/save-order": {
            "post": {
                "tags": [
                    "Checkout"
                ],
                "summary": "Create order at the checkout",
                "description": "Create order at the checkout",
                "operationId": "saveCheckoutOrder",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Order saved successfully."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "order": {
                                                        "$ref": "#/components/schemas/Order"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/invoices": {
            "get": {
                "tags": [
                    "Invoices"
                ],
                "summary": "Get Order's invoices of logged in customer",
                "description": "Returns order's invoices list, if you want to retrieve all order's invoices at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCustomerInvoices",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Invoice"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/invoices/{id}": {
            "get": {
                "tags": [
                    "Invoices"
                ],
                "summary": "Get Order's invoice detail by id for logged in customer",
                "description": "Returns order's invoice detail by id for logged in customer",
                "operationId": "getCustomerInvoiceDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Invoice id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Invoice"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/orders": {
            "get": {
                "tags": [
                    "Orders"
                ],
                "summary": "Get logged in customer's order list",
                "description": "Returns order list, if you want to retrieve all orders at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCustomerOrders",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Order id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Order"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/orders/{id}": {
            "get": {
                "tags": [
                    "Orders"
                ],
                "summary": "Get customer's order by id",
                "description": "Returns customer's order by id",
                "operationId": "getCustomerOrderDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Order id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Order"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/orders/{id}/cancel": {
            "post": {
                "tags": [
                    "Orders"
                ],
                "summary": "Cancel customer's order by id",
                "description": "Cancel customer's order by id",
                "operationId": "cancelCustomerOrder",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Order id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Order canceled successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/shipments": {
            "get": {
                "tags": [
                    "Shipments"
                ],
                "summary": "Get Order's shipments of logged in customer",
                "description": "Returns order's shipments list, if you want to retrieve all order's shipments at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCustomerShipments",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Shipment"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/shipments/{id}": {
            "get": {
                "tags": [
                    "Shipments"
                ],
                "summary": "Get Order's shipment detail by id for logged in customer",
                "description": "Returns order's shipment detail by id for logged in customer",
                "operationId": "getCustomerShipmentDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Shipment id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Shipment"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/transactions": {
            "get": {
                "tags": [
                    "Transactions"
                ],
                "summary": "Get Order's transactions of logged in customer",
                "description": "Returns order's transactions list, if you want to retrieve all order's transactions at once pass pagination=0 otherwise ignore this parameter",
                "operationId": "getCustomerTransactions",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort column",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "id"
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "description": "Sort order",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Transaction"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/transactions/{id}": {
            "get": {
                "tags": [
                    "Transactions"
                ],
                "summary": "Get Order's transaction detail by id for logged in customer",
                "description": "Returns order's transaction detail by id for logged in customer",
                "operationId": "getCustomerTransactionDetail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Transaction id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Transaction"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/wishlist": {
            "get": {
                "tags": [
                    "Wishlists"
                ],
                "summary": "Get customer's wishlist",
                "description": "Returns customer's wishlist",
                "operationId": "getCustomerWishlistDetail",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Wishlist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/wishlist/{id}": {
            "post": {
                "tags": [
                    "Wishlists"
                ],
                "summary": "Add or Remove product to customer's wishlist",
                "description": "Add or Remove product to customer's wishlist",
                "operationId": "createOrRemoveCustomerWishlist",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "additional": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "additional": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "selected_configurable_option": {
                                                                "type": "integer"
                                                            },
                                                            "quantity": {
                                                                "type": "integer"
                                                            },
                                                            "product_id": {
                                                                "type": "integer"
                                                            },
                                                            "super_attribute": {
                                                                "type": "array",
                                                                "items": {
                                                                    "properties": {
                                                                        "": {
                                                                            "type": "integer"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                }
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "example": {
                                            "selected_configurable_option": 2,
                                            "quantity": 1,
                                            "product_id": 1,
                                            "super_attribute": {
                                                "attribute_id_1": "attribute_option_id_1",
                                                "attribute_id_2": "attribute_option_id_2"
                                            }
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Product added/removed to wishlist successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/v1/customer/wishlist/{id}/move-to-cart": {
            "post": {
                "tags": [
                    "Wishlists"
                ],
                "summary": "Move Product From Wishlist To Cart",
                "description": "Move product from wishlist to cart",
                "operationId": "moveToCartCustomerWishlist",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Item successfully moved To cart."
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Wishlist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Selected Wishlist product not found.."
                    },
                    "404": {
                        "description": "Something went wrong!"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "Attribute": {
                "title": "Attribute",
                "description": "Attribute model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "title": "Name",
                        "description": "Attribute name, based on locale",
                        "type": "string",
                        "example": "Color"
                    },
                    "admin_name": {
                        "title": "Admin Name",
                        "description": "Attribute default admin name",
                        "type": "string",
                        "example": "Color"
                    },
                    "code": {
                        "title": "Code",
                        "description": "Attribute unique code",
                        "type": "string",
                        "example": "color"
                    },
                    "type": {
                        "title": "Type",
                        "description": "Attribute type",
                        "type": "string",
                        "enum": [
                            "text",
                            "textarea",
                            "price",
                            "boolean",
                            "select",
                            "multiselect",
                            "datetime",
                            "date",
                            "image",
                            "file",
                            "checkbox"
                        ],
                        "example": "select"
                    },
                    "swatch_type": {
                        "title": "Swatch Type",
                        "description": "Attribute swatch type, only use with select type attribute",
                        "type": "string",
                        "enum": [
                            "dropdown",
                            "color",
                            "image",
                            "text"
                        ],
                        "example": "dropdown"
                    },
                    "options": {
                        "$ref": "#/components/schemas/AttributeOption"
                    },
                    "validation": {
                        "title": "Validation",
                        "description": "Attribute validation, only use with text type attribute",
                        "type": "string",
                        "enum": [
                            "numeric",
                            "email",
                            "decimal",
                            "url"
                        ],
                        "example": "email"
                    },
                    "position": {
                        "title": "Position",
                        "description": "Attribute's position",
                        "type": "integer",
                        "example": 1
                    },
                    "is_comparable": {
                        "title": "Is Comparable",
                        "description": "Can use this attribute as comparable or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 1
                    },
                    "is_configurable": {
                        "title": "Is Configurable",
                        "description": "Can use this attribute as configurable or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 1
                    },
                    "is_required": {
                        "title": "Is Required",
                        "description": "This attribute will be use as required or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "is_unique": {
                        "title": "Is Unique",
                        "description": "This attribute will be use as unique or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "is_filterable": {
                        "title": "Is Filterable",
                        "description": "This attribute will be use in category's filter or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "is_user_defined": {
                        "title": "Is User Define",
                        "description": "This attribute is user define or system define",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "is_visible_on_front": {
                        "title": "Is Visible On Front",
                        "description": "This attribute will visible on product view page or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 1
                    },
                    "use_in_flat": {
                        "title": "Use In Flat",
                        "description": "Entry of this attribute will record in Flat table or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "value_per_locale": {
                        "title": "Value Per Locale",
                        "description": "This attribute will use with multi-locale or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "value_per_channel": {
                        "title": "Value Per Channel",
                        "description": "This attribute will use with multi-channel or not",
                        "type": "integer",
                        "enum": [
                            0,
                            1
                        ],
                        "example": 0
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "AttributeFamily": {
                "title": "AttributeFamily",
                "description": "AttributeFamily model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Attribute family's code",
                        "type": "string",
                        "example": "default"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Attribute family's name",
                        "type": "string",
                        "example": "Default"
                    },
                    "status": {
                        "title": "Status",
                        "description": "Attribute family's status",
                        "type": "integer",
                        "enum": [
                            "0",
                            "1"
                        ],
                        "example": 0
                    },
                    "groups": {
                        "$ref": "#/components/schemas/AttributeGroup"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "AttributeGroup": {
                "title": "AttributeGroup",
                "description": "AttributeGroup model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Attribute group's code",
                        "type": "string",
                        "example": null
                    },
                    "name": {
                        "title": "Name",
                        "description": "Attribute group's name",
                        "type": "string",
                        "example": "General"
                    },
                    "swatch_type": {
                        "title": "Swatch Type",
                        "description": "Attribute group's swatch type",
                        "type": "integer",
                        "example": null
                    },
                    "attributes": {
                        "$ref": "#/components/schemas/Attribute"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "AttributeOption": {
                "title": "AttributeOption",
                "description": "AttributeOption model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "admin_name": {
                        "title": "Admin Name",
                        "description": "Option default admin name",
                        "type": "string",
                        "example": "Red"
                    },
                    "label": {
                        "title": "Label",
                        "description": "Option label, based on locale",
                        "type": "string",
                        "example": "Red"
                    },
                    "swatch_value": {
                        "title": "Swatch Value",
                        "description": "Option's swatch type value",
                        "type": "string",
                        "example": null
                    }
                },
                "type": "object"
            },
            "Category": {
                "title": "Category",
                "description": "Category model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "title": "Name",
                        "description": "Category's name",
                        "type": "string",
                        "example": "Women Apparel"
                    },
                    "slug": {
                        "title": "Slug",
                        "description": "Category's slug",
                        "type": "string",
                        "example": "women-apparel"
                    },
                    "display_mode": {
                        "title": "Display Mode",
                        "description": "Category's content display mode",
                        "type": "string",
                        "enum": [
                            "products_and_description",
                            "products_only",
                            "description_only"
                        ],
                        "example": "products_and_description"
                    },
                    "description": {
                        "title": "Description",
                        "description": "Category's description",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
                    },
                    "meta_title": {
                        "title": "Meta Title",
                        "description": "Category's meta title",
                        "type": "string",
                        "example": "Women Apparel"
                    },
                    "meta_description": {
                        "title": "Meta Description",
                        "description": "Category's meta description",
                        "type": "string",
                        "example": "Women Apparel"
                    },
                    "meta_keywords": {
                        "title": "Meta Keywords",
                        "description": "Category's meta keywords",
                        "type": "string",
                        "example": "Women Apparel"
                    },
                    "status": {
                        "title": "Status",
                        "description": "Category's status",
                        "type": "integer",
                        "enum": [
                            "0",
                            "1"
                        ],
                        "example": 1
                    },
                    "image_url": {
                        "title": "Image URL",
                        "description": "Category's image URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/category/{category_id}/{image_name}.jpg"
                    },
                    "category_icon_path": {
                        "title": "Category Icon Path",
                        "description": "Category's icon path",
                        "type": "string",
                        "example": "http://localhost/public/storage/velocity/category_icon_path/{category_id}/{image_name}.png"
                    },
                    "additional": {
                        "title": "Additional",
                        "description": "Category's additional information",
                        "type": "object",
                        "example": null
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Product": {
                "title": "Product",
                "description": "Product model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "sku": {
                        "title": "SKU",
                        "description": "Product SKU",
                        "type": "string",
                        "example": "men-t-shirt"
                    },
                    "type": {
                        "title": "Type",
                        "description": "Product type",
                        "type": "string",
                        "enum": [
                            "simple",
                            "configurable",
                            "virtual",
                            "grouped",
                            "downloadable",
                            "bundle",
                            "booking"
                        ]
                    },
                    "name": {
                        "title": "Name",
                        "description": "Product name",
                        "type": "string",
                        "example": "Men T-Shirt"
                    },
                    "url_key": {
                        "title": "URL Key",
                        "description": "Product URL key",
                        "type": "string",
                        "example": "men-t-shirt"
                    },
                    "price": {
                        "title": "Price",
                        "description": "Product price",
                        "type": "number",
                        "format": "float",
                        "example": 12.2
                    },
                    "formatted_price": {
                        "title": "Formatted Price",
                        "description": "Product's formatted price",
                        "type": "string",
                        "example": "$12.20"
                    },
                    "short_description": {
                        "title": "Short Description",
                        "description": "Product's short description",
                        "type": "string",
                        "example": "What is Lorem Ipsum?"
                    },
                    "description": {
                        "title": "Description",
                        "description": "Product's description",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
                    },
                    "images": {
                        "$ref": "#/components/schemas/ProductImage"
                    },
                    "videos": {
                        "$ref": "#/components/schemas/ProductVideo"
                    },
                    "base_image": {
                        "title": "Base Image",
                        "description": "Product's base image",
                        "type": "array",
                        "items": {
                            "properties": {
                                "small_image_url": {
                                    "type": "string"
                                },
                                "medium_image_url": {
                                    "type": "string"
                                },
                                "large_image_url": {
                                    "type": "string"
                                },
                                "original_image_url": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "small_image_url": "http://localhost/public/vendor/webkul/ui/assets/images/product/small-product-placeholder.webp",
                            "medium_image_url": "http://localhost/public/vendor/webkul/ui/assets/images/product/meduim-product-placeholder.webp",
                            "large_image_url": "http://localhost/public/vendor/webkul/ui/assets/images/product/large-product-placeholder.webp",
                            "original_image_url": "http://localhost/public/vendor/webkul/ui/assets/images/product/original-product-placeholder.webp"
                        }
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "reviews": {
                        "title": "Reviews",
                        "description": "Product's reviews",
                        "type": "array",
                        "items": {
                            "properties": {
                                "total": {
                                    "type": "integer"
                                },
                                "total_rating": {
                                    "type": "string"
                                },
                                "average_rating": {
                                    "type": "string"
                                },
                                "percentage": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "5": {
                                                "type": "number",
                                                "format": "float"
                                            },
                                            "4": {
                                                "type": "number",
                                                "format": "float"
                                            },
                                            "3": {
                                                "type": "number",
                                                "format": "float"
                                            },
                                            "2": {
                                                "type": "number",
                                                "format": "float"
                                            },
                                            "1": {
                                                "type": "number",
                                                "format": "float"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "total": 4,
                            "total_rating": "14",
                            "average_rating": "3.5",
                            "percentage": {
                                "5": 0,
                                "4": 50,
                                "3": 50,
                                "2": 0,
                                "1": 0
                            }
                        }
                    },
                    "in_stock": {
                        "title": "In Stock",
                        "description": "Product's in stock status",
                        "type": "boolean",
                        "example": true
                    },
                    "is_saved": {
                        "title": "In Saved",
                        "description": "Product's in saved status",
                        "type": "boolean",
                        "example": false
                    },
                    "is_item_in_cart": {
                        "title": "In Item In Cart",
                        "description": "Product's is in cart or not status",
                        "type": "boolean",
                        "example": false
                    },
                    "show_quantity_changer": {
                        "title": "Show Quantity Changer",
                        "description": "Show quantity changer status for front end",
                        "type": "boolean",
                        "example": true
                    },
                    "currency_options": {
                        "title": "Currency Options",
                        "description": "Currency options",
                        "type": "array",
                        "items": {
                            "properties": {
                                "symbol": {
                                    "type": "string"
                                },
                                "decimal": {
                                    "type": "string"
                                },
                                "format": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "symbol": "$",
                            "decimal": ".",
                            "format": "%s%v"
                        }
                    },
                    "special_price": {
                        "title": "Special Price",
                        "description": "Product's special price, Only use if special_price is applied to product",
                        "type": "number",
                        "format": "float",
                        "example": 8
                    },
                    "formatted_special_price": {
                        "title": "Formatted Special Price",
                        "description": "Product's formatted special price, Only use if special_price is applied to product",
                        "type": "string",
                        "example": "$8.00"
                    },
                    "regular_price": {
                        "title": "Regular Price",
                        "description": "Product's regular price",
                        "type": "number",
                        "format": "float",
                        "example": 12.2
                    },
                    "formatted_regular_price": {
                        "title": "Formatted Regular Price",
                        "description": "Product's formatted regular price",
                        "type": "string",
                        "example": "$12.20"
                    },
                    "variants": {
                        "$ref": "#/components/schemas/ProductFlat"
                    },
                    "super_attributes": {
                        "$ref": "#/components/schemas/Attribute"
                    },
                    "grouped_products": {
                        "$ref": "#/components/schemas/ProductFlat"
                    },
                    "downloadable_links": {
                        "$ref": "#/components/schemas/ProductDownloadableLink"
                    },
                    "downloadable_samples": {
                        "$ref": "#/components/schemas/ProductDownloadableSample"
                    },
                    "bundle_options": {
                        "title": "Bundle Options",
                        "description": "Info: this property will only use with bundle type product.",
                        "type": "array",
                        "items": {
                            "properties": {
                                "options": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer"
                                            },
                                            "label": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string",
                                                "enum": [
                                                    "select",
                                                    "checkbox",
                                                    "multiselect",
                                                    "radio"
                                                ]
                                            },
                                            "is_required": {
                                                "type": "integer",
                                                "enum": [
                                                    "0",
                                                    "1"
                                                ]
                                            },
                                            "sort_order": {
                                                "type": "integer"
                                            },
                                            "products": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer"
                                                        },
                                                        "qty": {
                                                            "type": "integer"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "product_id": {
                                                            "type": "integer"
                                                        },
                                                        "is_default": {
                                                            "type": "integer",
                                                            "enum": [
                                                                "0",
                                                                "1"
                                                            ]
                                                        },
                                                        "in_stock": {
                                                            "type": "boolean",
                                                            "enum": [
                                                                "true",
                                                                "false"
                                                            ]
                                                        },
                                                        "inventory": {
                                                            "type": "integer"
                                                        },
                                                        "price": {
                                                            "type": "array",
                                                            "items": {
                                                                "properties": {
                                                                    "regular_price": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "properties": {
                                                                                "price": {
                                                                                    "type": "integer"
                                                                                },
                                                                                "formated_price": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    },
                                                                    "final_price": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "properties": {
                                                                                "price": {
                                                                                    "type": "integer"
                                                                                },
                                                                                "formated_price": {
                                                                                    "type": "string"
                                                                                }
                                                                            },
                                                                            "type": "object"
                                                                        }
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "options": {
                                "id": 1,
                                "label": "Select One",
                                "type": "select",
                                "is_required": 1,
                                "sort_order": 1,
                                "products": {
                                    "id": 1,
                                    "qty": 2,
                                    "name": "Digital Camera",
                                    "product_id": 1,
                                    "is_default": 0,
                                    "sort_order": 1,
                                    "in_stock": true,
                                    "inventory": 1200,
                                    "price": {
                                        "regular_price": {
                                            "price": 17,
                                            "formated_price": "$17.00"
                                        },
                                        "final_price": {
                                            "price": 17,
                                            "formated_price": "$17.00"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "booking": {
                        "$ref": "#/components/schemas/ProductBooking"
                    },
                    "slot_index_route": {
                        "title": "Slot Index Route",
                        "description": "Slot index route for booking type product",
                        "type": "string",
                        "example": "http://localhost/public/booking-slots/{booking_id}"
                    },
                    "today_slots_html": {
                        "title": "Today Slots Html",
                        "description": "Today's formatted html of available slots",
                        "type": "string",
                        "example": "10:00 am - 12:00 pm | 12:30 pm - 02:00 pm"
                    },
                    "week_slot_durations": {
                        "title": "Week Slot Durations",
                        "description": "Week Slot Durations, Only use in case of appointment and table type booking and same_slot_all_days set to 0 i.e. No",
                        "type": "array",
                        "items": {
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "slots": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "example": "{week_number}_slot_{week_time_slot_number} e.g. 0_slot_0, Info: only use this field with table type booking."
                                            },
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            {
                                "name": "Sunday",
                                "slots": [
                                    {
                                        "id": "0_slot_0",
                                        "from": "09:00",
                                        "to": "11:00"
                                    },
                                    {
                                        "id": "0_slot_1",
                                        "from": "12:00",
                                        "to": "01:00"
                                    },
                                    {
                                        "id": "0_slot_2",
                                        "from": "18:00",
                                        "to": "20:00"
                                    }
                                ]
                            },
                            {
                                "name": "Monday",
                                "slots": [
                                    {
                                        "id": "1_slot_0",
                                        "from": "09:00",
                                        "to": "01:00"
                                    },
                                    {
                                        "id": "1_slot_1",
                                        "from": "18:00",
                                        "to": "20:00"
                                    }
                                ]
                            },
                            {
                                "name": "Tuesday",
                                "slots": []
                            },
                            {
                                "name": "Wednesday",
                                "slots": []
                            },
                            {
                                "name": "Thursday",
                                "slots": []
                            },
                            {
                                "name": "Friday",
                                "slots": [
                                    {
                                        "id": "5_slot_0",
                                        "from": "09:00",
                                        "to": "01:00"
                                    },
                                    {
                                        "id": "5_slot_1",
                                        "from": "18:00",
                                        "to": "20:00"
                                    }
                                ]
                            },
                            {
                                "name": "Saturday",
                                "slots": []
                            }
                        ]
                    },
                    "event_date": {
                        "title": "Event Date",
                        "description": "Event date, Info: this property will only use with event type booking product.",
                        "type": "string",
                        "example": "12 May, 2023 12:00 PM - 31 May, 2023 12:00 PM"
                    }
                },
                "type": "object"
            },
            "ProductAttributeValue": {
                "title": "ProductAttributeValue",
                "description": "ProductAttributeValue model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "locale": {
                        "title": "Locale",
                        "description": "Locale code",
                        "type": "string",
                        "example": "en"
                    },
                    "channel": {
                        "title": "Channel",
                        "description": "Channel code",
                        "type": "string",
                        "example": "default"
                    },
                    "text_value": {
                        "title": "Text Value",
                        "description": "Text type attribute value i.e. Name",
                        "type": "string",
                        "example": "Black-L"
                    },
                    "boolean_value": {
                        "title": "Boolean Value",
                        "description": "Boolean type attribute value i.e. Guest Checkout",
                        "type": "boolean",
                        "example": false
                    },
                    "integer_value": {
                        "title": "Integer Value",
                        "description": "Integer type attribute value i.e. Custom attribute Age",
                        "type": "integer",
                        "example": 30
                    },
                    "float_value": {
                        "title": "Float Value",
                        "description": "Float type attribute value i.e. Price",
                        "type": "integer",
                        "example": 30.2
                    },
                    "datetime_value": {
                        "title": "Datetime Value",
                        "description": "Datetime type attribute value",
                        "type": "string",
                        "format": "date-time",
                        "example": "2023-11-24 10:20:00"
                    },
                    "date_value": {
                        "title": "Date Value",
                        "description": "Date type attribute value i.e. Special Price From",
                        "example": "2023-11-16"
                    },
                    "json_value": {
                        "title": "Json Value",
                        "description": "Json type attribute value i.e. Additional Info",
                        "type": "object",
                        "example": {
                            "key": "value"
                        }
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Inventry belongs to which product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "attribute_id": {
                        "title": "Attribute ID",
                        "description": "Attribute ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "ProductBooking": {
                "title": "ProductBooking",
                "description": "ProductBooking model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "type": {
                        "title": "Type",
                        "description": "Booking type",
                        "type": "string",
                        "enum": [
                            "default",
                            "appointment",
                            "event",
                            "rental",
                            "table"
                        ],
                        "example": "default"
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Available quantity for booking",
                        "type": "integer",
                        "example": 100
                    },
                    "location": {
                        "title": "Location",
                        "description": "Booking location",
                        "type": "string",
                        "example": "Delhi, India"
                    },
                    "show_location": {
                        "title": "Show Location",
                        "description": "Show location status",
                        "type": "integer",
                        "enum": [
                            "0",
                            "1"
                        ],
                        "example": 0
                    },
                    "available_every_week": {
                        "title": "Available Every Week",
                        "description": "Available every week, i.e same slots for all days or different slots for each days.",
                        "type": "integer",
                        "enum": [
                            "null",
                            "0"
                        ],
                        "example": null
                    },
                    "available_from": {
                        "title": "Available From",
                        "description": "Booking start date time",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "available_to": {
                        "title": "Available To",
                        "description": "Booking end date time",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "default_slot": {
                        "$ref": "#/components/schemas/ProductBookingDefault"
                    },
                    "appointment_slot": {
                        "$ref": "#/components/schemas/ProductBookingAppointment"
                    },
                    "event_tickets": {
                        "$ref": "#/components/schemas/ProductBookingEvent"
                    },
                    "rental_slot": {
                        "$ref": "#/components/schemas/ProductBookingRental"
                    },
                    "table_slot": {
                        "$ref": "#/components/schemas/ProductBookingTable"
                    }
                },
                "type": "object"
            },
            "ProductBookingAppointment": {
                "title": "ProductBookingAppointment",
                "description": "ProductBookingAppointment model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "duration": {
                        "title": "Duration",
                        "description": "Booking duration in minutes",
                        "type": "integer",
                        "example": 50
                    },
                    "break_time": {
                        "title": "Break Time",
                        "description": "Break time after each booking slot",
                        "type": "integer",
                        "example": 10
                    },
                    "same_slot_all_days": {
                        "title": "Same Slot All Days",
                        "description": "Same slot all days(null => yes & 0 => no), i.e same slots for all days or different slots for each days.",
                        "type": "integer",
                        "enum": [
                            "null",
                            "0"
                        ],
                        "example": 0
                    },
                    "booking_product_id": {
                        "title": "Booking Product ID",
                        "description": "Booking product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "slots": {
                        "title": "Slots",
                        "description": "Booking slots",
                        "type": "array",
                        "items": {
                            "properties": {
                                "0": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "1": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "2": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "3": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "4": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "5": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "0": [
                                {
                                    "from": "09:00",
                                    "to": "11:00"
                                },
                                {
                                    "from": "12:00",
                                    "to": "01:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "20:00"
                                }
                            ],
                            "1": [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "22:00"
                                }
                            ],
                            "5": [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                }
                            ]
                        }
                    }
                },
                "type": "object"
            },
            "ProductBookingDefault": {
                "title": "ProductBookingDefault",
                "description": "ProductBookingDefault model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "booking_type": {
                        "title": "Booking Type",
                        "description": "Default booking type",
                        "type": "string",
                        "enum": [
                            "one",
                            "many"
                        ],
                        "example": "one"
                    },
                    "duration": {
                        "title": "Duration",
                        "description": "Booking duration in minutes",
                        "type": "integer",
                        "example": 50
                    },
                    "break_time": {
                        "title": "Break Time",
                        "description": "Break time after each booking slot",
                        "type": "integer",
                        "example": 10
                    },
                    "booking_product_id": {
                        "title": "Booking Product ID",
                        "description": "Booking product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "slots": {
                        "title": "Slots",
                        "description": "Booking slots",
                        "type": "array",
                        "items": {
                            "properties": {
                                "from": {
                                    "type": "string"
                                },
                                "to": {
                                    "type": "string"
                                },
                                "from_day": {
                                    "description": "Day's number, Only use with one booking_type",
                                    "type": "string",
                                    "enum": [
                                        "0",
                                        "1",
                                        "2",
                                        "3",
                                        "4",
                                        "5",
                                        "6"
                                    ],
                                    "example": "0"
                                },
                                "to_day": {
                                    "description": "Day's number, Only use with one booking_type",
                                    "type": "string",
                                    "enum": [
                                        "0",
                                        "1",
                                        "2",
                                        "3",
                                        "4",
                                        "5",
                                        "6"
                                    ],
                                    "example": "0"
                                },
                                "status": {
                                    "description": "Only use with many booking_type",
                                    "type": "string",
                                    "enum": [
                                        "0",
                                        "1"
                                    ],
                                    "example": "1"
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "from": "10:00",
                            "to": "12:00",
                            "from_day": "0",
                            "to_day": "0"
                        }
                    }
                },
                "type": "object"
            },
            "ProductBookingEvent": {
                "title": "ProductBookingEvent",
                "description": "ProductBookingEvent model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "price": {
                        "title": "Price",
                        "description": "Ticket's price",
                        "type": "string",
                        "example": "20.00"
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Available quantity for ticket booking",
                        "type": "integer",
                        "example": 100
                    },
                    "special_price": {
                        "title": "Special Price",
                        "description": "Ticket's special price, Only use if special_price is applied to ticket booking",
                        "type": "number",
                        "format": "float",
                        "example": 18
                    },
                    "special_price_from": {
                        "title": "Special Price From",
                        "description": "Special price will start from which date",
                        "type": "string",
                        "format": "datetime",
                        "example": "2023-05-16"
                    },
                    "special_price_to": {
                        "title": "Special Price To",
                        "description": "Special price will end on which date",
                        "type": "string",
                        "format": "datetime",
                        "example": "2023-11-24"
                    },
                    "booking_product_id": {
                        "title": "Booking Product ID",
                        "description": "Booking product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "original_converted_price": {
                        "title": "Original Converted Price",
                        "description": "Original converted price, base price",
                        "type": "number",
                        "format": "float",
                        "example": "20.00"
                    },
                    "original_formated_price": {
                        "title": "Original Formatted Price",
                        "description": "Original formatted price, base formatted price",
                        "type": "string",
                        "example": "$20.00"
                    },
                    "converted_price": {
                        "title": "Converted Price",
                        "description": "Converted price",
                        "type": "number",
                        "format": "float",
                        "example": "18.00"
                    },
                    "formated_price": {
                        "title": "Formated Price",
                        "description": "Formatted price, converted formatted price",
                        "type": "string",
                        "example": "$18.00"
                    },
                    "formated_price_text": {
                        "title": "Formated Price Text",
                        "description": "Formatted price text",
                        "type": "string",
                        "example": "$18.00 Per Ticket"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Event name",
                        "type": "string",
                        "example": "Morning Show"
                    },
                    "description": {
                        "title": "Description",
                        "description": "Event description",
                        "type": "string",
                        "example": "Morning Show"
                    },
                    "translations": {
                        "title": "Translations",
                        "description": "Ticket booking translations based on locale",
                        "type": "array",
                        "items": {
                            "properties": {
                                "id": {
                                    "type": "integer"
                                },
                                "locale": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "booking_product_event_ticket_id": {
                                    "type": "integer"
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            {
                                "id": 1,
                                "locale": "en",
                                "name": "Morning Show",
                                "description": "Morning Show Morning Show",
                                "booking_product_event_ticket_id": 1
                            }
                        ]
                    }
                },
                "type": "object"
            },
            "ProductBookingRental": {
                "title": "ProductBookingRental",
                "description": "ProductBookingRental model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "renting_type": {
                        "title": "Renting Type",
                        "description": "Renting type",
                        "type": "string",
                        "enum": [
                            "daily",
                            "hourly",
                            "daily_hourly"
                        ],
                        "example": "daily"
                    },
                    "daily_price": {
                        "title": "Daily Price",
                        "description": "Price on daily basis",
                        "type": "number",
                        "format": "float",
                        "example": 24
                    },
                    "hourly_price": {
                        "title": "Hourly Price",
                        "description": "Price on hourly basis",
                        "type": "number",
                        "format": "float",
                        "example": 1
                    },
                    "same_slot_all_days": {
                        "title": "Same Slot All Days",
                        "description": "Same slot all days(null => yes & 0 => no), i.e same slots for all days or different slots for each days.",
                        "type": "integer",
                        "enum": [
                            "null",
                            "0"
                        ],
                        "example": 0
                    },
                    "booking_product_id": {
                        "title": "Booking Product ID",
                        "description": "Booking product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "slots": {
                        "title": "Slots",
                        "description": "Booking slots",
                        "type": "array",
                        "items": {
                            "properties": {
                                "slots": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            [
                                {
                                    "from": "09:00",
                                    "to": "11:00"
                                },
                                {
                                    "from": "12:00",
                                    "to": "01:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "20:00"
                                }
                            ],
                            [],
                            [],
                            [],
                            [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "22:00"
                                }
                            ],
                            [],
                            [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                }
                            ]
                        ]
                    }
                },
                "type": "object"
            },
            "ProductBookingTable": {
                "title": "ProductBookingTable",
                "description": "ProductBookingTable model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "price_type": {
                        "title": "Price Type",
                        "description": "Booking price will be calculated based on table or guest",
                        "type": "string",
                        "enum": [
                            "guest",
                            "table"
                        ],
                        "example": "guest"
                    },
                    "guest_limit": {
                        "title": "Guest Limit",
                        "description": "Total guest limit in the venue or per table",
                        "type": "integer",
                        "example": 4
                    },
                    "duration": {
                        "title": "Duration",
                        "description": "Booking duration in minutes",
                        "type": "integer",
                        "example": 50
                    },
                    "break_time": {
                        "title": "Break Time",
                        "description": "Break time after each booking slot",
                        "type": "integer",
                        "example": 10
                    },
                    "prevent_scheduling_before": {
                        "title": "Prevent Scheduling Before",
                        "description": "You can prevent the booking scheduling before x mins",
                        "type": "integer",
                        "example": 5
                    },
                    "same_slot_all_days": {
                        "title": "Same Slot All Days",
                        "description": "Same slot all days(null => yes & 0 => no), i.e same slots for all days or different slots for each days.",
                        "type": "integer",
                        "enum": [
                            "null",
                            "0"
                        ],
                        "example": 0
                    },
                    "booking_product_id": {
                        "title": "Booking Product ID",
                        "description": "Booking product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "slots": {
                        "title": "Slots",
                        "description": "Booking slots",
                        "type": "array",
                        "items": {
                            "properties": {
                                "slots": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "from": {
                                                "type": "string"
                                            },
                                            "to": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            [
                                {
                                    "from": "09:00",
                                    "to": "11:00"
                                },
                                {
                                    "from": "12:00",
                                    "to": "01:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "20:00"
                                }
                            ],
                            [],
                            [],
                            [],
                            [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                },
                                {
                                    "from": "18:00",
                                    "to": "22:00"
                                }
                            ],
                            [],
                            [
                                {
                                    "from": "09:00",
                                    "to": "12:00"
                                }
                            ]
                        ]
                    }
                },
                "type": "object"
            },
            "ProductConfigurableConfig": {
                "title": "ProductConfigurableConfig",
                "description": "ProductConfigurableConfig model, Use with configurable type product only.",
                "properties": {
                    "chooseText": {
                        "title": "Choose Text",
                        "description": "Text of the dropdown that will display at product view page",
                        "type": "string",
                        "example": "Choose an option"
                    },
                    "attributes": {
                        "title": "Attributes",
                        "description": "List of configurable attributes with available options",
                        "type": "array",
                        "items": {
                            "properties": {
                                "id": {
                                    "type": "integer"
                                },
                                "code": {
                                    "type": "string"
                                },
                                "label": {
                                    "type": "string"
                                },
                                "swatch_type": {
                                    "type": "string"
                                },
                                "options": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer"
                                            },
                                            "label": {
                                                "type": "string"
                                            },
                                            "swatch_type": {
                                                "type": "string"
                                            },
                                            "products": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "attributes": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            {
                                "id": 23,
                                "code": "color",
                                "label": "Color",
                                "swatch_type": null,
                                "options": [
                                    {
                                        "id": 4,
                                        "label": "Black",
                                        "swatch_value": null,
                                        "products": [
                                            4,
                                            6
                                        ]
                                    },
                                    {
                                        "id": 5,
                                        "label": "White",
                                        "swatch_value": null,
                                        "products": [
                                            5,
                                            7
                                        ]
                                    }
                                ]
                            },
                            {
                                "id": 24,
                                "code": "size",
                                "label": "Size",
                                "swatch_type": null,
                                "options": [
                                    {
                                        "id": 8,
                                        "label": "L",
                                        "swatch_value": null,
                                        "products": [
                                            4,
                                            5
                                        ]
                                    },
                                    {
                                        "id": 9,
                                        "label": "XL",
                                        "swatch_value": null,
                                        "products": [
                                            6,
                                            7
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    "index": {
                        "title": "Index",
                        "description": "Mapped list of configurable attributes with their options",
                        "properties": {
                            "variant_product_id": {
                                "properties": {
                                    "attribute_id": {
                                        "type": "integer",
                                        "example": "Use the key:value, where {attribute_id} will be key and {attribute_option_id} will be value, both type will be integer"
                                    }
                                },
                                "type": "object",
                                "example": "Use the {variant_product_id} as index"
                            }
                        },
                        "type": "object",
                        "example": {
                            "4": {
                                "23": 4,
                                "24": 8
                            },
                            "5": {
                                "23": 5,
                                "24": 8
                            },
                            "6": {
                                "23": 4,
                                "24": 9
                            },
                            "7": {
                                "23": 5,
                                "24": 9
                            }
                        }
                    },
                    "variant_prices": {
                        "title": "Variant Prices",
                        "description": "Variant prices",
                        "properties": {
                            "variant_product_id": {
                                "properties": {
                                    "regular_price": {
                                        "properties": {
                                            "price": {
                                                "type": "integer",
                                                "example": 60
                                            },
                                            "formated_price": {
                                                "type": "string",
                                                "example": "$60.00"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "final_price": {
                                        "properties": {
                                            "price": {
                                                "type": "integer",
                                                "example": 60
                                            },
                                            "formated_price": {
                                                "type": "string",
                                                "example": "$60.00"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "type": "object",
                                "example": "Use the {variant_product_id} as index"
                            }
                        },
                        "type": "object",
                        "example": {
                            "4": {
                                "regular_price": {
                                    "price": 40,
                                    "formated_price": "$40.00"
                                },
                                "final_price": {
                                    "price": 38.5,
                                    "formated_price": "$38.50"
                                }
                            },
                            "5": {
                                "regular_price": {
                                    "price": 30,
                                    "formated_price": "$30.00"
                                },
                                "final_price": {
                                    "price": 30,
                                    "formated_price": "$30.00"
                                }
                            },
                            "6": {
                                "regular_price": {
                                    "price": 45,
                                    "formated_price": "$45.00"
                                },
                                "final_price": {
                                    "price": 45,
                                    "formated_price": "$45.00"
                                }
                            },
                            "7": {
                                "regular_price": {
                                    "price": 60,
                                    "formated_price": "$60.00"
                                },
                                "final_price": {
                                    "price": 60,
                                    "formated_price": "$60.00"
                                }
                            }
                        }
                    },
                    "variant_images": {
                        "title": "Variant Images",
                        "description": "Variant images",
                        "properties": {
                            "variant_product_id": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "small_image_url": {
                                            "type": "string",
                                            "example": "http://localhost/public/cache/small/product/{product_id}/{image_name.jpg}"
                                        },
                                        "medium_image_url": {
                                            "type": "string",
                                            "example": "http://localhost/public/cache/small/product/{product_id}/{image_name.jpg}"
                                        },
                                        "large_image_url": {
                                            "type": "string",
                                            "example": "http://localhost/public/cache/small/product/{product_id}/{image_name.jpg}"
                                        },
                                        "original_image_url": {
                                            "type": "string",
                                            "example": "http://localhost/public/cache/small/product/{product_id}/{image_name.jpg}"
                                        }
                                    },
                                    "type": "object"
                                },
                                "example": "Use the {variant_product_id} as index"
                            }
                        },
                        "type": "object",
                        "example": {
                            "4": [
                                {
                                    "small_image_url": "http://localhost/public/cache/small/product/4/{image_name.jpg}",
                                    "medium_image_url": "http://localhost/public/cache/medium/product/4/{image_name.jpg}",
                                    "large_image_url": "http://localhost/public/cache/large/product/4/{image_name.jpg}",
                                    "original_image_url": "http://localhost/public/cache/original/product/4/{image_name.jpg}"
                                }
                            ],
                            "5": [
                                {
                                    "small_image_url": "http://localhost/public/cache/small/product/5/{image_name.jpg}",
                                    "medium_image_url": "http://localhost/public/cache/medium/product/5/{image_name.jpg}",
                                    "large_image_url": "http://localhost/public/cache/large/product/5/{image_name.jpg}",
                                    "original_image_url": "http://localhost/public/cache/original/product/5/{image_name.jpg}"
                                }
                            ],
                            "6": [
                                {
                                    "small_image_url": "http://localhost/public/cache/small/product/6/{image_name.jpg}",
                                    "medium_image_url": "http://localhost/public/cache/medium/product/6/{image_name.jpg}",
                                    "large_image_url": "http://localhost/public/cache/large/product/6/{image_name.jpg}",
                                    "original_image_url": "http://localhost/public/cache/original/product/6/{image_name.jpg}"
                                }
                            ],
                            "7": [
                                {
                                    "small_image_url": "http://localhost/public/cache/small/product/7/{image_name.jpg}",
                                    "medium_image_url": "http://localhost/public/cache/medium/product/7/{image_name.jpg}",
                                    "large_image_url": "http://localhost/public/cache/large/product/7/{image_name.jpg}",
                                    "original_image_url": "http://localhost/public/cache/original/product/7/{image_name.jpg}"
                                }
                            ]
                        }
                    },
                    "variant_videos": {
                        "title": "Variant Videos",
                        "description": "Variant videos",
                        "properties": {
                            "variant_product_id": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "path": {
                                            "type": "string",
                                            "example": "http://localhost/public/cache/small/product/{product_id}/{video_name.mp4}"
                                        }
                                    },
                                    "type": "object"
                                },
                                "example": "Use the {variant_product_id} as index"
                            }
                        },
                        "type": "object",
                        "example": {
                            "4": [],
                            "5": [],
                            "6": [],
                            "7": []
                        }
                    },
                    "regular_price": {
                        "title": "Regular Price",
                        "description": "Regular price",
                        "properties": {
                            "formated_price": {
                                "type": "string",
                                "example": "$30.00"
                            },
                            "price": {
                                "type": "number",
                                "format": "float",
                                "example": 30
                            }
                        },
                        "type": "object",
                        "example": {
                            "formated_price": "$30.00",
                            "price": 30
                        }
                    }
                },
                "type": "object"
            },
            "ProductCustomerGroupPrice": {
                "title": "ProductCustomerGroupPrice",
                "description": "ProductCustomerGroupPrice model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Product quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 150
                    },
                    "value_type": {
                        "title": "Value Type",
                        "description": "Discount type unit",
                        "type": "string",
                        "enum": [
                            "fixed",
                            "discount"
                        ]
                    },
                    "value": {
                        "title": "value",
                        "description": "Discount amount",
                        "type": "number",
                        "format": "int64",
                        "example": 5.2
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product's ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "customer_group_id": {
                        "title": "Customer Group ID",
                        "description": "Entry belongs to which customer group ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "ProductDownloadableLink": {
                "title": "ProductDownloadableLink",
                "description": "ProductDownloadableLink model, Only use with downloadable type product",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "title": {
                        "title": "Title",
                        "description": "Link title",
                        "type": "string",
                        "example": "Link One"
                    },
                    "translations": {
                        "$ref": "#/components/schemas/ProductDownloadableLinkTranslation"
                    },
                    "type": {
                        "title": "Type",
                        "description": "Link type",
                        "type": "string",
                        "enum": [
                            "file",
                            "url"
                        ],
                        "example": "file"
                    },
                    "url": {
                        "title": "URL",
                        "description": "Image URL, only use with type `url`",
                        "type": "string",
                        "example": "https://cdn.pixabay.com/photo/2018/04/26/16/31/marine-3352341_960_720.jpg"
                    },
                    "file": {
                        "title": "File",
                        "description": "File's stored path, only use with type `file`",
                        "type": "string",
                        "example": "product_downloadable_links/{product_id}/{file_name.jpg}"
                    },
                    "file_name": {
                        "title": "File Name",
                        "description": "Stored File's name, only use with type `file`",
                        "type": "string",
                        "example": "{file_name.jpg}"
                    },
                    "file_url": {
                        "title": "File URL",
                        "description": "Stored file's URL, only use with type `file`",
                        "type": "string",
                        "example": "http://localhost/public/storage/product_downloadable_links/{product_id}/{file_name}.jpg"
                    },
                    "price": {
                        "title": "Price",
                        "description": "Link's additional formatted price",
                        "type": "string",
                        "example": "$5.00"
                    },
                    "sample_type": {
                        "title": "Sample Type",
                        "description": "Sample type",
                        "type": "string",
                        "enum": [
                            "file",
                            "url"
                        ],
                        "example": "file"
                    },
                    "sample_url": {
                        "title": "Sample URL",
                        "description": "Sample link's URL, only use if sample_type is url",
                        "type": "string",
                        "example": "https://cdn.pixabay.com/photo/2018/04/26/16/31/marine-3352341_960_720.jpg"
                    },
                    "sample_file": {
                        "title": "Sample File",
                        "description": "Sample file's path, only use if sample_type is file",
                        "type": "string",
                        "example": "product_downloadable_links/{product_id}/{sample_file_name}.jpg"
                    },
                    "sample_file_name": {
                        "title": "Sample File Name",
                        "description": "Sample file name, only use if sample_type is file",
                        "type": "string",
                        "example": "{sample_file_name}.jpg"
                    },
                    "sample_file_url": {
                        "title": "Sample File URL",
                        "description": "Sample file's URL, only use if sample_type is file",
                        "type": "string",
                        "example": "http://localhost/public/storage/product_downloadable_links/{product_id}/{file_name}.jpg"
                    },
                    "sample_download_url": {
                        "title": "Sample Download URL",
                        "description": "Sample file download URL, only use if sample_type is file",
                        "type": "string",
                        "example": "http://localhost/public/downloadable/download-sample/link/{download_link_id}"
                    },
                    "downloads": {
                        "title": "Downloads",
                        "description": "Link file download count for customer",
                        "type": "integer",
                        "format": "int64",
                        "example": 10
                    },
                    "sort_order": {
                        "title": "Sort Order",
                        "description": "Link sort order",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "ProductDownloadableLinkTranslation": {
                "title": "ProductDownloadableLinkTranslation",
                "description": "ProductDownloadableLinkTranslation model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "locale": {
                        "title": "Locale",
                        "description": "Locale code",
                        "type": "string",
                        "example": "en"
                    },
                    "title": {
                        "title": "Title",
                        "description": "Link title based on the locale",
                        "type": "string",
                        "example": "Link One"
                    },
                    "product_downloadable_link_id": {
                        "title": "Product Downloadable Link ID",
                        "description": "Downloadable product's link ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "ProductDownloadableSample": {
                "title": "ProductDownloadableSample",
                "description": "ProductDownloadableSample model, Only use with downloadable type product",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "title": {
                        "title": "Title",
                        "description": "Sample title",
                        "type": "string",
                        "example": "Sample One"
                    },
                    "translations": {
                        "$ref": "#/components/schemas/ProductDownloadableSampleTranslation"
                    },
                    "type": {
                        "title": "Type",
                        "description": "Sample type",
                        "type": "string",
                        "enum": [
                            "file",
                            "url"
                        ],
                        "example": "file"
                    },
                    "url": {
                        "title": "URL",
                        "description": "Image URL, only use with type `url`",
                        "type": "string",
                        "example": "https://cdn.pixabay.com/photo/2018/04/26/16/31/marine-3352341_960_720.jpg"
                    },
                    "file": {
                        "title": "File",
                        "description": "File's stored path, only use with type `file`",
                        "type": "string",
                        "example": "product_downloadable_links/{product_id}/{file_name.jpg}"
                    },
                    "file_name": {
                        "title": "File Name",
                        "description": "Stored File's name, only use with type `file`",
                        "type": "string",
                        "example": "{file_name.jpg}"
                    },
                    "file_url": {
                        "title": "File URL",
                        "description": "Stored file's URL, only use with type `file`",
                        "type": "string",
                        "example": "http://localhost/public/storage/product_downloadable_links/{product_id}/{file_name}.jpg"
                    },
                    "download_url": {
                        "title": "Download URL",
                        "description": "Sample file download URL, only use if type is file",
                        "type": "string",
                        "example": "http://localhost/public/downloadable/download-sample/sample/{download_sample_id}"
                    },
                    "sort_order": {
                        "title": "Sort Order",
                        "description": "Sample sort order",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "ProductDownloadableSampleTranslation": {
                "title": "ProductDownloadableSampleTranslation",
                "description": "ProductDownloadableSampleTranslation model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "locale": {
                        "title": "Locale",
                        "description": "Locale code",
                        "type": "string",
                        "example": "en"
                    },
                    "title": {
                        "title": "Title",
                        "description": "Sample title based on the locale",
                        "type": "string",
                        "example": "Sample One"
                    },
                    "product_downloadable_sample_id": {
                        "title": "Product Downloadable Sample ID",
                        "description": "Downloadable product's sample ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "ProductFlat": {
                "title": "ProductFlat",
                "description": "ProductFlat model, Use in case of variants, grouped_products.",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "type": {
                        "title": "Type",
                        "description": "Product type",
                        "type": "string",
                        "enum": [
                            "simple",
                            "configurable",
                            "virtual",
                            "grouped",
                            "downloadable",
                            "bundle",
                            "booking"
                        ]
                    },
                    "attribute_family_id": {
                        "title": "Attribute Family ID",
                        "description": "Product's attribute family ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "sku": {
                        "title": "SKU",
                        "description": "Product SKU",
                        "type": "string",
                        "example": "wooden-furniture-variant-4-8"
                    },
                    "product_number": {
                        "title": "Product Number",
                        "description": "Product number",
                        "type": "string",
                        "example": "wfv-48"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Product name",
                        "type": "string",
                        "example": "Black-L"
                    },
                    "url_key": {
                        "title": "URL Key",
                        "description": "Product URL key",
                        "type": "string",
                        "example": "men-t-shirt"
                    },
                    "tax_category_id": {
                        "title": "Tax Category ID",
                        "description": "Product's tax category ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "new": {
                        "title": "New",
                        "description": "Product's new status",
                        "type": "boolean",
                        "example": true
                    },
                    "featured": {
                        "title": "Featured",
                        "description": "Product's featured status",
                        "type": "boolean",
                        "example": false
                    },
                    "visible_individually": {
                        "title": "Visible Individually",
                        "description": "Product will show individually at store or not status",
                        "type": "boolean",
                        "example": true
                    },
                    "guest_checkout": {
                        "title": "Guest Checkout",
                        "description": "Guest can checkout with this product or not status",
                        "type": "boolean",
                        "example": true
                    },
                    "status": {
                        "title": "Status",
                        "description": "Product's status",
                        "type": "boolean",
                        "example": true
                    },
                    "color": {
                        "title": "Color",
                        "description": "Color i.e. product's attribute(s) code",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "size": {
                        "title": "Size",
                        "description": "Size i.e. product's attribute(s) code",
                        "type": "integer",
                        "format": "int64",
                        "example": 8
                    },
                    "brand": {
                        "title": "Brand",
                        "description": "Brand i.e. product's attribute(s) code",
                        "type": "integer",
                        "format": "int64",
                        "example": null
                    },
                    "short_description": {
                        "title": "Short Description",
                        "description": "Product's short description",
                        "type": "string",
                        "example": "What is Lorem Ipsum?"
                    },
                    "description": {
                        "title": "Description",
                        "description": "Product's description",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
                    },
                    "meta_title": {
                        "title": "Meta Title",
                        "description": "Product's meta title",
                        "type": "string",
                        "example": "Lorem Ipsum"
                    },
                    "meta_keywords": {
                        "title": "Meta Keywords",
                        "description": "Product's meta keyword which helps in SEO",
                        "type": "string",
                        "example": "Lorem Ipsum"
                    },
                    "meta_description": {
                        "title": "Meta Description",
                        "description": "Product's meta description",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy"
                    },
                    "price": {
                        "title": "Price",
                        "description": "Product's price",
                        "type": "number",
                        "format": "float",
                        "example": 12.2
                    },
                    "cost": {
                        "title": "Cost",
                        "description": "Product's cost price",
                        "type": "number",
                        "format": "float",
                        "example": 0
                    },
                    "special_price": {
                        "title": "Special Price",
                        "description": "Product's special price",
                        "type": "number",
                        "format": "float",
                        "example": 10
                    },
                    "special_price_from": {
                        "title": "Special Price From",
                        "description": "Special price will start from which date",
                        "type": "string",
                        "format": "date",
                        "example": "2023-05-16"
                    },
                    "special_price_to": {
                        "title": "Special Price To",
                        "description": "Special price will end on which date",
                        "type": "string",
                        "format": "date",
                        "example": "2023-11-24"
                    },
                    "length": {
                        "title": "Length",
                        "description": "Product's length",
                        "type": "number",
                        "format": "float",
                        "example": 2
                    },
                    "width": {
                        "title": "Width",
                        "description": "Product's width",
                        "type": "number",
                        "format": "float",
                        "example": 5.25
                    },
                    "height": {
                        "title": "Height",
                        "description": "Product's height",
                        "type": "number",
                        "format": "float",
                        "example": 1.2
                    },
                    "weight": {
                        "title": "Weight",
                        "description": "Product's weight to calculate shipping charges",
                        "type": "number",
                        "format": "float",
                        "example": 3
                    },
                    "inventories": {
                        "$ref": "#/components/schemas/ProductInventory"
                    },
                    "ordered_inventories": {
                        "$ref": "#/components/schemas/ProductOrderedInventory"
                    },
                    "customer_group_prices": {
                        "$ref": "#/components/schemas/ProductCustomerGroupPrice"
                    },
                    "attribute_values": {
                        "$ref": "#/components/schemas/ProductAttributeValue"
                    },
                    "additional": {
                        "title": "Additional",
                        "description": "Product's additional information",
                        "type": "object",
                        "example": []
                    },
                    "parent_id": {
                        "title": "Parent ID",
                        "description": "Product's parent ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Grouped's product quantity, Only use with grouped type product.",
                        "type": "integer",
                        "example": 1
                    },
                    "isSaleable": {
                        "title": "Is Saleable",
                        "description": "Is saleable status, Only use with grouped type product.",
                        "type": "boolean",
                        "example": true
                    },
                    "formatted_price": {
                        "title": "Formatted Price",
                        "description": "Product's forrmated price, Only use with grouped type product.",
                        "type": "string",
                        "example": "$15.00"
                    },
                    "show_quantity_changer": {
                        "title": "Show Quantity Changer",
                        "description": "Use to show quantity change option at product view page, Only use with grouped type product.",
                        "type": "boolean",
                        "example": true
                    }
                },
                "type": "object"
            },
            "ProductImage": {
                "title": "ProductImage",
                "description": "ProductImage model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "type": {
                        "title": "Type",
                        "description": "Image type",
                        "type": "string",
                        "enum": [
                            "images"
                        ]
                    },
                    "path": {
                        "title": "Path",
                        "description": "Image path",
                        "type": "string",
                        "example": "product/{product_id}/{image_name.jpg}"
                    },
                    "url": {
                        "title": "URL",
                        "description": "Image URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/product/{product_id}/{image_name.jpg}"
                    },
                    "original_image_url": {
                        "title": "original_image_url",
                        "description": "Original image URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/product/{product_id}/{image_name.jpg}"
                    },
                    "small_image_url": {
                        "title": "small_image_url",
                        "description": "Small image URL",
                        "type": "string",
                        "example": "http://localhost/public/cache/small/product/{product_id}/{image_name.jpg}"
                    },
                    "medium_image_url": {
                        "title": "medium_image_url",
                        "description": "Medium image URL",
                        "type": "string",
                        "example": "http://localhost/public/cache/medium/product/{product_id}/{image_name.jpg}"
                    },
                    "large_image_url": {
                        "title": "large_image_url",
                        "description": "Original image URL",
                        "type": "string",
                        "example": "http://localhost/public/cache/large/product/{product_id}/{image_name.jpg}"
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "position": {
                        "title": "Position",
                        "description": "Image position",
                        "type": "integer",
                        "format": "int64",
                        "example": 0
                    }
                },
                "type": "object"
            },
            "ProductInventory": {
                "title": "ProductInventory",
                "description": "ProductInventory model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Product quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 150
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Inventry belongs to which product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "inventory_source_id": {
                        "title": "Inventory Source ID",
                        "description": "Product inventry belongs to which inventory source",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "vendor_id": {
                        "title": "Vendor ID",
                        "description": "Product inventry belongs to which vendor ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 0
                    }
                },
                "type": "object"
            },
            "ProductOrderedInventory": {
                "title": "ProductOrderedInventory",
                "description": "ProductOrderedInventory model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "qty": {
                        "title": "Qty",
                        "description": "Product quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 150
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Inventry belongs to which product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "channel_id": {
                        "title": "Channel ID",
                        "description": "Channel id from which channel order placed.",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "ProductReview": {
                "title": "ProductReview",
                "description": "ProductReview model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "title": {
                        "title": "Title",
                        "description": "Review title",
                        "type": "string",
                        "example": "Good Product & Fast Service"
                    },
                    "rating": {
                        "title": "Rating",
                        "description": "Review rating",
                        "type": "integer",
                        "format": "int64",
                        "enum": [
                            "5",
                            "4",
                            "3",
                            "2",
                            "1"
                        ],
                        "example": 4
                    },
                    "comment": {
                        "title": "Comment",
                        "description": "Review comment",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
                    },
                    "name": {
                        "title": "Name",
                        "description": "Customer Name",
                        "type": "string",
                        "example": "Peter Doe"
                    },
                    "status": {
                        "title": "Status",
                        "description": "Review status",
                        "type": "string",
                        "enum": [
                            "pending",
                            "approved",
                            "disapproved"
                        ]
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "product": {
                        "$ref": "#/components/schemas/Product"
                    },
                    "customer_id": {
                        "title": "Customer ID",
                        "description": "Customer ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    }
                },
                "type": "object"
            },
            "ProductVideo": {
                "title": "ProductVideo",
                "description": "ProductVideo model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "type": {
                        "title": "Type",
                        "description": "Video type",
                        "type": "string",
                        "enum": [
                            "videos"
                        ]
                    },
                    "path": {
                        "title": "Path",
                        "description": "Video path",
                        "type": "string",
                        "example": "product/{product_id}/{video_name.jpg}"
                    },
                    "url": {
                        "title": "URL",
                        "description": "Video URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/product/{product_id}/{video_name.jpg}"
                    }
                },
                "type": "object"
            },
            "Channel": {
                "title": "Channel",
                "description": "Channel model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Channel code",
                        "type": "string",
                        "example": "default"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Channel name",
                        "type": "string",
                        "example": "Default"
                    },
                    "description": {
                        "title": "Description",
                        "description": "Channel description",
                        "type": "string",
                        "example": "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
                    },
                    "timezone": {
                        "title": "Timezone",
                        "description": "Channel timezone",
                        "type": "string",
                        "example": "GMT+5:30"
                    },
                    "theme": {
                        "title": "Theme",
                        "description": "Channel theme code",
                        "type": "string",
                        "example": "velocity"
                    },
                    "home_page_content": {
                        "title": "Home Page Content",
                        "description": "Channel home page content",
                        "type": "string",
                        "example": "<p>@include('shop::home.slider') @include('shop::home.featured-products') @include('shop::home.new-products')</p>"
                    },
                    "footer_content": {
                        "title": "Footer Content",
                        "description": "Channel footer content",
                        "type": "string",
                        "example": "<div class='list-container'><span class='list-heading'>Quick Links</span></div>"
                    },
                    "hostname": {
                        "title": "Hostname",
                        "description": "Channel host name, website URL",
                        "type": "string",
                        "example": "https://demo.bagisto.com/"
                    },
                    "logo": {
                        "title": "Logo",
                        "description": "Channel logo, website's logo",
                        "type": "string",
                        "example": "channel/{channel_id}/{logo_name.jpg}"
                    },
                    "logo_url": {
                        "title": "Logo URL",
                        "description": "Channel logo URL, website's logo URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/channel/{channel_id}/{logo_name.jpg}"
                    },
                    "favicon": {
                        "title": "Favicon",
                        "description": "Channel favicon, website's favicon",
                        "type": "string",
                        "example": "channel/{channel_id}/{favicon_name.jpg}"
                    },
                    "favicon_url": {
                        "title": "Favicon URL",
                        "description": "Channel favicon URL, website's favicon URL",
                        "type": "string",
                        "example": "http://localhost/public/storage/channel/{channel_id}/{favicon_name.jpg}"
                    },
                    "default_locale": {
                        "$ref": "#/components/schemas/Locale"
                    },
                    "root_category_id": {
                        "title": "Root Category Id",
                        "description": "Channel's default root category ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "root_category": {
                        "$ref": "#/components/schemas/Category"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Config": {
                "title": "Config",
                "description": "Config model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Core field code",
                        "type": "string",
                        "format": "string",
                        "example": "general.general.locale_options.weight_unit"
                    },
                    "value": {
                        "title": "Value",
                        "description": "Core field value",
                        "type": "string",
                        "format": "string",
                        "example": "lbs"
                    },
                    "channel_code": {
                        "title": "Channel Code",
                        "description": "Channel code",
                        "type": "string",
                        "format": "string",
                        "example": "default"
                    },
                    "locale_code": {
                        "title": "Locale Code",
                        "description": "Locale code",
                        "type": "string",
                        "format": "string",
                        "example": "en"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "ConfigValue": {
                "title": "ConfigValue",
                "description": "ConfigValue model",
                "properties": {
                    "code1": {
                        "title": "Value1",
                        "description": "Core field code",
                        "type": "string",
                        "format": "string",
                        "example": "value1"
                    },
                    "code2": {
                        "title": "Value2",
                        "description": "Core field code",
                        "type": "string",
                        "format": "string",
                        "example": "value2"
                    }
                },
                "type": "object"
            },
            "Country": {
                "title": "Country",
                "description": "Country model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Country code",
                        "type": "string",
                        "example": "IN"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Country name",
                        "type": "string",
                        "example": "India"
                    }
                },
                "type": "object"
            },
            "CountryState": {
                "title": "CountryState",
                "description": "CountryState model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "country_code": {
                        "title": "Country Code",
                        "description": "Country code",
                        "type": "string",
                        "example": "IN"
                    },
                    "code": {
                        "title": "Code",
                        "description": "State code",
                        "type": "string",
                        "example": "UP"
                    },
                    "default_name": {
                        "title": "Default Name",
                        "description": "State default name",
                        "type": "string",
                        "example": "Uttar Pradesh"
                    },
                    "country_id": {
                        "title": "Country ID",
                        "description": "Country ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 106
                    },
                    "translations": {
                        "$ref": "#/components/schemas/CountryStateTranslation"
                    }
                },
                "type": "object"
            },
            "CountryStateTranslation": {
                "title": "CountryStateTranslation",
                "description": "CountryStateTranslation model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "locale": {
                        "title": "Locale",
                        "description": "Locale code",
                        "type": "string",
                        "example": "en"
                    },
                    "default_name": {
                        "title": "Default Name",
                        "description": "State default name",
                        "type": "string",
                        "example": "Uttar Pradesh"
                    },
                    "country_state_id": {
                        "title": "Country's State ID",
                        "description": "Country's state ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 106
                    }
                },
                "type": "object"
            },
            "Currency": {
                "title": "Currency",
                "description": "Currency model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Currency code",
                        "type": "string",
                        "example": "USD"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Currency name",
                        "type": "string",
                        "example": "US Dollar"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "symbol": {
                        "title": "Symbol",
                        "description": "Currency symbol",
                        "type": "string",
                        "example": "$"
                    }
                },
                "type": "object"
            },
            "Locale": {
                "title": "Locale",
                "description": "Locale model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "code": {
                        "title": "Code",
                        "description": "Locale code",
                        "type": "string",
                        "example": "en"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Locale name",
                        "type": "string",
                        "example": "English"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "direction": {
                        "title": "Direction",
                        "description": "Locale direction",
                        "type": "string",
                        "enum": [
                            "ltr",
                            "rtl"
                        ]
                    },
                    "locale_image": {
                        "title": "Image",
                        "description": "Locale image",
                        "type": "string",
                        "example": "settings/locale-images/1/image_name.jpg"
                    }
                },
                "type": "object"
            },
            "Slider": {
                "title": "Slider",
                "description": "Slider model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "title": {
                        "title": "Title",
                        "description": "Slide's title",
                        "type": "string",
                        "example": "New Collection for Woman"
                    },
                    "image_url": {
                        "title": "Image URL",
                        "description": "Slide's image url",
                        "type": "string",
                        "example": "http://localhost/public/storage/slider_images/Default/{image_name.jpg}"
                    },
                    "content": {
                        "title": "Content",
                        "description": "Slide's content",
                        "type": "string",
                        "example": "What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry"
                    }
                },
                "type": "object"
            },
            "Address": {
                "title": "Address",
                "description": "Address model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "first_name": {
                        "title": "First Name",
                        "description": "Customer's First Name",
                        "type": "string",
                        "example": "John"
                    },
                    "last_name": {
                        "title": "Last Name",
                        "description": "Customer's Last Name",
                        "type": "string",
                        "example": "Doe"
                    },
                    "company_name": {
                        "title": "Company Name",
                        "description": "Customer's Company Name",
                        "type": "string",
                        "example": "Bagisto-Laravel"
                    },
                    "vat_id": {
                        "title": "VAT ID",
                        "description": "Customer's VAT ID",
                        "type": "string",
                        "example": "INV01234567891"
                    },
                    "address1": {
                        "title": "Address1",
                        "description": "Customer's Address1",
                        "type": "string",
                        "example": "819, Farnum Road"
                    },
                    "address2": {
                        "title": "Address2",
                        "description": "Customer's Address2",
                        "type": "string",
                        "example": "St. Elmira"
                    },
                    "country": {
                        "title": "Country",
                        "description": "Address Country, contains only country code US (e.g. United States)",
                        "type": "string",
                        "example": "US"
                    },
                    "country_name": {
                        "title": "Country Name",
                        "description": "Address Country Name, contains complate country name (e.g. United States)",
                        "type": "string",
                        "example": "United States"
                    },
                    "state": {
                        "title": "State",
                        "description": "Address State, contains only state code MD (e.g. Maryland)",
                        "type": "string",
                        "example": "MD"
                    },
                    "city": {
                        "title": "City",
                        "description": "Address City",
                        "type": "string",
                        "example": "Woodbine"
                    },
                    "postcode": {
                        "title": "Postcode",
                        "description": "Address Postcode",
                        "type": "integer",
                        "format": "int64",
                        "example": 21797
                    },
                    "phone": {
                        "title": "Phone",
                        "description": "Customer's Phone Number",
                        "type": "string",
                        "example": "1234567890"
                    },
                    "is_default": {
                        "title": "Is Default Address or Not",
                        "description": "Customer's Default Address",
                        "type": "boolean",
                        "enum": [
                            "1",
                            "0"
                        ]
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Cart": {
                "title": "Cart",
                "description": "Cart model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "customer_email": {
                        "title": "Customer Email",
                        "description": "Customer email",
                        "type": "string",
                        "example": "john@example.com"
                    },
                    "customer_first_name": {
                        "title": "Customer First Name",
                        "description": "Customer first name",
                        "type": "string",
                        "example": "John"
                    },
                    "customer_last_name": {
                        "title": "Customer Last Name",
                        "description": "Customer first name",
                        "type": "string",
                        "example": "Doe"
                    },
                    "shipping_method": {
                        "title": "Shipping Method",
                        "description": "Selected shipping method name for the current cart",
                        "type": "string",
                        "example": "flatrate_flatrate"
                    },
                    "coupon_code": {
                        "title": "Coupon Code",
                        "description": "Applied coupon code to the cart",
                        "type": "string",
                        "example": "FLAT10%"
                    },
                    "items_count": {
                        "title": "Item Count",
                        "description": "Total number of cart's item",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "items_qty": {
                        "title": "Item Quantity",
                        "description": "Total quantity of cart's items",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "base_currency_code": {
                        "title": "Base Currency Code",
                        "description": "Base Currency Code",
                        "type": "string",
                        "example": "USD"
                    },
                    "channel_currency_code": {
                        "title": "Channel Currency Code",
                        "description": "Channel/Store Currency Code",
                        "type": "string",
                        "example": "USD"
                    },
                    "cart_currency_code": {
                        "title": "Cart Currency Code",
                        "description": "Cart Currency Code i.e. Currency code in which product added to the cart",
                        "type": "string",
                        "example": "USD"
                    },
                    "grand_total": {
                        "title": "Grand Total",
                        "description": "Grand Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_grand_total": {
                        "title": "Formatted Grand Total",
                        "description": "Formatted Grand Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "$10.00"
                    },
                    "base_grand_total": {
                        "title": "Base Grand Total",
                        "description": "Base Grand Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_grand_total": {
                        "title": "Formatted Base Grand Total",
                        "description": "Formatted Base Grand Total of the Cart",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "sub_total": {
                        "title": "Sub Total",
                        "description": "Sub Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_sub_total": {
                        "title": "Formatted Sub Total",
                        "description": "Formatted Sub Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "$10.00"
                    },
                    "base_sub_total": {
                        "title": "Base Sub Total",
                        "description": "Base Sub Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_sub_total": {
                        "title": "Formatted Base Sub Total",
                        "description": "Formatted Base Sub Total of the Cart",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "tax_total": {
                        "title": "Tax Total",
                        "description": "Tax Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_tax_total": {
                        "title": "Formatted Tax Total",
                        "description": "Formatted Tax Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "$10.00"
                    },
                    "base_tax_total": {
                        "title": "Base Tax Total",
                        "description": "Base Tax Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_tax_total": {
                        "title": "Formatted Base Tax Total",
                        "description": "Formatted Base Tax Total of the Cart",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "discount": {
                        "title": "Discount Total",
                        "description": "Discount Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_discount": {
                        "title": "Formatted Discount Total",
                        "description": "Formatted Discount Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "$10.00"
                    },
                    "base_discount": {
                        "title": "Base Discount Total",
                        "description": "Base Discount Total of the Cart",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_discount": {
                        "title": "Formatted Base Discount Total",
                        "description": "Formatted Base Discount Total of the Cart",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "is_guest": {
                        "title": "Cart Guest Status",
                        "description": "Cart is owned by customer or guest",
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_active": {
                        "title": "Cart Active Status",
                        "description": "Cart status for active or inactive",
                        "type": "boolean",
                        "example": "true"
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    },
                    "items": {
                        "$ref": "#/components/schemas/CartItem"
                    },
                    "selected_shipping_rate": {
                        "$ref": "#/components/schemas/CartShippingRate"
                    },
                    "payment": {
                        "$ref": "#/components/schemas/CartPayment"
                    },
                    "billing_address": {
                        "$ref": "#/components/schemas/CartAddress"
                    },
                    "shipping_address": {
                        "$ref": "#/components/schemas/CartAddress"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "CartAddress": {
                "title": "Cart Address",
                "description": "Cart Address model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "first_name": {
                        "title": "First Name",
                        "description": "Customer's First Name",
                        "type": "string",
                        "example": "John"
                    },
                    "last_name": {
                        "title": "Last Name",
                        "description": "Customer's Last Name",
                        "type": "string",
                        "example": "Doe"
                    },
                    "name": {
                        "title": "Customer Full Name",
                        "description": "Customer's Full Name",
                        "type": "string",
                        "example": "John Doe"
                    },
                    "email": {
                        "title": "Customer's Email",
                        "description": "Customer's email",
                        "type": "string",
                        "example": "john@example.com"
                    },
                    "address1": {
                        "title": "Cart Address1",
                        "description": "Cart's address detail",
                        "type": "array",
                        "items": {
                            "properties": {
                                "address1": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "address1": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            "819, Farnum Road"
                        ]
                    },
                    "address2": {
                        "title": "Address2",
                        "description": "Customer's Address2",
                        "type": "string",
                        "example": "St. Elmira"
                    },
                    "country": {
                        "title": "Country",
                        "description": "Address Country, contains only country code US (e.g. United States)",
                        "type": "string",
                        "example": "US"
                    },
                    "country_name": {
                        "title": "Country Name",
                        "description": "Address Country Name, contains complate country name (e.g. United States)",
                        "type": "string",
                        "example": "United States"
                    },
                    "state": {
                        "title": "State",
                        "description": "Address State, contains only state code MD (e.g. Maryland)",
                        "type": "string",
                        "example": "MD"
                    },
                    "city": {
                        "title": "City",
                        "description": "Address City",
                        "type": "string",
                        "example": "Woodbine"
                    },
                    "postcode": {
                        "title": "Postcode",
                        "description": "Address Postcode",
                        "type": "integer",
                        "format": "int64",
                        "example": 21797
                    },
                    "phone": {
                        "title": "Phone",
                        "description": "Customer's Phone Number",
                        "type": "string",
                        "example": "1234567890"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "CartItem": {
                "title": "CartItem",
                "description": "CartItem model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "quantity": {
                        "title": "Item Quantity",
                        "description": "Cart Item quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "sku": {
                        "title": "Product SKU",
                        "description": "Product SKU",
                        "type": "string",
                        "example": "wooden-chair"
                    },
                    "type": {
                        "title": "Product Type",
                        "description": "Cart product type",
                        "type": "string",
                        "example": "configurable"
                    },
                    "name": {
                        "title": "Product Name",
                        "description": "Cart product name",
                        "type": "string",
                        "example": "Wooden Chair"
                    },
                    "weight": {
                        "title": "Product Weight",
                        "description": "Cart item weight per unit",
                        "type": "number",
                        "format": "float",
                        "example": "1.50"
                    },
                    "total_weight": {
                        "title": "Total Cart's Item Weight",
                        "description": "Total cart's item weight",
                        "type": "number",
                        "format": "float",
                        "example": "3.00"
                    },
                    "price": {
                        "title": "Product Price",
                        "description": "Cart item price",
                        "type": "number",
                        "format": "float",
                        "example": "9.13"
                    },
                    "formatted_price": {
                        "title": "Formatted Price",
                        "description": "Formatted price of cart's item",
                        "type": "number",
                        "format": "float",
                        "example": "€9.13"
                    },
                    "base_price": {
                        "title": "Product Base Price",
                        "description": "Cart's item base price",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_price": {
                        "title": "Formatted Base Price",
                        "description": "Formatted Base Price of the Cart item",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "total": {
                        "title": "Item Total",
                        "description": "Cart item total",
                        "type": "number",
                        "format": "float",
                        "example": "18.26"
                    },
                    "formatted_total": {
                        "title": "Formatted Total",
                        "description": "Formatted total of cart's item",
                        "type": "number",
                        "format": "float",
                        "example": "€18.26"
                    },
                    "base_total": {
                        "title": "Product Base Total",
                        "description": "Cart's item base total",
                        "type": "number",
                        "format": "float",
                        "example": "20.00"
                    },
                    "formatted_based_total": {
                        "title": "Formatted Base Total",
                        "description": "Formatted base total of the Cart item",
                        "type": "string",
                        "example": "$20.00"
                    },
                    "tax_percent": {
                        "title": "Tax Percentage",
                        "description": "Tax percentage that applied to the cart item",
                        "type": "number",
                        "format": "float",
                        "example": "2"
                    },
                    "tax_amount": {
                        "title": "Tax Amount",
                        "description": "Tax Amount calculated at cart item price",
                        "type": "number",
                        "format": "float",
                        "example": "0.37"
                    },
                    "formatted_tax_amount": {
                        "title": "Formatted Tax Amount",
                        "description": "Formatted tax amount calculated at cart item price",
                        "type": "string",
                        "example": "€0.37"
                    },
                    "base_tax_amount": {
                        "title": "Base Tax Amount",
                        "description": "Base tax amount calculated at cart item price",
                        "type": "number",
                        "format": "float",
                        "example": "0.41"
                    },
                    "formatted_based_tax_amount": {
                        "title": "Formatted Base Tax Amount",
                        "description": "Formatted base tax amount calculated at cart item price",
                        "type": "string",
                        "example": "$0.41"
                    },
                    "additional": {
                        "title": "Additional Info About Cart Item",
                        "description": "selected_configurable_option, super_attribute, and attributes fields will use in case of configurable type product.",
                        "type": "array",
                        "items": {
                            "properties": {
                                "additional": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "selected_configurable_option": {
                                                "type": "integer"
                                            },
                                            "quantity": {
                                                "type": "integer"
                                            },
                                            "product_id": {
                                                "type": "integer"
                                            },
                                            "parent_id": {
                                                "type": "integer"
                                            },
                                            "super_attribute": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "additional": {
                                                            "type": "integer"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "attributes": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "size": {
                                                            "type": "array",
                                                            "items": {
                                                                "properties": {
                                                                    "option_id": {
                                                                        "type": "integer"
                                                                    },
                                                                    "option_label": {
                                                                        "type": "string"
                                                                    },
                                                                    "attribute_name": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        },
                                                        "color": {
                                                            "type": "array",
                                                            "items": {
                                                                "properties": {
                                                                    "option_id": {
                                                                        "type": "integer"
                                                                    },
                                                                    "option_label": {
                                                                        "type": "string"
                                                                    },
                                                                    "attribute_name": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        },
                        "example": {
                            "selected_configurable_option": 2,
                            "quantity": 1,
                            "product_id": 1,
                            "parent_id": null,
                            "super_attribute": [
                                "5",
                                "8"
                            ],
                            "attributes": {
                                "size": {
                                    "option_id": 8,
                                    "option_label": "L",
                                    "attribute_name": "Size"
                                },
                                "color": {
                                    "option_id": 5,
                                    "option_label": "White",
                                    "attribute_name": "Color"
                                }
                            }
                        }
                    },
                    "child": {
                        "$ref": "#/components/schemas/CartItem"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "CartPayment": {
                "title": "Cart's Payment",
                "description": "Cart's payment model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "method": {
                        "title": "Payment Method Code",
                        "description": "Payment method code",
                        "type": "string",
                        "example": "cashondelivery"
                    },
                    "method_title": {
                        "title": "Payment Method Title",
                        "description": "Payment Method title",
                        "type": "string",
                        "example": "Cash On Delivery"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "CartShippingRate": {
                "title": "Cart's Shipping Rate",
                "description": "Cart's shipping rate model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "carrier": {
                        "title": "Shipping/Carrier Code",
                        "description": "Shipping/Carrier code",
                        "type": "string",
                        "example": "flatrate"
                    },
                    "carrier_title": {
                        "title": "Shipping/Carrier Title",
                        "description": "Shipping/Carrier title",
                        "type": "string",
                        "example": "Flat Rate"
                    },
                    "method": {
                        "title": "Shipping Method Code",
                        "description": "Shipping method code",
                        "type": "string",
                        "example": "flatrate_flatrate"
                    },
                    "method_title": {
                        "title": "Shipping Method Title",
                        "description": "Shipping Method title",
                        "type": "string",
                        "example": "Flat Rate"
                    },
                    "method_description": {
                        "title": "Shipping Method Description",
                        "description": "Shipping Method description",
                        "type": "string",
                        "example": "Flat Rate Shipping"
                    },
                    "price": {
                        "title": "Shipping Price",
                        "description": "Shipping price calculated at the checkout",
                        "type": "number",
                        "format": "float",
                        "example": "9.15"
                    },
                    "formatted_price": {
                        "title": "Formatted Shipping Price",
                        "description": "Formatted shipping price calculated at the checkout",
                        "type": "string",
                        "example": "€9.15"
                    },
                    "base_price": {
                        "title": "Base Shipping Price",
                        "description": "Base shipping price",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_price": {
                        "title": "Formatted Base Shipping Price",
                        "description": "Formatted base shipping price",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Checkout": {
                "title": "Checkout",
                "description": "Checkout model"
            },
            "Customer": {
                "title": "Customer",
                "description": "Customer model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "first_name": {
                        "title": "First Name",
                        "description": "Customer's First Name",
                        "type": "string",
                        "example": "John"
                    },
                    "last_name": {
                        "title": "Last Name",
                        "description": "Customer's Last Name",
                        "type": "string",
                        "example": "Doe"
                    },
                    "email": {
                        "title": "Email",
                        "description": "Customer's Email",
                        "type": "string",
                        "example": "example@example.com"
                    },
                    "gender": {
                        "title": "Gender",
                        "description": "Customer's Gender",
                        "type": "string",
                        "example": "Male"
                    },
                    "date_of_birth": {
                        "title": "Date of Birth",
                        "description": "Customer's Date of Birth",
                        "type": "string",
                        "example": "1991-05-15"
                    },
                    "phone": {
                        "title": "Phone",
                        "description": "Customer's Phone Number",
                        "type": "string",
                        "example": "1234567890"
                    },
                    "status": {
                        "title": "Status",
                        "description": "Customer's Status",
                        "type": "string",
                        "example": "1"
                    },
                    "notes": {
                        "title": "Notes",
                        "description": "Customer's notes",
                        "type": "string"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Invoice": {
                "title": "Invoice",
                "description": "Invoice model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "increment_id": {
                        "title": "Increment ID",
                        "description": "Increment ID",
                        "type": "string",
                        "example": "InvoicePrefix1"
                    },
                    "state": {
                        "title": "Invoice's State/Status",
                        "description": "Invoice's State/Status",
                        "type": "string",
                        "enum": [
                            "pending",
                            "paid",
                            "refunded"
                        ],
                        "example": "paid"
                    },
                    "email_sent": {
                        "title": "Invoice Email Sent",
                        "description": "Invoice Email Sent Status",
                        "type": "boolean",
                        "example": true
                    },
                    "total_qty": {
                        "title": "Total Invoiced Quantity",
                        "description": "Total invoiced quantity",
                        "type": "integer",
                        "example": 2
                    },
                    "base_currency_code": {
                        "title": "Store Base Currency Code",
                        "description": "Store base currency code",
                        "type": "string",
                        "example": "USD"
                    },
                    "channel_currency_code": {
                        "title": "Channel/Website Currency Code",
                        "description": "Default Channel/Website Currency Code",
                        "type": "string",
                        "example": "USD"
                    },
                    "order_currency_code": {
                        "title": "Order Currency Code",
                        "description": "Order currency code at the time order placed from store",
                        "type": "string",
                        "example": "USD"
                    },
                    "sub_total": {
                        "title": "Invoice Sub Total",
                        "description": "Invoice Sub Total",
                        "type": "number",
                        "format": "float",
                        "example": "18.22"
                    },
                    "formatted_sub_total": {
                        "title": "Formatted Invoice Sub Total",
                        "description": "Formatted invoice sub total",
                        "type": "string",
                        "example": "€18.22"
                    },
                    "base_sub_total": {
                        "title": "Invoice Base Sub Total",
                        "description": "Invoice base sub total",
                        "type": "number",
                        "format": "float",
                        "example": "20.00"
                    },
                    "formatted_base_sub_total": {
                        "title": "Formatted Invoice Base Sub Total",
                        "description": "Formatted Invoice base sub total",
                        "type": "string",
                        "example": "$20.00"
                    },
                    "grand_total": {
                        "title": "Invoice Grand Total",
                        "description": "Invoice grand total",
                        "type": "number",
                        "format": "float",
                        "example": "18.22"
                    },
                    "formatted_grand_total": {
                        "title": "Formatted Invoice Grand Total",
                        "description": "Formatted invoice grand total",
                        "type": "string",
                        "example": "€18.22"
                    },
                    "base_grand_total": {
                        "title": "Invoice Base Grand Total",
                        "description": "Invoice base grand total",
                        "type": "number",
                        "format": "float",
                        "example": "20.00"
                    },
                    "formatted_base_grand_total": {
                        "title": "Formatted Invoice Base Grand Total",
                        "description": "Formatted invoice base grand total",
                        "type": "string",
                        "example": "$20.00"
                    },
                    "order_id": {
                        "title": "Order ID",
                        "description": "Order ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "order_address_id": {
                        "title": "Order's Address ID",
                        "description": "Order's address id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "transaction_id": {
                        "title": "Invoice's Transaction ID",
                        "description": "Invoice's transaction id",
                        "type": "string",
                        "example": "TXNS5845AAEFVF"
                    },
                    "reminders": {
                        "title": "Invoice Reminder Count",
                        "description": "Invoice reminder count",
                        "type": "integer",
                        "format": "int64",
                        "example": 3
                    },
                    "next_reminder_at": {
                        "title": "Time for Next Invoice Reminder",
                        "description": "Time for next invoice reminder",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Order": {
                "title": "Order",
                "description": "Order model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "increment_id": {
                        "title": "Increment ID",
                        "description": "Increment ID",
                        "type": "string",
                        "example": "OrderPrefix1"
                    },
                    "customer_email": {
                        "title": "Email",
                        "description": "Customer's Email",
                        "type": "string",
                        "example": "example@example.com"
                    },
                    "customer_first_name": {
                        "title": "First Name",
                        "description": "Customer's First Name",
                        "type": "string",
                        "example": "John"
                    },
                    "customer_last_name": {
                        "title": "Last Name",
                        "description": "Customer's Last Name",
                        "type": "string",
                        "example": "John"
                    },
                    "status": {
                        "title": "Status",
                        "description": "Order Status",
                        "type": "string",
                        "example": "completed"
                    },
                    "payment_title": {
                        "title": "Payment Title",
                        "description": "Payment Title",
                        "type": "string",
                        "example": "Wallet Payment"
                    },
                    "base_currency_code": {
                        "title": "Base Currency Code",
                        "description": "Base Currency Code",
                        "type": "string",
                        "example": "USD"
                    },
                    "order_currency_code": {
                        "title": "Order Currency Code",
                        "description": "Order Currency Code",
                        "type": "string",
                        "example": "USD"
                    },
                    "grand_total": {
                        "title": "Grand Total",
                        "description": "Grand Total of the Order",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_grand_total": {
                        "title": "Formatted Grand Total",
                        "description": "Formatted Grand Total of the Order",
                        "type": "number",
                        "format": "float",
                        "example": "$10.00"
                    },
                    "base_grand_total": {
                        "title": "Base Grand Total",
                        "description": "Base Grand Total of the Order",
                        "type": "number",
                        "format": "float",
                        "example": "10.00"
                    },
                    "formatted_based_grand_total": {
                        "title": "Formatted Base Grand Total",
                        "description": "Formatted Base Grand Total of the Order",
                        "type": "string",
                        "example": "$10.00"
                    },
                    "items": {
                        "$ref": "#/components/schemas/OrderItem"
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "OrderItem": {
                "title": "OrderItem",
                "description": "OrderItem model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "sku": {
                        "title": "SKU",
                        "description": "SKU",
                        "type": "string",
                        "example": "men-round-neck-t-shirt"
                    },
                    "type": {
                        "title": "Type",
                        "description": "Product's type",
                        "type": "string",
                        "example": "simple"
                    },
                    "name": {
                        "title": "Name",
                        "description": "Product name of ordered item",
                        "type": "string",
                        "example": "Men Round Neck T-Shirt"
                    },
                    "coupon_code": {
                        "title": "Coupon Code",
                        "description": "Cart coupon code",
                        "type": "string",
                        "example": "FLAT10%"
                    },
                    "weight": {
                        "title": "Item's Weight",
                        "description": "Product's weight of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "10.20"
                    },
                    "qty_ordered": {
                        "title": "Ordered Quantity",
                        "description": "Product ordered quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 6
                    },
                    "qty_shipped": {
                        "title": "Shipped Quantity",
                        "description": "Total shipped quantity of ordered product",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "qty_invoiced": {
                        "title": "Invoiced Quantity",
                        "description": "Total invoiced quantity of ordered product",
                        "type": "integer",
                        "format": "int64",
                        "example": 4
                    },
                    "qty_canceled": {
                        "title": "Canceled Quantity",
                        "description": "Total canceled quantity of ordered product",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "qty_refunded": {
                        "title": "Refunded Quantity",
                        "description": "Total refunded quantity of ordered product",
                        "type": "integer",
                        "format": "int64",
                        "example": 0
                    },
                    "price": {
                        "title": "Ordered Item Price",
                        "description": "Price of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "18.63"
                    },
                    "formatted_price": {
                        "title": "Formatted Price",
                        "description": "Formatted Price of the Order Item",
                        "type": "string",
                        "example": "€18.63"
                    },
                    "base_price": {
                        "title": "Base Price",
                        "description": "Base price of the Order Item",
                        "type": "number",
                        "format": "float",
                        "example": "20.45"
                    },
                    "formatted_base_price": {
                        "title": "Formatted Base Price",
                        "description": "Formatted Base price of the Order Item",
                        "type": "string",
                        "example": "$20.45"
                    },
                    "total": {
                        "title": "Ordered Item Total",
                        "description": "Total of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "37.26"
                    },
                    "formatted_total": {
                        "title": "Formatted Ordered Item Total",
                        "description": "Formatted total of ordered item",
                        "type": "string",
                        "example": "€37.26"
                    },
                    "base_total": {
                        "title": "Base Total",
                        "description": "Base total of the Order Item",
                        "type": "number",
                        "format": "float",
                        "example": "42.95"
                    },
                    "formatted_base_total": {
                        "title": "Formatted Base Total",
                        "description": "Formatted base total of the Order Item",
                        "type": "string",
                        "example": "$42.95"
                    },
                    "total_invoiced": {
                        "title": "Total Invoiced of Ordered Item",
                        "description": "Total invoiced amount of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "20.45"
                    },
                    "base_total_invoiced": {
                        "title": "Total Base Invoiced of Ordered Item",
                        "description": "Total base invoiced amount of ordered item",
                        "type": "string",
                        "example": "$20.45"
                    },
                    "amount_refunded": {
                        "title": "Total Refunded Amount of Ordered Item",
                        "description": "Total refunded amount of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "20.45"
                    },
                    "base_amount_refunded": {
                        "title": "Total Base Refunded Amount of Ordered Item",
                        "description": "Total base refunded amount of ordered item",
                        "type": "string",
                        "example": "$20.45"
                    },
                    "tax_percent": {
                        "title": "Tax Percentage Applied On Ordered Item",
                        "description": "Tax percentage that applied on order item",
                        "type": "number",
                        "format": "float",
                        "example": "10%"
                    },
                    "tax_amount": {
                        "title": "Tax Amount of Ordered Item",
                        "description": "Tax amount of ordered item",
                        "type": "number",
                        "format": "float",
                        "example": "2.045"
                    },
                    "base_tax_amount": {
                        "title": "Base Tax Amount Of Ordered Item",
                        "description": "Base tax amount of ordered item",
                        "type": "string",
                        "example": "$2.045"
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "product_type": {
                        "title": "Product Type of Ordered Item",
                        "description": "Product type of ordered item",
                        "type": "string",
                        "example": "simple"
                    },
                    "order_id": {
                        "title": "Order ID",
                        "description": "Order ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "parent_id": {
                        "title": "Parent ID of Product",
                        "description": "Parent ID of Product",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Pagination": {
                "title": "Pagination",
                "description": "Pagination model",
                "properties": {
                    "current_page": {
                        "title": "Current Page",
                        "description": "Current Page",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "from": {
                        "title": "From",
                        "description": "From",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "last_page": {
                        "title": "Last Page",
                        "description": "Last Page",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "per_page": {
                        "title": "Per Page",
                        "description": "Per Page",
                        "type": "integer",
                        "format": "int64",
                        "example": 10
                    },
                    "links": {
                        "title": "Links",
                        "description": "Links",
                        "type": "array",
                        "items": {
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "example": null
                                },
                                "label": {
                                    "type": "string",
                                    "example": "Previous"
                                },
                                "active": {
                                    "type": "boolean",
                                    "example": false
                                }
                            },
                            "type": "object"
                        },
                        "example": [
                            {
                                "url": null,
                                "label": "Previous",
                                "active": false
                            },
                            {
                                "url": "http://localhost/public/api/v1/examples?sort=id&order=desc&page=1",
                                "label": "1",
                                "active": true
                            },
                            {
                                "url": null,
                                "label": "Next",
                                "active": false
                            }
                        ]
                    },
                    "path": {
                        "title": "Path",
                        "description": "Path",
                        "type": "integer",
                        "example": "http://localhost/public/api/v1/examples"
                    },
                    "to": {
                        "title": "To",
                        "description": "To",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "total": {
                        "title": "Total",
                        "description": "Total",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "Shipment": {
                "title": "Shipment",
                "description": "Shipment model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "status": {
                        "title": "Order's Shipment Status",
                        "description": "Order's shipment status",
                        "type": "string",
                        "example": "shipped|null"
                    },
                    "total_qty": {
                        "title": "Shipment Total Quantity",
                        "description": "Shipment total quantity",
                        "type": "integer",
                        "format": "int64",
                        "example": 2
                    },
                    "total_weight": {
                        "title": "Total Weight Of Shipment",
                        "description": "Total weight of shipment",
                        "type": "number",
                        "format": "float",
                        "example": "10.30"
                    },
                    "carrier_code": {
                        "title": "Carrier/Shipment Code",
                        "description": "Carrier/Shipment Code (Shipping Method Code)",
                        "type": "string",
                        "example": "free_shipping"
                    },
                    "carrier_title": {
                        "title": "Carrier Title",
                        "description": "Carrier Title (Shipping Method Title)",
                        "type": "string",
                        "example": "BlueDart"
                    },
                    "track_number": {
                        "title": "Tracking ID",
                        "description": "Shipment's tracking number",
                        "type": "string",
                        "example": "SHP101"
                    },
                    "email_sent": {
                        "title": "Shipment Email Sent",
                        "description": "Shipment Email Sent Status",
                        "type": "boolean",
                        "example": true
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    },
                    "order_id": {
                        "title": "Order ID",
                        "description": "Order ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "order_address_id": {
                        "title": "Shipment's Address ID of Order",
                        "description": "Shipment's address ID of order",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    }
                },
                "type": "object"
            },
            "Transaction": {
                "title": "Transaction",
                "description": "Transaction model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "transaction_id": {
                        "title": "Transaction ID",
                        "description": "Transaction id",
                        "type": "string",
                        "example": "TRXS19542EHS"
                    },
                    "status": {
                        "title": "Transaction Status",
                        "description": "Transaction status",
                        "type": "string",
                        "example": "paid"
                    },
                    "type": {
                        "title": "Transaction Type",
                        "description": "Transaction type",
                        "type": "string",
                        "example": ""
                    },
                    "payment_method": {
                        "title": "Payment Method Used For Transaction",
                        "description": "Payment method used for transaction",
                        "type": "string",
                        "example": "paypal_standard"
                    },
                    "data": {
                        "title": "Transaction Related Info",
                        "description": "Transaction related information",
                        "type": "object",
                        "example": "{}"
                    },
                    "invoice_id": {
                        "title": "Invoice ID",
                        "description": "Invoice id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "order_id": {
                        "title": "Order ID",
                        "description": "Order id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "amount": {
                        "title": "Transaction Amount Paid",
                        "description": "Transaction amount paid",
                        "type": "number",
                        "format": "float",
                        "example": 10.6
                    }
                },
                "type": "object"
            },
            "Wishlist": {
                "title": "Wishlist",
                "description": "Wishlist model",
                "properties": {
                    "id": {
                        "title": "ID",
                        "description": "ID",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "channel_id": {
                        "title": "Channel ID",
                        "description": "Channel id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "product_id": {
                        "title": "Product ID",
                        "description": "Product id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "customer_id": {
                        "title": "Customer ID",
                        "description": "Customer id",
                        "type": "integer",
                        "format": "int64",
                        "example": 1
                    },
                    "item_options": {
                        "title": "Product Option Info",
                        "description": "Product option related information",
                        "type": "object",
                        "example": "{}"
                    },
                    "moved_to_cart": {
                        "title": "Product Move To Cart Date",
                        "description": "Date on which wishlist's product moved to cart",
                        "type": "string",
                        "format": "date",
                        "example": "2020-01-27"
                    },
                    "shared": {
                        "title": "Wishlist Shared Status",
                        "description": "Status for sharing customer's wishlist",
                        "type": "boolean",
                        "format": "true"
                    },
                    "time_of_moving": {
                        "title": "Date Of Moving Product",
                        "description": "Date on which wishlist's product will move to cart",
                        "type": "string",
                        "format": "date",
                        "example": "2020-01-27"
                    },
                    "created_at": {
                        "title": "Created at",
                        "description": "Created at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "updated_at": {
                        "title": "Updated at",
                        "description": "Updated at",
                        "type": "string",
                        "format": "datetime",
                        "example": "2020-01-27 17:50:45"
                    },
                    "additional": {
                        "title": "Additional Info About Wishlist Product",
                        "description": "Additional information about wishlist product",
                        "type": "object",
                        "example": "{}"
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "404": {
                "description": "Resource Not Found"
            }
        },
        "securitySchemes": {
            "sanctum_admin": {
                "type": "apiKey",
                "description": "Enter token in format (Bearer <token>)",
                "name": "Authorization",
                "in": "header"
            },
            "sanctum": {
                "type": "apiKey",
                "description": "Enter token in format (Bearer <token>)",
                "name": "Authorization",
                "in": "header"
            }
        }
    },
    "tags": [
        {
            "name": "Configs",
            "description": "API Endpoints of Core Config"
        },
        {
            "name": "Locales",
            "description": "API Endpoints of Locale"
        },
        {
            "name": "Currencies",
            "description": "API Endpoints of Currency"
        },
        {
            "name": "Channels",
            "description": "API Endpoints of Channel"
        },
        {
            "name": "Sliders",
            "description": "API Endpoints of Slider"
        },
        {
            "name": "Countries",
            "description": "API Endpoints of Country"
        },
        {
            "name": "AttributeFamilies",
            "description": "API Endpoints of AttributeFamily"
        },
        {
            "name": "Attributes",
            "description": "API Endpoints of Attribute"
        },
        {
            "name": "Categories",
            "description": "API Endpoints of Category"
        },
        {
            "name": "Products",
            "description": "API Endpoints of Product"
        },
        {
            "name": "Customers",
            "description": "API Endpoints of Customer"
        },
        {
            "name": "Addresses",
            "description": "API Endpoints of Address"
        },
        {
            "name": "Orders",
            "description": "API Endpoints of Order"
        },
        {
            "name": "Invoices",
            "description": "API Endpoints of Invoice"
        },
        {
            "name": "Shipments",
            "description": "API Endpoints of Shipment"
        },
        {
            "name": "Transactions",
            "description": "API Endpoints of Transaction"
        },
        {
            "name": "Wishlists",
            "description": "API Endpoints of Wishlist"
        },
        {
            "name": "Cart",
            "description": "API Endpoints of Cart"
        },
        {
            "name": "Checkout",
            "description": "API Endpoints of Checkout"
        }
    ]
}