{
    "openapi": "3.0.0",
    "info": {
        "title": "Skupszop REST API",
        "description": "API endpoints for Skupszop backend/server.",
        "version": "1.0"
    },
    "paths": {
        "/api/v2/archive/total": {
            "get": {
                "tags": [
                    "Archiving"
                ],
                "summary": "Get total archived and related details",
                "operationId": "264b5f2e154b5c4353a01df1509e4d51",
                "responses": {
                    "200": {
                        "description": "Details about archiving tasks",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "total": {
                                            "type": "integer",
                                            "example": 13411
                                        },
                                        "tasks": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "example": 100
                                                },
                                                "finished": {
                                                    "type": "integer",
                                                    "example": 99
                                                },
                                                "not_finished": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "products": {
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "example": 10000
                                                },
                                                "archived": {
                                                    "type": "integer",
                                                    "example": 9999
                                                },
                                                "not_archived": {
                                                    "type": "integer",
                                                    "example": 1
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/archive": {
            "post": {
                "tags": [
                    "Archiving"
                ],
                "summary": "Archive book",
                "operationId": "b29c62910e049d180bdecd84578f9932",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mag_number": {
                                        "description": "Mag number",
                                        "type": "string"
                                    },
                                    "lack": {
                                        "description": "Lack",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book archived"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/archive/reserve": {
            "post": {
                "tags": [
                    "Archiving"
                ],
                "summary": "Reserve books",
                "operationId": "88295df8297e83a1d949b701c3cf9e2d",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "count": {
                                        "description": "Count",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created task"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/archive/check": {
            "get": {
                "tags": [
                    "Archiving"
                ],
                "summary": "Check",
                "operationId": "d9423638a132c78db1e8f2aa93fe1001",
                "responses": {
                    "200": {
                        "description": "Checked"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/common/sell-order/statuses": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "List of sell order statuses",
                "operationId": "0bec15974807697eb2461caac4fe713b",
                "responses": {
                    "200": {
                        "description": "List of sell order statuses"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/buy-order/statuses": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "List of buy order statuses",
                "operationId": "681eaa3d60f35b15341c122c14ce5b24",
                "responses": {
                    "200": {
                        "description": "List of buy order statuses"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/days-off": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "List of holidays and days off",
                "operationId": "1b714da8edd89f8a8a091d5d8d0e2252",
                "responses": {
                    "200": {
                        "description": "List of holidays and days off"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/orlen-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "Orlen points",
                "operationId": "f94417905ba053894d2bf824923d28f3",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "types",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "format": "array",
                            "example": "PKN"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Orlen points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/orlen-point-types": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "Orlen point types",
                "operationId": "1357b0d4a9fcdd0aa478b62b01181d25",
                "responses": {
                    "200": {
                        "description": "Orlen point types"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/banners": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "List of banners",
                "operationId": "5f855b4999c0cb9f66ccd35d2ae7771b",
                "responses": {
                    "200": {
                        "description": "List of banners"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/dpd-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "DPD points",
                "operationId": "24ef9b579b1ed86feb8a67d31cf8f291",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "DPD points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/kurierbox-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "KurierBox points",
                "operationId": "91840cf8139516afd45f487e19b76fdf",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "KurierBox points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/inpost-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "Inpost points",
                "operationId": "d6676458bbae0e3acea07bc16362aef9",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Inpost points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/country-list": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "List of countries",
                "operationId": "470bc0cc5a7998a41a6db41153fcbb66",
                "responses": {
                    "200": {
                        "description": "List of countries"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/dhl-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "Dhl points",
                "operationId": "964de883fe0759f63cfc9b36e21c26f1",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Dhl points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/gls-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "GLS points",
                "operationId": "883927c81da91e2a4a60f942bd8debed",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta"
                        }
                    },
                    {
                        "name": "home_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Inpost points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/common/pocztex-points": {
            "get": {
                "tags": [
                    "Additional"
                ],
                "summary": "Pocztex points",
                "operationId": "1cb3134cab89f41513f86c689a00e9c1",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Warszawa"
                        }
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "Prosta 12"
                        }
                    },
                    {
                        "name": "latitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 49.98432
                        }
                    },
                    {
                        "name": "longitude",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "float",
                            "example": 19.91251
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "integer",
                            "example": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pocztex points"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/ext/login": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Login admin",
                "operationId": "31a746a874e4f077590b2cd34324f48f",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "login": {
                                        "description": "Admin login.",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "Admin password.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return access token"
                    },
                    "302": {
                        "description": "Invalid Credentials"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/ext/buy-order/list": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "List of buy",
                "operationId": "9dc9ab61c3e02e1705844f0c342d6c04",
                "parameters": [
                    {
                        "name": "filters[]",
                        "in": "query",
                        "description": "array of filter properties",
                        "schema": {
                            "type": "array",
                            "items": {
                                "properties": {
                                    "statuses[]": {
                                        "description": "transaction statuses",
                                        "type": "array",
                                        "items": {
                                            "description": "status number",
                                            "type": "integer"
                                        }
                                    },
                                    "bus_state": {
                                        "description": "buy state",
                                        "type": "integer"
                                    },
                                    "numer": {
                                        "description": "numer of transaction",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Buy list"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/buy-order/{id}/show": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Show buy",
                "operationId": "5647a58698104150f6761235710f739a",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show buy transaction"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/buy-order/{id}/update": {
            "patch": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Update buy transaction status",
                "operationId": "1d9d5946ad08dae5026673186294c9f9",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "description": "Order status",
                                        "type": "integer"
                                    },
                                    "bus_state": {
                                        "description": "Bus state",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Order updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/buy-order/{id}": {
            "delete": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Delete transaction",
                "operationId": "96032e18e9d29e107261f2d31c1d8429",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/buy-order/{buyOrder}/download-bank-confirmation": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Download bank confirmation",
                "operationId": "bdc84d1b4abe2cccdf600dfe9e9b049b",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "bank_withdraw_id",
                        "in": "query",
                        "description": "Bank withdraw ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Bank confirmation downloaded"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/buy-order/{buyOrder}/set-mag-number": {
            "post": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Set magazine number for book",
                "operationId": "a5c38d8c5c05d996909010bc637e2845",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "id_product": {
                                        "description": "Product id",
                                        "type": "integer"
                                    },
                                    "mag_number": {
                                        "description": "Magazine number",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Magazine number set"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/delivery-providers": {
            "get": {
                "tags": [
                    "ExternalDataList"
                ],
                "summary": "Get delivery providers",
                "operationId": "0c692b979ee3feb2c078d03492ed76bf",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name,price"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of delivery providers"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/ext/sell-order/returns": {
            "get": {
                "tags": [
                    "AdminSellOrderReturn"
                ],
                "summary": "List of order returns",
                "operationId": "8f1c9f329e256bd88acd7d65bb3ee427",
                "parameters": [
                    {
                        "name": "filters[]",
                        "in": "query",
                        "description": "array of filter properties",
                        "schema": {
                            "type": "array",
                            "items": {
                                "properties": {
                                    "bus_state": {
                                        "description": "buy state",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order return list"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/returns/{orderReturn}": {
            "patch": {
                "tags": [
                    "AdminSellOrderReturn"
                ],
                "summary": "Update order return bus status",
                "operationId": "3ac9b5d2f3cc638b3f6bb33e54063c28",
                "parameters": [
                    {
                        "name": "orderReturn",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "bus_state": {
                                        "description": "Bus state",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Order return updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/list": {
            "get": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "List of orders",
                "operationId": "f12de5ac07f82840a9b3836eca9e56fc",
                "parameters": [
                    {
                        "name": "filters[]",
                        "in": "query",
                        "description": "array of filter properties",
                        "schema": {
                            "type": "array",
                            "items": {
                                "properties": {
                                    "statuses[]": {
                                        "description": "order statuses",
                                        "type": "array",
                                        "items": {
                                            "description": "status number",
                                            "type": "integer"
                                        }
                                    },
                                    "bus_state": {
                                        "description": "buy state",
                                        "type": "integer"
                                    },
                                    "status": {
                                        "description": "status number",
                                        "type": "integer"
                                    },
                                    "type": {
                                        "description": "Allegro account name",
                                        "type": "integer"
                                    },
                                    "search": {
                                        "description": "Search by string in fields like: Order id, magazine number, first name, last name",
                                        "type": "integer"
                                    },
                                    "allegro_order_id": {
                                        "description": "Allegro order id",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order list"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{id}/show": {
            "get": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Show order",
                "operationId": "504cd6f3841dcfea0de35f1e4cf15407",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show order"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{id}/update": {
            "patch": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Update order status",
                "operationId": "bb66ca02a034f45a2d62408757ff9903",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "status": {
                                        "description": "Order status",
                                        "type": "integer"
                                    },
                                    "bus_state": {
                                        "description": "Bus state",
                                        "type": "integer"
                                    },
                                    "has_priority": {
                                        "description": "Set parametr has priority. Available values: 0 - remove priority; 1 - set priority",
                                        "type": "integer"
                                    },
                                    "nr_listu": {
                                        "description": "Tracking number for tracking the package",
                                        "type": "string"
                                    },
                                    "client_decision": {
                                        "description": "Available values: accepted, checking, declined, waiting",
                                        "type": "string",
                                        "example": "accepted"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Order updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{id}/restore-all": {
            "post": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Restore all for order",
                "operationId": "a4219c313771d985d2eacc537661efae",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "reason"
                                ],
                                "properties": {
                                    "bank_account": {
                                        "description": "Bank account",
                                        "type": "string"
                                    },
                                    "comment": {
                                        "description": "Comment",
                                        "type": "string"
                                    },
                                    "reason": {
                                        "description": "Comment",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "All products restored, order deleted"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{order}/download-invoice": {
            "get": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Download invoice",
                "operationId": "1a2d253c4ebe9347e7754c3d63b7c8bb",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice downloaded"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{order}/report-empty": {
            "patch": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Report product is missing",
                "operationId": "514c04f60d2cbcf864bce1ae8c065928",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "id_product",
                                    "report_empty"
                                ],
                                "properties": {
                                    "id_product": {
                                        "description": "Id of product to update",
                                        "type": "integer"
                                    },
                                    "report_empty": {
                                        "description": "Report status: 1 - report product missing; 2 - confirm product missing",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Reported product missing"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/{order}/set-mag-number": {
            "post": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Set mag number for new product and assign to order",
                "operationId": "0cca02568ff17020c7b585d682569873",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "id_product": {
                                        "description": "Product id",
                                        "type": "integer"
                                    },
                                    "mag_number": {
                                        "description": "Magazine number",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Magazine number updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/sell-order/picking-details": {
            "get": {
                "tags": [
                    "AdminSellOrder"
                ],
                "summary": "Order picking details",
                "operationId": "20e3154d477b67ecc1c562d56c77e63b",
                "parameters": [
                    {
                        "name": "refresh",
                        "in": "query",
                        "description": "Boolean parameter to refresh data",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order picking details"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/thulium/address/search": {
            "get": {
                "tags": [
                    "ExternalThulium"
                ],
                "summary": "Get address data",
                "operationId": "92141f1e536ccdb432699f2a9c36f101",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "surname",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "phone_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "address",
                        "in": "query",
                        "required": false,
                        "style": "deepObject",
                        "explode": true,
                        "schema": {
                            "properties": {
                                "city": {
                                    "type": "string"
                                },
                                "postcode": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Address data"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Error for get data"
                    }
                }
            }
        },
        "/api/v3/ext/warehouses/ateneum/invoices": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Ataneum invoices",
                "operationId": "36cb9ec88966031d715008c17b509c39",
                "parameters": [
                    {
                        "name": "invoice_number",
                        "in": "query",
                        "description": "invoice number",
                        "required": false
                    },
                    {
                        "name": "year",
                        "in": "query",
                        "description": "year",
                        "required": false
                    },
                    {
                        "name": "month",
                        "in": "query",
                        "description": "month",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice or list of invoices"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/warehouses/platon/invoices": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Platon invoices",
                "operationId": "5993f2715698eca8264d02bb57c44133",
                "parameters": [
                    {
                        "name": "invoice_id",
                        "in": "query",
                        "description": "invoice id",
                        "required": false
                    },
                    {
                        "name": "date_from",
                        "in": "query",
                        "description": "date in format YYYY-MM-DD",
                        "required": false
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "description": "date in format YYYY-MM-DD",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice or list of invoices"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/warehouses/azymut/invoices": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Azymut invoices",
                "operationId": "63563572a85235688866348ee1871ee2",
                "parameters": [
                    {
                        "name": "invoice_id",
                        "in": "query",
                        "description": "invoice id",
                        "required": false
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "description": "number of past days to include",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice or list of invoices"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/ext/warehouses/bonito/invoices": {
            "get": {
                "tags": [
                    "AdminBuyOrder"
                ],
                "summary": "Bonito invoices",
                "operationId": "12343d643f0f35351e8d0cfe74ded9b9",
                "parameters": [
                    {
                        "name": "invoice_id",
                        "in": "query",
                        "description": "invoice id",
                        "required": false
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "description": "number of past days to include",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice or list of invoices"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/buy-cart/buy-cart-products": {
            "get": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Get products",
                "description": "Get list of products in buy cart.",
                "operationId": "002f2cf1e1a84237b13d75f470d22da5",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of products"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/buy-cart/estimate": {
            "post": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Estimate book",
                "description": "Estimate book in buy cart.",
                "operationId": "b6a0b6ff461fc323f625c120d22ce056",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "isbn": {
                                        "description": "Book isbn",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book estimated"
                    },
                    "302": {
                        "description": "Invalid ISBN"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/buy-cart/add-book": {
            "post": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Add book",
                "description": "Add new book to buy cart.",
                "operationId": "df5c2a59a7f14c49417f87bbc4920e4a",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "isbn": {
                                        "description": "Book isbn",
                                        "type": "string"
                                    },
                                    "quantity": {
                                        "description": "quantity",
                                        "type": "integer"
                                    },
                                    "user_id": {
                                        "description": "User id",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book added"
                    },
                    "302": {
                        "description": "Invalid ISBN"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/buy-cart/quantity": {
            "post": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Manage book quantity",
                "description": "Set quantity of book in buy cart.",
                "operationId": "17d98793ace0b514ce13701e11a5a40a",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "isbn": {
                                        "description": "Book isbn",
                                        "type": "string"
                                    },
                                    "quantity": {
                                        "description": "quantity",
                                        "type": "integer"
                                    },
                                    "user_id": {
                                        "description": "User id",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Manage book quantity"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/buy-cart/delete": {
            "post": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Delete book",
                "description": "Delete book from buy cart.",
                "operationId": "a61cae376f21f637ef36147f75d29b53",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "isbn": {
                                        "description": "Book isbn",
                                        "type": "string"
                                    },
                                    "user_id": {
                                        "description": "User id",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book deleted"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/buy-cart/cart": {
            "post": {
                "tags": [
                    "BuyCart"
                ],
                "summary": "Summary cart",
                "description": "Create new transaction in buy cart.",
                "operationId": "6243cda688f9fe3682447c5a14ce8cd0",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "payout_id",
                                    "delivery_id",
                                    "address_id"
                                ],
                                "properties": {
                                    "payout_id": {
                                        "description": "ID of the payout method. Ids to select: 'charity', 'cash', 'cash-70-charity-30', 'cash-50-charity-50'",
                                        "type": "string"
                                    },
                                    "delivery_id": {
                                        "description": "ID of the delivery method. Ids to select: 1 - refund cost; 2 - courier; 3 - inpost",
                                        "type": "integer"
                                    },
                                    "address_id": {
                                        "description": "ID of the user's address",
                                        "type": "integer"
                                    },
                                    "foundation_id": {
                                        "description": "Id of fundation type. Ids to select: 2 - WOŚP; 3 - Pajacyk",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Quantity of book increased"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/top-categories": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get list of top categories with limit",
                "operationId": "ef830ce89294d37580af2e2afe231d61",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of items to return.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name,slug"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of top categories"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/last-seen": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get list of last seen products",
                "operationId": "627368866dbbf3de3175d0688ee673d9",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of last seen products"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/suggested-products": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get list of suggested products",
                "operationId": "844b581bb71b6c1bb4ec352655e8746e",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name,authors"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of suggested products"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/categories": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get list of categories",
                "operationId": "48f9e9da1b7f93a21a9bb4f756a40de7",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name,slug"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of categories"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/last-drop": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get last drop",
                "operationId": "c23a4e9d9f271b3679500a3fc7e12c54",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of last drop products"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/delivery-providers": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get delivery providers",
                "operationId": "5d684152d990cb81be7b36d8330c970c",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,name,price"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of delivery providers"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/company-details": {
            "get": {
                "tags": [
                    "DataList"
                ],
                "summary": "Get company details",
                "operationId": "b40747ac01ed1e7f9b6c12f6cc496bb6",
                "parameters": [
                    {
                        "name": "nip",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 8722409978
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Company details"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/rate": {
            "post": {
                "tags": [
                    "Rate"
                ],
                "summary": "Stores a new user rate",
                "operationId": "eb5795b70ccae8233fbec9999da93f23",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "description"
                                ],
                                "properties": {
                                    "rate": {
                                        "description": "Rate",
                                        "type": "number",
                                        "format": "float"
                                    },
                                    "description": {
                                        "description": "Description",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Successfully created"
                    },
                    "400": {
                        "description": "Invalid request"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-products": {
            "get": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Cart products page",
                "operationId": "6b22386cb88795083217d56c12d323dc",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "name": "delivery_id",
                        "in": "query",
                        "description": "Id of delivery",
                        "required": false
                    },
                    {
                        "name": "point",
                        "in": "query",
                        "description": "number of delivery point"
                    },
                    {
                        "name": "info",
                        "in": "query",
                        "description": "full address of delivery point"
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "products.id,products.price,summary.total"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cart products page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/cart-products-submit": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Submit cart products page",
                "operationId": "9bcc1f4cd393c49289f5e58414a8ad66",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "description": "User id",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Submited cart products page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/cart-data": {
            "get": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Show delivery data page",
                "operationId": "88dfd259b7cebb9cce9ab797715e79b0",
                "responses": {
                    "200": {
                        "description": "Show delivery data page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-data-submit": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Delivery data submit",
                "operationId": "72e2dbc9480d0158713e1c81fbf78d62",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "address",
                                    "address_form",
                                    "bill"
                                ],
                                "properties": {
                                    "address": {
                                        "description": "Type of address, 'company' - company address; 'private' - user address",
                                        "type": "string",
                                        "example": "private"
                                    },
                                    "bill": {
                                        "description": "Bill, 0 - invoice; 1 - bill",
                                        "type": "boolean",
                                        "example": true
                                    },
                                    "address_form": {
                                        "description": "User provided manually address data, not used existing address. If '1' then address_id must by null",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_id": {
                                        "description": "Id of selected existing address by user. If provided then address_form must by '0'",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "delivery_address": {
                                        "description": "Different shipping address, '1' - other address to delivery than selected; '0' - not use other address",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_user[]": {
                                        "description": "User address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_company[]": {
                                        "description": "Company address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "nip": {
                                                    "description": "NIP",
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "description": "Company name",
                                                    "type": "string"
                                                },
                                                "first_name": {
                                                    "description": "First name",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Last name",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_delivery[]": {
                                        "description": "Different shipping address",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delivery data submited"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-delivery": {
            "get": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Show delivery options page",
                "operationId": "dac2935f30f211d300218145b5e4c584",
                "parameters": [
                    {
                        "name": "street",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "home",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "zip",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "country",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "delivery_id",
                        "in": "query",
                        "description": "Id of delivery",
                        "required": false
                    },
                    {
                        "name": "point",
                        "in": "query",
                        "description": "number of delivery point",
                        "required": false
                    },
                    {
                        "name": "info",
                        "in": "query",
                        "description": "full address of delivery point",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show delivery options page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-delivery-submit": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Submit delivery option",
                "operationId": "90a302e4eb114c0d81cc248aae1b0ced",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "country",
                                    "delivery_id"
                                ],
                                "properties": {
                                    "country": {
                                        "description": "Name of the company.",
                                        "type": "string",
                                        "example": "Polska"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    },
                                    "point": {
                                        "description": "number of delivery point",
                                        "type": "string"
                                    },
                                    "info": {
                                        "description": "full address of delivery point",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Submited delivery option"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-payment": {
            "get": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Show payment options page",
                "operationId": "ebfec54413dce726e043e6dbee6d407f",
                "responses": {
                    "200": {
                        "description": "Show payment options page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/cart-submit": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart submit",
                "operationId": "12bd5ae7cbea478ed4923f5612cf67e3",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "address",
                                    "address_form",
                                    "bill",
                                    "payment_id",
                                    "delivery_id",
                                    "policy",
                                    "country"
                                ],
                                "properties": {
                                    "bill": {
                                        "description": "Bill, 0 - invoice; 1 - bill",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "address": {
                                        "description": "Type of address, 'company' - company address; 'private' - user address",
                                        "type": "string",
                                        "example": "private"
                                    },
                                    "address_form": {
                                        "description": "User provided manually address data, not used existing address. If '1' then address_id must by null",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_id": {
                                        "description": "Id of selected existing address by user. If provided then address_form must by '0'",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "payment_id": {
                                        "description": "Id of payment",
                                        "type": "integer"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    },
                                    "point": {
                                        "description": "number of delivery point",
                                        "type": "string"
                                    },
                                    "info": {
                                        "description": "full address of delivery point",
                                        "type": "string"
                                    },
                                    "country": {
                                        "description": "Name of the company.",
                                        "type": "string",
                                        "example": "Polska"
                                    },
                                    "policy": {
                                        "description": "Policy accepted",
                                        "type": "boolean"
                                    },
                                    "subscribe": {
                                        "description": "Subscribe accepted",
                                        "type": "boolean"
                                    },
                                    "delivery_address": {
                                        "description": "Different shipping address, '1' - other address to delivery than selected; '0' - not use other address",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "comment": {
                                        "description": "comment to order",
                                        "type": "string"
                                    },
                                    "address_user[]": {
                                        "description": "User address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_company[]": {
                                        "description": "Company address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "nip": {
                                                    "description": "NIP",
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "description": "Company name",
                                                    "type": "string"
                                                },
                                                "first_name": {
                                                    "description": "First name",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Last name",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_delivery[]": {
                                        "description": "Different shipping address",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Order created"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/sell-cart/complete/{sellOrder}/{hash}": {
            "get": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart complete",
                "operationId": "3dd1292300b81d36c7e83ee5c2447835",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "hash",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show complete page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/add": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart add",
                "operationId": "aa6e37644041816c3c2313e6eee32ae3",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "user_id",
                                    "product_id"
                                ],
                                "properties": {
                                    "product_id": {
                                        "description": "Product id",
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "description": "Quantity of product",
                                        "type": "integer"
                                    },
                                    "user_id": {
                                        "description": "User Id",
                                        "type": "string"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Product added to cart"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/change": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart change product quantity",
                "operationId": "e31b089545eb491e7c26c92e63875e8e",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "user_id",
                                    "product_id"
                                ],
                                "properties": {
                                    "product_id": {
                                        "description": "Product id",
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "description": "Quantity of product",
                                        "type": "integer"
                                    },
                                    "user_id": {
                                        "description": "User Id",
                                        "type": "string"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Product changed in cart"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/delete": {
            "delete": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart delete product",
                "operationId": "ba98428ef19f7378a99cc1dae02ad553",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "description": "Product id",
                        "required": true
                    },
                    {
                        "name": "delivery_id",
                        "in": "query",
                        "description": "Id of delivery",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product deleted from cart"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/discount": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart set discount",
                "operationId": "13d114bb3520450b01e34a1844b4ec90",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "user_id",
                                    "code"
                                ],
                                "properties": {
                                    "code": {
                                        "description": "Dicount code",
                                        "type": "string"
                                    },
                                    "user_id": {
                                        "description": "User Id",
                                        "type": "string"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Discount added to cart"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/sell-cart/delete-discount": {
            "post": {
                "tags": [
                    "Sell Cart"
                ],
                "summary": "Sell cart delete discount",
                "operationId": "df02fa571449446ad5e1ef6d073a65b0",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "user_id"
                                ],
                                "properties": {
                                    "user_id": {
                                        "description": "User Id",
                                        "type": "string"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Discount removed from cart"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/user/addresses": {
            "get": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Index user addresses",
                "operationId": "dc348590ee8ca134b5d2f8f1a056dfa3",
                "responses": {
                    "200": {
                        "description": "Return access token"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "403": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Store user address",
                "operationId": "07a7ecd6aaed2c7d821c8d8c03bc75c8",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "company_name": {
                                        "description": "Name of the company.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "first_name": {
                                        "description": "First name of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "last_name": {
                                        "description": "Last name of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "city": {
                                        "description": "City of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "postcode": {
                                        "description": "Postcode of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "street": {
                                        "description": "Street name of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "home_number": {
                                        "description": "Home number of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "flat_number": {
                                        "description": "Flat number of the user's address.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "country": {
                                        "description": "Country of the user.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "phone": {
                                        "description": "Phone number of the user.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "company_nip": {
                                        "description": "NIP (Tax Identification Number) of the company.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 13
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Address created"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "403": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/addresses/{id}": {
            "get": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Show user addresss",
                "operationId": "adfc810517486f558f6652f22c3e5ba1",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "example": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return simgle address"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "403": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Update user address",
                "operationId": "dde17786bfff8c1d981a7ad2965ee1c3",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "example": 1
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "company_name": {
                                        "description": "Name of the company.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "first_name": {
                                        "description": "First name of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "last_name": {
                                        "description": "Last name of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "city": {
                                        "description": "City of the user.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "postcode": {
                                        "description": "Postcode of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "street": {
                                        "description": "Street name of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "home_number": {
                                        "description": "Home number of the user's address.",
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "flat_number": {
                                        "description": "Flat number of the user's address.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "country": {
                                        "description": "Country of the user.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "phone": {
                                        "description": "Phone number of the user.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "company_nip": {
                                        "description": "NIP (Tax Identification Number) of the company.",
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 13
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Address updated"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "403": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Addresses"
                ],
                "summary": "Delete user address",
                "operationId": "37a95b25b0d1e153c6c01746c3734fc0",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "example": 1
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Address deleted"
                    },
                    "400": {
                        "description": "Invalid address ID or request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Main address cannot be deleted"
                    },
                    "422": {
                        "description": "Unprocessable request due to validation errors"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/login": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Login user",
                "operationId": "7d2c205ff7e1494a357b1ebf1c4c6286",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "User email.",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "User password.",
                                        "type": "string"
                                    },
                                    "user_id": {
                                        "description": "User id of not logged user to copy cart data for login user",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return access token"
                    },
                    "302": {
                        "description": "Invalid Credentials"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/refresh-token": {
            "patch": {
                "tags": [
                    "User"
                ],
                "summary": "Refresh token",
                "operationId": "3abc21dde587322d4ad27d5566d97a42",
                "parameters": [
                    {
                        "name": "Authorization",
                        "in": "header",
                        "description": "Bearer token. Must contain the `refresh_token`",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "Bearer {refresh_token}"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "access_token": {
                                        "description": "Expired access token.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tokens refreshed"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "403": {
                        "description": "No access - forbidden"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/login/{platform}/{provider}/token": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Login user by socialite",
                "operationId": "92503d220cd5004a35b17c700efb5e5d",
                "parameters": [
                    {
                        "name": "platform",
                        "in": "path",
                        "required": true,
                        "example": "ios"
                    },
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "example": "google"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "description": "socialite token.",
                                        "type": "string"
                                    },
                                    "user_id": {
                                        "description": "Not logged user id",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return access token"
                    },
                    "302": {
                        "description": "Invalid Credentials"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/login/{platform}/{provider}/redirect": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Receive redirect deep-link",
                "operationId": "1501b1470a659f0655caabbb5ca414ea",
                "parameters": [
                    {
                        "name": "platform",
                        "in": "path",
                        "required": true,
                        "example": "ios"
                    },
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "example": "google"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "id_token": {
                                        "description": "Socialite token.",
                                        "type": "string"
                                    },
                                    "code": {
                                        "description": "socialite code.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "301": {
                        "description": "Redicrect deep-link"
                    },
                    "302": {
                        "description": "Invalid Credentials"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/user/book-reviews": {
            "get": {
                "tags": [
                    "BookReview"
                ],
                "summary": "Get user's book reviews",
                "operationId": "8d6d45558d7cc92571fad570df1fca75",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,status,number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User's book reviews retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "reviews": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/UserBookReview"
                                            }
                                        },
                                        "total_rewards_value": {
                                            "description": "Total value of rewards available this month",
                                            "type": "number",
                                            "example": 150.5
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "No access"
                    },
                    "400": {
                        "description": "Invalid request"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/book-review": {
            "post": {
                "tags": [
                    "BookReview"
                ],
                "summary": "Store book review",
                "operationId": "13c32f814f56bd31e64e7a74900ae6cb",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "rate": {
                                        "description": "rate",
                                        "type": "integer"
                                    },
                                    "review": {
                                        "description": "review",
                                        "type": "string"
                                    },
                                    "isbn": {
                                        "description": "book isbn",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book review created"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/book-review/{bookReview}/vote": {
            "post": {
                "tags": [
                    "BookReview"
                ],
                "summary": "Store review vote",
                "operationId": "44599f50af03f8107961982342ac2266",
                "parameters": [
                    {
                        "name": "bookReview",
                        "in": "path",
                        "description": "id of book review",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "vote": {
                                        "description": "Vote value, can be -1 (downvote) or 1 (upvote)",
                                        "type": "integer",
                                        "enum": [
                                            -1,
                                            1
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Book review created"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "List of buy orders for user",
                "operationId": "4b908345583207fe54dbce44236785fb",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,status,number,products.id,products.title,return_orders.id,return_orders.status"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Buy Order list"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/show": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Show buy order",
                "operationId": "be6ad541acf104a194bb4646e9f88181",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,status,number,products.id,products.title,return_orders.id,return_orders.status"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show buy order transaction"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/courier-order": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Order courier",
                "operationId": "79268635ffb845307d291be5a554e9e5",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "date": {
                                        "description": "Courier date",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Order courier"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/confirm-declaration": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Confirm declaration",
                "operationId": "36bb208d741d75fcea496cabc8d8cbb3",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "declaraton confirmed"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/download-declaration": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Download declaration",
                "operationId": "44e3f86307b8d7a8fee9eab519776bbb",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "declaraton downloaded"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/download-bank-confirmation": {
            "get": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Download bank confirmation",
                "operationId": "02c1c790e9b7a2bc8445deca1cccb25e",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "bank_withdraw_id",
                        "in": "query",
                        "description": "Bank withdraw ID",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "bank confirmation downloaded"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}": {
            "put": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Update buy order",
                "operationId": "1a403c55e3d8d4d3bc3c94011550fd13",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "ship_first_name": {
                                        "description": "First name",
                                        "type": "string"
                                    },
                                    "ship_last_name": {
                                        "description": "Last name",
                                        "type": "string"
                                    },
                                    "ship_street": {
                                        "description": "Street",
                                        "type": "string"
                                    },
                                    "ship_home_number": {
                                        "description": "Home number",
                                        "type": "string"
                                    },
                                    "ship_flat_number": {
                                        "description": "Flat number",
                                        "type": "string"
                                    },
                                    "ship_postcode": {
                                        "description": "Postcode",
                                        "type": "string"
                                    },
                                    "ship_town": {
                                        "description": "City",
                                        "type": "string"
                                    },
                                    "ship_company_name": {
                                        "description": "Company name",
                                        "type": "string"
                                    },
                                    "phone": {
                                        "description": "Phone number",
                                        "type": "string"
                                    },
                                    "payout_id": {
                                        "description": "ID of the payout method. Ids to select: 'charity', 'cash', 'cash-70-charity-30', 'cash-50-charity-50'",
                                        "type": "string"
                                    },
                                    "foundation_id": {
                                        "description": "Id of fundation type. Ids to select: 2 - WOŚP; 3 - Pajacyk",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated buy order"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/transactions/{buyOrder}/return-books": {
            "post": {
                "tags": [
                    "BuyOrder"
                ],
                "summary": "Set return point",
                "operationId": "22f6978638c555a7545014fb1f39745a",
                "parameters": [
                    {
                        "name": "buyOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "return_point_code": {
                                        "description": "return point code",
                                        "type": "string",
                                        "example": "WS-913861-A8-13"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Set return point"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/password/forgotten": {
            "post": {
                "tags": [
                    "Password"
                ],
                "summary": "Request password reset",
                "operationId": "650c5a152449e888384adc0adb507bc1",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "User email.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password reset link sent"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/user/password": {
            "put": {
                "tags": [
                    "Password"
                ],
                "summary": "Change user password",
                "operationId": "0ac4aa12c80cc1ec7dd35b035c2bc6ae",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "new_password": {
                                        "description": "New password.",
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "description": "Password confirmation.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password changed successfully"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "List of sell orders",
                "operationId": "040062dec6838299f17840bf9347f24b",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,status,email,products.cover"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order list"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/{sellOrder}/show": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Show sell order",
                "operationId": "4e2a4650f58e3f1a990564131d5924b1",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of order to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,status,email,products.cover"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show sell order"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/hash/{hash}": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Show sell order by hash",
                "operationId": "977657296d37e187c6357501c9698956",
                "parameters": [
                    {
                        "name": "hash",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show sell order by hash"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/user/orders/merge-orders-data": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Show delivery and payment options for merge orders",
                "operationId": "853e177a944ac2d81c2c5f8c130eb0b5",
                "parameters": [
                    {
                        "name": "street",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "home",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "zip",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "country",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "point",
                        "in": "query",
                        "description": "number of delivery point",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "info",
                        "in": "query",
                        "description": "full address of delivery point",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "merge_order_ids",
                        "in": "query",
                        "description": "Array of orders id to merge",
                        "schema": {
                            "type": "array",
                            "items": {
                                "description": "Order ID",
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delivery and payment data"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/merge-orders": {
            "post": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Merge orders",
                "operationId": "422f9a8b4f3f0d0889eeb1943f932803",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "merge_order_ids",
                                    "country",
                                    "payment_id",
                                    "delivery_id",
                                    "address",
                                    "address_form",
                                    "bill"
                                ],
                                "properties": {
                                    "merge_order_ids": {
                                        "description": "Array of orders id to merge",
                                        "type": "array",
                                        "items": {
                                            "description": "Order ID",
                                            "type": "integer"
                                        }
                                    },
                                    "payment_id": {
                                        "description": "Id of payment",
                                        "type": "integer"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    },
                                    "country": {
                                        "description": "country",
                                        "type": "string"
                                    },
                                    "point": {
                                        "description": "number of delivery point",
                                        "type": "string"
                                    },
                                    "info": {
                                        "description": "full address of delivery point",
                                        "type": "string"
                                    },
                                    "address": {
                                        "description": "Type of address, 'company' - company address; 'private' - user address",
                                        "type": "string",
                                        "example": "private"
                                    },
                                    "bill": {
                                        "description": "Bill, 0 - invoice; 1 - bill",
                                        "type": "boolean",
                                        "example": true
                                    },
                                    "address_form": {
                                        "description": "User provided manually address data, not used existing address. If '1' then address_id must by null",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_id": {
                                        "description": "Id of selected existing address by user. If provided then address_form must by '0'",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "delivery_address": {
                                        "description": "Different shipping address, '1' - other address to delivery than selected; '0' - not use other address",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_user[]": {
                                        "description": "User address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_company[]": {
                                        "description": "Company address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "nip": {
                                                    "description": "NIP",
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "description": "Company name",
                                                    "type": "string"
                                                },
                                                "first_name": {
                                                    "description": "First name",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Last name",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_delivery[]": {
                                        "description": "Different shipping address",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Orders merged"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/{sellOrder}/edit-data": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Show delivery and payment options for merge orders",
                "operationId": "f00b0624e3e83068ab24518d488436ec",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "street",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "home",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "zip",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "country",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "point",
                        "in": "query",
                        "description": "number of delivery point",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "info",
                        "in": "query",
                        "description": "full address of delivery point",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delivery and payment data"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Edit address in sell order",
                "operationId": "3b9a4e80df89345ed39006274f76eb64",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "address",
                                    "address_form",
                                    "bill",
                                    "delivery_address",
                                    "country",
                                    "payment_id",
                                    "delivery_id"
                                ],
                                "properties": {
                                    "address": {
                                        "description": "Type of address, 'company' - company address; 'private' - user address",
                                        "type": "string",
                                        "example": "private"
                                    },
                                    "bill": {
                                        "description": "Bill, 0 - invoice; 1 - bill",
                                        "type": "boolean",
                                        "example": true
                                    },
                                    "address_form": {
                                        "description": "User provided manually address data, not used existing address. If '1' then address_id must by null",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_id": {
                                        "description": "Id of selected existing address by user. If provided then address_form must by '0'",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "payment_id": {
                                        "description": "Id of payment",
                                        "type": "integer"
                                    },
                                    "delivery_id": {
                                        "description": "Id of delivery",
                                        "type": "integer"
                                    },
                                    "point": {
                                        "description": "number of delivery point",
                                        "type": "string"
                                    },
                                    "info": {
                                        "description": "full address of delivery point",
                                        "type": "string"
                                    },
                                    "country": {
                                        "description": "Name of the company.",
                                        "type": "string",
                                        "example": "Polska"
                                    },
                                    "delivery_address": {
                                        "description": "Different shipping address, '1' - other address to delivery than selected; '0' - not use other address",
                                        "type": "string",
                                        "example": "0"
                                    },
                                    "address_user[]": {
                                        "description": "User address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_company[]": {
                                        "description": "Company address data",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "nip": {
                                                    "description": "NIP",
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "description": "Company name",
                                                    "type": "string"
                                                },
                                                "first_name": {
                                                    "description": "First name",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Last name",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "address_delivery[]": {
                                        "description": "Different shipping address",
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "first_name": {
                                                    "description": "Firstname",
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "description": "Lastname",
                                                    "type": "string"
                                                },
                                                "street": {
                                                    "description": "steet",
                                                    "type": "string"
                                                },
                                                "home": {
                                                    "description": "home number",
                                                    "type": "string"
                                                },
                                                "flat": {
                                                    "description": "flat number",
                                                    "type": "string"
                                                },
                                                "zip": {
                                                    "description": "zip code",
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "description": "city",
                                                    "type": "string"
                                                },
                                                "country": {
                                                    "description": "country",
                                                    "type": "string"
                                                },
                                                "phone": {
                                                    "description": "phone",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Address edited"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/{sellOrder}/create-payment": {
            "post": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Create payment for sell order",
                "operationId": "8ca1bb0f523ea6f97f6b9487eb8eb787",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [],
                                "properties": {
                                    "bank_transfer_but_online_payment": {
                                        "description": "Is bank transfer but online payment. When user wants to pay with TPAY but via bank transfer",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Create TPay transaction"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/orders/{sellOrder}/download-invoice": {
            "get": {
                "tags": [
                    "SellOrder"
                ],
                "summary": "Download invoices",
                "operationId": "f1c5dba2c8b32f41f3541388c30b502f",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "file_name",
                        "in": "query",
                        "description": "File name to downoload",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Download invoice"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/register": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Register user",
                "operationId": "feb96b9fbab2c89caa10cccbe927f0cf",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "User email.",
                                        "type": "string"
                                    },
                                    "password": {
                                        "description": "User password.",
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "description": "User password confirmation.",
                                        "type": "string"
                                    },
                                    "user_first_name": {
                                        "description": "User first name.",
                                        "type": "string"
                                    },
                                    "user_last_name": {
                                        "description": "User last name.",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "User successfully registered"
                    },
                    "302": {
                        "description": "Invalid Credentials"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/user": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get authenticated user data",
                "operationId": "2b6dad18a94645425f614c8c7dd1f7ae",
                "responses": {
                    "200": {
                        "description": "Authenticated user data"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Update authenticated user data",
                "operationId": "8586fa84dba54e74dfec1973b3399d8d",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "first_name": {
                                        "type": "string",
                                        "example": "John",
                                        "nullable": true
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "example": "Doe",
                                        "nullable": true
                                    },
                                    "street": {
                                        "type": "string",
                                        "example": "Main Street",
                                        "nullable": true
                                    },
                                    "home_number": {
                                        "type": "string",
                                        "example": "123",
                                        "nullable": true
                                    },
                                    "flat_number": {
                                        "type": "string",
                                        "example": "45",
                                        "nullable": true
                                    },
                                    "postcode": {
                                        "type": "string",
                                        "example": "00-001",
                                        "nullable": true
                                    },
                                    "town": {
                                        "type": "string",
                                        "example": "Warsaw",
                                        "nullable": true
                                    },
                                    "country": {
                                        "type": "string",
                                        "example": "Polska",
                                        "nullable": true
                                    },
                                    "phone": {
                                        "type": "string",
                                        "example": "601100100",
                                        "nullable": true
                                    },
                                    "bank_account": {
                                        "type": "string",
                                        "example": "PL69249000050000460095676492",
                                        "nullable": true
                                    },
                                    "sales_manago_subscription": {
                                        "type": "boolean",
                                        "example": true,
                                        "nullable": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User data updated successfully"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Users"
                ],
                "summary": "Delete authenticated user",
                "operationId": "f7b17e9d44c1b7e88b3ea9c0b05d4667",
                "responses": {
                    "204": {
                        "description": "User successfully deleted"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/current-user-id": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get id of logged or not logged user",
                "operationId": "9744cb7cc162374d832982ecdeb792fc",
                "responses": {
                    "200": {
                        "description": "User Id of logged or not logged"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/api/v3/mobile/user/wishlist": {
            "get": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Lists user wishlist products",
                "operationId": "e9b76de81a2a2406bc1b130c17c49264",
                "parameters": [
                    {
                        "name": "only",
                        "in": "query",
                        "description": "Select properties of wishlist to get",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "id,product.id,product.isbn,product.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Wishlist product id list"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Adds the product to wishlist",
                "operationId": "e91d0762fd1d92a5cab8af4214e96c42",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "product_id": {
                                        "description": "Product id field",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Wishlist product added"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Product not found"
                    },
                    "409": {
                        "description": "Already exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/wishlist/{wishlistProduct}": {
            "delete": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Removes the product form wishlist",
                "operationId": "f671c1a7a2c2a894470f9826296cbb4b",
                "parameters": [
                    {
                        "name": "wishlistProduct",
                        "in": "path",
                        "description": "Wishlist id field",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Wishlist product removed"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Wishlist product id not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/user/wishlist/clear": {
            "delete": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Clears wishlist",
                "operationId": "5e9b0f603134fd39f4fd113be0603dee",
                "responses": {
                    "200": {
                        "description": "Wishlist cleared"
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Wishlist product id not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v3/mobile/versions": {
            "get": {
                "tags": [
                    "Mobile"
                ],
                "summary": "Get the latest mobile app versions",
                "description": "Returns the latest app versions and whether the update is forced for Android and iOS.",
                "operationId": "cba4bacabe10e6a4c35167af9bce8fd2",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "android": {
                                            "properties": {
                                                "latest": {
                                                    "type": "string",
                                                    "example": "1.0.0"
                                                },
                                                "force": {
                                                    "type": "boolean",
                                                    "example": false
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "ios": {
                                            "properties": {
                                                "latest": {
                                                    "type": "string",
                                                    "example": "1.0.0"
                                                },
                                                "force": {
                                                    "type": "boolean",
                                                    "example": false
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/mobile/view/author/{author}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show author page",
                "operationId": "dc3e793a04d41037053ace10f61dd04f",
                "parameters": [
                    {
                        "name": "author",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug,bestsellers.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show author page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/publishing-house/{publishingHouse}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show publishing house page",
                "operationId": "3b739e982193ba9063072b8bf1a3841a",
                "parameters": [
                    {
                        "name": "publishingHouse",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug,bestsellers.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show publishing house page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/tag/{tag}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show tag page",
                "operationId": "9492074ac84b8f60f9d065d77790212e",
                "parameters": [
                    {
                        "name": "tag",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug,bestsellers.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show tag page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/book/{sellProduct}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show book page",
                "operationId": "e25841f871262fb54fcda04101fa5e66",
                "parameters": [
                    {
                        "name": "sellProduct",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "isbn,name,authors.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show book page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/book-reviews": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Get book reviews",
                "operationId": "6ee8ed387d95102c424703faa953cad9",
                "parameters": [
                    {
                        "name": "isbn",
                        "in": "query",
                        "description": "Book isbn",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Get reviews from",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 0
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of reviews to get",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "isbn,author,content"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Book reviews"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/category/{category}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show category page",
                "operationId": "c9755f14f6d3c388a126d682b6a8ecc0",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "description": "Category id",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug,bestsellers.name"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Category page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/book-series/{bookSeries}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show book series page",
                "operationId": "c349cd1325bae584816081a136814822",
                "parameters": [
                    {
                        "name": "bookSeries",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show book series page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v3/mobile/view/book-cycle/{bookCycle}": {
            "get": {
                "tags": [
                    "View"
                ],
                "summary": "Show book cycle page",
                "operationId": "09713cfe46ccb77df0242787016cfe84",
                "parameters": [
                    {
                        "name": "bookCycle",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "name,slug"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Show book cycle page"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                }
            }
        },
        "/api/v2/kurierbox/machines": {
            "get": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "List of kurierbox machines",
                "operationId": "01b4452d3a5ff3148e013d35263a49a5",
                "responses": {
                    "200": {
                        "description": "List of kurierbox machines"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/machines/{machine}/returns": {
            "get": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "List of parcels to return",
                "operationId": "ff09072d07321d527b91b6b6b17241c7",
                "parameters": [
                    {
                        "name": "machine",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "format": "string",
                            "example": "PLPOMGDY02"
                        }
                    },
                    {
                        "name": "sub_hours",
                        "in": "query",
                        "description": "How many hours ago to download packages for return",
                        "required": false,
                        "schema": {
                            "format": "string",
                            "example": "24"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of parcels to return"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/returns/{machine}/{code}/pickup": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Open locker to get package",
                "operationId": "90ce06379e1b3f5b054791e583dc94e9",
                "parameters": [
                    {
                        "name": "machine",
                        "in": "path",
                        "description": "Machine code",
                        "required": true,
                        "schema": {
                            "format": "string",
                            "example": "PLPOMGDY02"
                        }
                    },
                    {
                        "name": "code",
                        "in": "path",
                        "description": "Code to open locker",
                        "required": true,
                        "schema": {
                            "format": "string",
                            "example": "456987"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Locker opened"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/returns/{machine}/{code}/confirm_pickup": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Confirm package pickup",
                "operationId": "547581ee19d4f3bbc2ad2b0096e80c36",
                "parameters": [
                    {
                        "name": "machine",
                        "in": "path",
                        "description": "Machine code",
                        "required": true,
                        "schema": {
                            "format": "string",
                            "example": "PLPOMGDY02"
                        }
                    },
                    {
                        "name": "code",
                        "in": "path",
                        "description": "Code to open locker",
                        "required": true,
                        "schema": {
                            "format": "string",
                            "example": "456987"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Confirmed package pickup"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/order/{sellOrder}": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Check package is ready to send by kurierbox",
                "operationId": "09fd86f87a8d318ba696b5e11a5283b5",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "description": "Id of the order which will be sent via courierbox",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order is ready to send by kurierbox"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Order not exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/order/{sellOrder}/delivery": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Open locker to put package",
                "operationId": "7a45967631a3f16c5c26386f2ba15207",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "description": "Id of the order for which the box will be reserved",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Locker opened"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Order not exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/order/{sellOrder}/confirm_delivery": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Confirm put package to locker",
                "operationId": "93857ab41186e8f669a180a5a3ec5b0c",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "description": "Id of the order for which the approved locker will be reserved",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Confirmed"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Order not exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/order/{sellOrder}/create-reservation": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Create reservation for order",
                "operationId": "397ac5df38ce5db6453656fc03c5073b",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "description": "Id of the order for which the approved locker will be reserved",
                        "required": true
                    },
                    {
                        "name": "locker_size",
                        "in": "query",
                        "description": "Size of locker. Enabled to select are: A, B, C",
                        "schema": {
                            "format": "string",
                            "example": "B"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Order not exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/v2/kurierbox/order/{sellOrder}/delete-reservation": {
            "post": {
                "tags": [
                    "Kurierbox"
                ],
                "summary": "Create reservation for order",
                "operationId": "51816b3c5606f2afd4d85b97ec664765",
                "parameters": [
                    {
                        "name": "sellOrder",
                        "in": "path",
                        "description": "Id of the order for which reserve will be delete",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Invalid request"
                    },
                    "401": {
                        "description": "No access"
                    },
                    "404": {
                        "description": "Order not exists"
                    },
                    "422": {
                        "description": "Unprocessable Content"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "BankWithdrawResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 123
                    },
                    "transaction_id": {
                        "type": "string",
                        "example": "T24-XYZ-789"
                    },
                    "confirmation_filename": {
                        "type": "string",
                        "example": "potwierdzenie-123.pdf",
                        "nullable": true
                    },
                    "type": {
                        "type": "integer",
                        "example": 1
                    },
                    "type_label": {
                        "type": "string",
                        "example": "Standardowy"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-09-16 12:44:00"
                    }
                },
                "type": "object"
            },
            "Banner": {
                "properties": {
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "mobile_url": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "banner_is_video": {
                        "type": "boolean"
                    },
                    "filename": {
                        "type": "string",
                        "nullable": true
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "order": {
                        "type": "integer"
                    },
                    "stories_order": {
                        "type": "integer",
                        "nullable": true
                    },
                    "date_from": {
                        "type": "string",
                        "format": "date"
                    },
                    "date_to": {
                        "type": "string",
                        "format": "date"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "target_url": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "action": {
                        "description": "Action configuration. For product and stories banners you can point to a model (e.g. tag, author) or use action.type='lastDrop' to show the latest drop list.",
                        "properties": {
                            "type": {
                                "description": "Action type. 'lastDrop' is used for product or stories banners to show the latest drop list.",
                                "type": "string",
                                "enum": [
                                    "tag",
                                    "series",
                                    "cycle",
                                    "category",
                                    "publisher",
                                    "author",
                                    "product",
                                    "lastDrop"
                                ]
                            },
                            "id": {
                                "description": "Model ID (not used for lastDrop type)",
                                "type": "integer",
                                "nullable": true
                            },
                            "name": {
                                "description": "Model name or 'Ostatni drop' for lastDrop type",
                                "type": "string",
                                "nullable": true
                            }
                        },
                        "type": "object",
                        "example": {
                            "type": "lastDrop",
                            "name": "Ostatni drop"
                        },
                        "nullable": true
                    },
                    "text": {
                        "type": "string",
                        "nullable": true
                    },
                    "type": {
                        "description": "Banner type: 'web' or 'mobile'",
                        "type": "string"
                    },
                    "type_label": {
                        "type": "string"
                    },
                    "phrase": {
                        "description": "Search phrase used by product or stories banners when working in phrase mode instead of lastDrop. If phrase is null and action.type='lastDrop', the latest drop list is shown instead.",
                        "type": "string",
                        "example": "non",
                        "nullable": true
                    },
                    "position": {
                        "type": "string",
                        "nullable": true
                    },
                    "template": {
                        "description": "Template type: 'product', 'square_graphic', 'text_banner', 'stories'",
                        "type": "string",
                        "nullable": true
                    },
                    "background_color": {
                        "type": "string",
                        "nullable": true
                    },
                    "text_color": {
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "BookReviewReward": {
                "title": "Book Review Reward",
                "description": "Reward information for book review. Available only when got_prize is true. Possible reward types: 'discount_percentage' (rabat procentowy), 'discount_value' (rabat kwotowy), 'free_delivery' (darmowa dostawa). Check 'type' field to determine reward type and handle accordingly.",
                "required": [
                    "type",
                    "value",
                    "code",
                    "delivered",
                    "reward_name"
                ],
                "properties": {
                    "type": {
                        "description": "Reward type. Enum values: 'discount_percentage' (rabat procentowy), 'discount_value' (rabat kwotowy), 'free_delivery' (darmowa dostawa). Use this field to determine how to display the reward. Examples: 'discount_percentage' for 10% discount, 'discount_value' for 50zł discount, 'free_delivery' for free delivery.",
                        "type": "string",
                        "example": "discount_percentage",
                        "enum": [
                            "discount_percentage",
                            "discount_value",
                            "free_delivery"
                        ]
                    },
                    "value": {
                        "description": "Reward value. For discount_percentage: percentage value (e.g. 10 = 10%, 15 = 15%). For discount_value: amount in PLN (e.g. 50 = 50zł, 100 = 100zł). For free_delivery: always 0. Examples: 10 (for 10% discount), 50 (for 50zł discount), 0 (for free delivery).",
                        "type": "integer",
                        "example": 10
                    },
                    "code": {
                        "description": "Discount code that user can use to apply the reward. Examples: 'REVIEW10' (for 10% discount), 'REVIEW50' (for 50zł discount), 'FREEDEL' (for free delivery).",
                        "type": "string",
                        "example": "REVIEW10"
                    },
                    "valid_until": {
                        "description": "Reward expiration date in d.m.Y format. Can be null if no expiration date is set. Examples: '31.12.2024', '30.06.2025', null (no expiration).",
                        "type": "string",
                        "example": "31.12.2024",
                        "nullable": true
                    },
                    "delivered": {
                        "description": "Whether reward was delivered to user. true = reward was sent to user, false = reward is pending delivery. Examples: true (reward sent), false (reward pending).",
                        "type": "boolean",
                        "example": true
                    },
                    "reward_name": {
                        "description": "Human-readable reward name. Examples: 'Bon na 10%' (for discount_percentage with value 10), 'Bon na zakupy o wartości 50zł' (for discount_value with value 50), 'Bon na darmową dostawę' (for free_delivery).",
                        "type": "string",
                        "example": "Bon na 10%"
                    }
                },
                "type": "object",
                "example": {
                    "type": "discount_percentage",
                    "value": 10,
                    "code": "REVIEW10",
                    "valid_until": "31.12.2024",
                    "delivered": true,
                    "reward_name": "Bon na 10%"
                }
            },
            "BuyOrderLogResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 50
                    },
                    "new_status": {
                        "type": "integer",
                        "example": 2
                    },
                    "new_status_label": {
                        "type": "string",
                        "example": "W trakcie weryfikacji"
                    },
                    "old_status": {
                        "type": "integer",
                        "example": 1
                    },
                    "old_status_label": {
                        "type": "string",
                        "example": "Nowe",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "example": "14:30, 16.09.2025"
                    }
                },
                "type": "object"
            },
            "BuyOrderProductResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 101
                    },
                    "title": {
                        "type": "string",
                        "example": "Wiedźmin - Ostatnie życzenie"
                    },
                    "author": {
                        "type": "string",
                        "example": "Andrzej Sapkowski"
                    },
                    "isbn": {
                        "type": "string",
                        "example": "9788375780635"
                    },
                    "price": {
                        "type": "number",
                        "format": "float",
                        "example": 9.5
                    },
                    "price_default": {
                        "type": "number",
                        "format": "float",
                        "example": 12
                    },
                    "image": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/images/cover.jpg"
                    },
                    "state": {
                        "type": "integer",
                        "example": 5
                    },
                    "state_name": {
                        "type": "string",
                        "example": "Bardzo dobry",
                        "nullable": true
                    },
                    "comment": {
                        "type": "string",
                        "example": "Lekkie zagięcie rogu."
                    },
                    "deleted": {
                        "type": "integer",
                        "example": 0
                    },
                    "ready": {
                        "type": "integer",
                        "example": 1
                    },
                    "remove_status": {
                        "type": "integer",
                        "example": 0
                    },
                    "wanted": {
                        "type": "integer",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "BuyOrder": {
                "title": "BuyOrder",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "number": {
                        "type": "integer",
                        "example": 456
                    },
                    "total": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2023-01-01 01:00:00"
                    },
                    "status": {
                        "type": "integer",
                        "example": 1
                    },
                    "status_description": {
                        "type": "string",
                        "example": "Nowe",
                        "nullable": true
                    },
                    "payout_id": {
                        "type": "integer",
                        "example": 3
                    },
                    "payout_name": {
                        "type": "string",
                        "example": "Przelew bankowy",
                        "nullable": true
                    },
                    "ship_address_description": {
                        "type": "string",
                        "example": "Dodatkowe instrukcje",
                        "nullable": true
                    },
                    "address_id": {
                        "type": "integer",
                        "example": 182196,
                        "nullable": true
                    },
                    "ship_first_name": {
                        "type": "string",
                        "example": "Jan",
                        "nullable": true
                    },
                    "ship_last_name": {
                        "type": "string",
                        "example": "Kowalski",
                        "nullable": true
                    },
                    "ship_street": {
                        "type": "string",
                        "example": "ul. Kwiatowa",
                        "nullable": true
                    },
                    "ship_company_name": {
                        "type": "string",
                        "example": "Firma Test",
                        "nullable": true
                    },
                    "ship_town": {
                        "type": "string",
                        "example": "Miasto",
                        "nullable": true
                    },
                    "ship_postcode": {
                        "type": "string",
                        "example": "00-001",
                        "nullable": true
                    },
                    "ship_home_number": {
                        "type": "string",
                        "example": "12A",
                        "nullable": true
                    },
                    "ship_flat_number": {
                        "type": "string",
                        "example": "3B",
                        "nullable": true
                    },
                    "return_point_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": true
                    },
                    "return_point_name": {
                        "type": "string",
                        "example": "10A",
                        "nullable": true
                    },
                    "return_tracking": {
                        "type": "string",
                        "example": "21",
                        "nullable": true
                    },
                    "is_return": {
                        "type": "integer",
                        "example": 0
                    },
                    "phone": {
                        "type": "string",
                        "example": "123456789",
                        "nullable": true
                    },
                    "tracking_number": {
                        "type": "string",
                        "example": "1Z7E61190498840309"
                    },
                    "delivery_date": {
                        "type": "string",
                        "format": "date",
                        "example": "2014-02-19",
                        "nullable": true
                    },
                    "delivery_price": {
                        "type": "number",
                        "format": "float",
                        "example": 12.99
                    },
                    "delivery_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "delivery_type": {
                        "type": "string",
                        "example": "Kurier",
                        "nullable": true
                    },
                    "delivery_send": {
                        "type": "integer",
                        "example": 1
                    },
                    "delivery_status": {
                        "type": "string",
                        "example": "Delivered"
                    },
                    "delivery_number": {
                        "type": "string",
                        "example": "295270JNIFI"
                    },
                    "accepted": {
                        "type": "integer",
                        "example": 1
                    },
                    "deleted": {
                        "type": "integer",
                        "example": 0
                    },
                    "done": {
                        "type": "integer",
                        "example": 1
                    },
                    "declaration": {
                        "type": "integer",
                        "example": 1
                    },
                    "declaration_download": {
                        "type": "string",
                        "format": "url",
                        "example": "https://example.com/api/v3/mobile/user/buy-order/1/download-declaration"
                    },
                    "days_to_return_books": {
                        "type": "integer",
                        "example": 14,
                        "nullable": true
                    },
                    "products": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BuyOrderProductResource"
                        }
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BuyOrderLogResource"
                        }
                    },
                    "return_orders": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SellOrderResource"
                        }
                    },
                    "bank_withdraws": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BankWithdrawResource"
                        }
                    }
                },
                "type": "object"
            },
            "PreviewProductOtherResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 987
                    },
                    "name": {
                        "type": "string",
                        "example": "Jennifer L. Armentrout"
                    }
                },
                "type": "object"
            },
            "PreviewProduct": {
                "title": "Preview Product",
                "description": "Product preview model with basic information",
                "properties": {
                    "id": {
                        "description": "Product ID",
                        "type": "integer",
                        "example": 6681614
                    },
                    "isbn": {
                        "description": "Book ISBN",
                        "type": "string",
                        "example": "9788383191263"
                    },
                    "name": {
                        "description": "Product name",
                        "type": "string",
                        "example": "The Raven King"
                    },
                    "short_description": {
                        "description": "Short product description",
                        "type": "string",
                        "nullable": true
                    },
                    "binding": {
                        "description": "Book binding type",
                        "type": "string",
                        "example": "miękka",
                        "nullable": true
                    },
                    "authors": {
                        "description": "Product authors",
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "average_rate": {
                        "description": "Average product rating",
                        "type": "number",
                        "format": "float",
                        "example": 4.5,
                        "nullable": true
                    },
                    "review_count": {
                        "description": "Number of reviews",
                        "type": "integer",
                        "example": 25
                    },
                    "discount": {
                        "description": "Discount percentage",
                        "type": "number",
                        "format": "float",
                        "example": 10,
                        "nullable": true
                    },
                    "category": {
                        "description": "Product category",
                        "type": "object",
                        "nullable": true
                    },
                    "bestseller": {
                        "description": "Whether product is a bestseller",
                        "type": "boolean",
                        "example": false
                    },
                    "cover": {
                        "description": "Product cover image URL",
                        "type": "string",
                        "format": "url",
                        "example": "https://skupszop.pl/images/books/webp/9788383191263.webp",
                        "nullable": true
                    },
                    "thumbnail": {
                        "description": "Product thumbnail image URL",
                        "type": "string",
                        "format": "url",
                        "example": "https://skupszop.pl/images/books/thumbnails/webp/9788383191263.webp",
                        "nullable": true
                    },
                    "variants": {
                        "description": "Product variants",
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "publishers": {
                        "description": "Product publishers",
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "nullable": true
                    },
                    "drop_id": {
                        "description": "Drop ID",
                        "type": "integer",
                        "nullable": true
                    },
                    "drop_date": {
                        "description": "Drop date",
                        "type": "string",
                        "nullable": true
                    },
                    "send_time_hours": {
                        "description": "Shipping time in hours",
                        "type": "integer",
                        "example": 24,
                        "nullable": true
                    },
                    "send_time_label": {
                        "description": "Shipping time label",
                        "type": "string",
                        "example": "24h",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "DiscountResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 42
                    },
                    "name": {
                        "type": "string",
                        "example": "Rabat wakacyjny"
                    },
                    "type": {
                        "type": "string",
                        "example": "percentage"
                    },
                    "ticket": {
                        "type": "string",
                        "example": "LATO2025"
                    },
                    "value": {
                        "type": "number",
                        "format": "float",
                        "example": 15
                    }
                },
                "type": "object"
            },
            "SellProduct": {
                "title": "SellProduct",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "price": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "final_price": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "final_amount": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "total_amount": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "quantity": {
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "example": "Anna In w grobowcach świata"
                    },
                    "isbn": {
                        "type": "string",
                        "example": "9788324007394"
                    },
                    "stan": {
                        "type": "string",
                        "example": "dobry"
                    },
                    "mag_quantity": {
                        "type": "integer",
                        "example": 1
                    },
                    "cover": {
                        "type": "string",
                        "example": "https://skupszop.pl/images/books/webp/9788366517981.webp"
                    },
                    "thumbnail": {
                        "type": "string",
                        "example": "https://skupszop.pl/images/books/thumbnails/9788366517981.jpg"
                    },
                    "send_time_hours": {
                        "type": "integer",
                        "example": 0
                    },
                    "send_time_label": {
                        "type": "string",
                        "example": "Pakujemy dzisiaj"
                    },
                    "short_send_time_label": {
                        "type": "string",
                        "example": "Dzisiaj"
                    },
                    "url": {
                        "type": "string",
                        "example": "https://skupszop.pl/anna-in-w-grobowcach-swiata-tokarczuk-olga-9788324007394?id=7751646"
                    },
                    "discounted": {
                        "type": "number",
                        "format": "float",
                        "example": 11.38
                    },
                    "discount": {
                        "type": "#/components/schemas/DiscountResource"
                    }
                },
                "type": "object"
            },
            "ShipmentResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 42
                    },
                    "name": {
                        "type": "string",
                        "example": "InPost Paczkomaty 24/7"
                    },
                    "price": {
                        "type": "number",
                        "format": "float",
                        "example": 0
                    },
                    "position": {
                        "type": "integer",
                        "example": 1
                    },
                    "image": {
                        "type": "string",
                        "example": "http://127.0.0.1:8000/static/store/img/shipments/20.png"
                    },
                    "free_shipment": {
                        "type": "number",
                        "format": "float",
                        "example": 190
                    },
                    "service": {
                        "type": "string",
                        "example": "inpost"
                    },
                    "selected_payments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "1",
                            "6"
                        ]
                    },
                    "is_pickup_point": {
                        "type": "boolean",
                        "example": true
                    },
                    "can_send_to_other_country": {
                        "type": "boolean",
                        "example": false
                    },
                    "point": {
                        "type": "string",
                        "example": null
                    },
                    "info": {
                        "type": "string",
                        "example": null
                    },
                    "is_for_free": {
                        "type": "boolean",
                        "example": null
                    },
                    "delivery_time": {
                        "type": "integer",
                        "example": 24
                    }
                },
                "type": "object"
            },
            "SummaryResource": {
                "properties": {
                    "total": {
                        "type": "number",
                        "format": "float",
                        "example": 21.72
                    },
                    "final_amount": {
                        "type": "number",
                        "format": "float",
                        "example": 14.71
                    },
                    "shipment": {
                        "type": "number",
                        "format": "float",
                        "example": 15.51
                    },
                    "cheapest_shipment_price": {
                        "type": "number",
                        "format": "float",
                        "example": 12.99
                    },
                    "default_shipment_price": {
                        "type": "number",
                        "format": "float",
                        "example": 9.99
                    },
                    "discount": {
                        "type": "#/components/schemas/DiscountResource"
                    },
                    "active_discounts": {
                        "type": "boolean",
                        "example": true
                    },
                    "discounted_amount": {
                        "type": "integer",
                        "example": 20
                    },
                    "has_items": {
                        "type": "boolean",
                        "example": true
                    },
                    "magazine_send_time": {
                        "type": "integer",
                        "example": 1
                    },
                    "delivery_time": {
                        "type": "integer",
                        "example": 24
                    },
                    "need_to_free_shipment": {
                        "type": "number",
                        "format": "float",
                        "example": 168.99
                    },
                    "free_shipment_from": {
                        "type": "integer",
                        "format": "float",
                        "example": 190
                    },
                    "percentage_of_amount_to_free_shipment": {
                        "type": "number",
                        "format": "float",
                        "example": 19.99
                    },
                    "shipping_time_label": {
                        "type": "string",
                        "example": "u Ciebie jutro"
                    },
                    "shipping_time_hours": {
                        "type": "integer",
                        "example": 24
                    },
                    "error": {
                        "type": "string",
                        "example": "Kupon nie obsługuje wybranego sposobu dostawy."
                    },
                    "total_discount": {
                        "type": "number",
                        "format": "float",
                        "example": 69.99
                    }
                },
                "type": "object"
            },
            "SellOrderLogResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1001
                    },
                    "author": {
                        "type": "string",
                        "example": "System"
                    },
                    "text": {
                        "type": "string",
                        "example": "Zmieniono status na: Wysłane"
                    },
                    "action": {
                        "type": "string",
                        "example": "STATUS_CHANGE"
                    },
                    "date": {
                        "type": "string",
                        "example": "12:49 16.09.2025"
                    }
                },
                "type": "object"
            },
            "SellOrderProductResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 12345
                    },
                    "isbn": {
                        "type": "string",
                        "example": "9788382654321"
                    },
                    "name": {
                        "type": "string",
                        "example": "Krew i popiół"
                    },
                    "short_description": {
                        "type": "string",
                        "example": "Bestsellerowa powieść fantasy..."
                    },
                    "authors": {
                        "type": "string",
                        "example": "Jennifer L. Armentrout"
                    },
                    "average_rate": {
                        "type": "number",
                        "format": "float",
                        "example": 4.85,
                        "nullable": true
                    },
                    "review_count": {
                        "type": "integer",
                        "example": 150
                    },
                    "discount": {
                        "type": "number",
                        "format": "float",
                        "example": 25.5
                    },
                    "category": {
                        "properties": {
                            "id_category": {
                                "type": "integer",
                                "example": 12
                            },
                            "name": {
                                "type": "string",
                                "example": "Fantasy"
                            }
                        },
                        "type": "object",
                        "nullable": true
                    },
                    "bestseller": {
                        "type": "integer",
                        "example": 1
                    },
                    "variants": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/VariantProductResource"
                        }
                    },
                    "publishers": {
                        "type": "string",
                        "example": "You&YA"
                    },
                    "drop_id": {
                        "type": "integer",
                        "example": 5,
                        "nullable": true
                    },
                    "drop_date": {
                        "type": "string",
                        "format": "date",
                        "example": "2025-10-01",
                        "nullable": true
                    },
                    "cover": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/images/cover.webp"
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/images/thumbnail.webp"
                    }
                },
                "type": "object"
            },
            "SellOrderResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 2068851
                    },
                    "status": {
                        "type": "integer",
                        "example": 21
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-08-21 01:52:15",
                        "nullable": true
                    },
                    "bill": {
                        "type": "integer",
                        "example": 1
                    },
                    "user_first_name": {
                        "type": "string",
                        "example": "Patrycja"
                    },
                    "user_last_name": {
                        "type": "string",
                        "example": "Kaczmarek"
                    },
                    "user_street": {
                        "type": "string",
                        "example": "Pięćmorgi"
                    },
                    "user_town": {
                        "type": "string",
                        "example": "Jeżewo"
                    },
                    "user_postcode": {
                        "type": "string",
                        "example": "86-131"
                    },
                    "user_home_number": {
                        "type": "string",
                        "example": "29"
                    },
                    "user_flat_number": {
                        "type": "string",
                        "example": ""
                    },
                    "user_country": {
                        "type": "string",
                        "example": "Polska",
                        "nullable": true
                    },
                    "ship_address_description": {
                        "type": "string",
                        "example": "Idea Bank"
                    },
                    "ship_first_name": {
                        "type": "string",
                        "example": "Patrycja"
                    },
                    "ship_last_name": {
                        "type": "string",
                        "example": "Kaczmarek"
                    },
                    "ship_street": {
                        "type": "string",
                        "example": "Pięćmorgi"
                    },
                    "ship_town": {
                        "type": "string",
                        "example": "Jeżewo"
                    },
                    "ship_postcode": {
                        "type": "string",
                        "example": "86-131"
                    },
                    "ship_home_number": {
                        "type": "string",
                        "example": "29"
                    },
                    "ship_flat_number": {
                        "type": "string",
                        "example": ""
                    },
                    "ship_country": {
                        "type": "string",
                        "example": "Polska",
                        "nullable": true
                    },
                    "phone": {
                        "type": "string",
                        "example": "693093081"
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "example": "patkacz9@wp.pl"
                    },
                    "info": {
                        "type": "string",
                        "example": "Dzień dobry!",
                        "nullable": true
                    },
                    "point": {
                        "type": "string",
                        "example": "Punkt JZE01M: Główna 20, 86-131 Jeżewo",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "example": "AMSAUTOMOTIVE",
                        "nullable": true
                    },
                    "company_nip": {
                        "type": "string",
                        "example": "8121297569",
                        "nullable": true
                    },
                    "shipment_type": {
                        "type": "integer",
                        "example": 20
                    },
                    "shipment_name": {
                        "type": "string",
                        "example": "InPost Paczkomaty 24/7"
                    },
                    "shipment_price": {
                        "type": "number",
                        "format": "float",
                        "example": 13.99
                    },
                    "price_total": {
                        "type": "number",
                        "format": "float",
                        "example": 72.15
                    },
                    "final_price": {
                        "type": "number",
                        "format": "float",
                        "example": 86.14
                    },
                    "pay_time": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-08-21 01:53:34",
                        "nullable": true
                    },
                    "payment": {
                        "type": "integer",
                        "example": 6
                    },
                    "payment_status": {
                        "type": "integer",
                        "example": 1
                    },
                    "payment_name": {
                        "type": "string",
                        "example": "Allegro - Brak płatności"
                    },
                    "delivery_label": {
                        "type": "string",
                        "example": "639215867544338126952643",
                        "nullable": true
                    },
                    "tracking_url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://inpost.pl/sledzenie-przesylek?number=639215867544338126952643",
                        "nullable": true
                    },
                    "products": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SellOrderProductResource"
                        }
                    },
                    "logs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SellOrderLogResource"
                        }
                    },
                    "status_history": {
                        "properties": {
                            "created_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-08-21 01:52:15",
                                "nullable": true
                            },
                            "payed_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-08-21 01:53:34",
                                "nullable": true
                            },
                            "ready_to_send_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-08-21 01:54:00",
                                "nullable": true
                            },
                            "sent_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-08-21 01:55:03",
                                "nullable": true
                            },
                            "canceled_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": null,
                                "nullable": true
                            }
                        },
                        "type": "object"
                    },
                    "discount": {
                        "$ref": "#/components/schemas/DiscountResource"
                    },
                    "merge_order_ids": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            2088884
                        ]
                    },
                    "invoice_ready": {
                        "type": "boolean",
                        "example": true
                    },
                    "invoice_files": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "invoice_11.pdf"
                        ]
                    }
                },
                "type": "object"
            },
            "Address": {
                "title": "Address",
                "properties": {
                    "phone_number": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "+48123456789"
                        }
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "example": "john.doe@example.com"
                    },
                    "identifier": {
                        "type": "integer",
                        "example": 1
                    },
                    "surname": {
                        "type": "string",
                        "example": "Kowalski"
                    },
                    "name": {
                        "type": "string",
                        "example": "Jak"
                    },
                    "pesel": {
                        "type": "string",
                        "nullable": true
                    },
                    "regon": {
                        "type": "string",
                        "nullable": true
                    },
                    "fax": {
                        "type": "string",
                        "nullable": true
                    },
                    "note": {
                        "type": "string",
                        "nullable": true
                    },
                    "birthplace": {
                        "type": "string",
                        "nullable": true
                    },
                    "marital_status": {
                        "type": "string",
                        "nullable": true
                    },
                    "gender": {
                        "type": "string",
                        "nullable": true
                    },
                    "nip": {
                        "type": "string",
                        "example": "1234567890"
                    },
                    "job": {
                        "type": "string",
                        "nullable": true
                    },
                    "job_title": {
                        "type": "string",
                        "nullable": true
                    },
                    "homepage": {
                        "type": "string",
                        "nullable": true
                    },
                    "industry": {
                        "type": "string",
                        "nullable": true
                    },
                    "address": {
                        "properties": {
                            "street": {
                                "type": "string",
                                "example": "Główna"
                            },
                            "building": {
                                "type": "string",
                                "example": "123"
                            },
                            "flat": {
                                "type": "string",
                                "example": "45B",
                                "nullable": true
                            },
                            "postcode": {
                                "type": "string",
                                "example": "00-001"
                            },
                            "city": {
                                "type": "string",
                                "example": "Warszawa"
                            },
                            "country": {
                                "type": "string",
                                "example": "Polska"
                            }
                        },
                        "type": "object"
                    },
                    "mail_drop_address": {
                        "description": "Adres korespondencyjny",
                        "properties": {
                            "street": {
                                "description": "Nazwa ulicy",
                                "type": "string",
                                "nullable": true
                            },
                            "building": {
                                "description": "Numer budynku",
                                "type": "string",
                                "nullable": true
                            },
                            "flat": {
                                "description": "Numer mieszkania",
                                "type": "string",
                                "nullable": true
                            },
                            "postcode": {
                                "description": "Kod pocztowy",
                                "type": "string",
                                "nullable": true
                            },
                            "city": {
                                "description": "Miasto",
                                "type": "string",
                                "nullable": true
                            },
                            "country": {
                                "description": "Kraj",
                                "type": "string",
                                "nullable": true
                            }
                        },
                        "type": "object",
                        "nullable": true
                    },
                    "invoice_address": {
                        "description": "Adres do faktur",
                        "properties": {
                            "street": {
                                "description": "Nazwa ulicy",
                                "type": "string",
                                "nullable": true
                            },
                            "building": {
                                "description": "Numer budynku",
                                "type": "string",
                                "nullable": true
                            },
                            "flat": {
                                "description": "Numer mieszkania",
                                "type": "string",
                                "nullable": true
                            },
                            "postcode": {
                                "description": "Kod pocztowy",
                                "type": "string",
                                "nullable": true
                            },
                            "city": {
                                "description": "Miasto",
                                "type": "string",
                                "nullable": true
                            },
                            "country": {
                                "description": "Kraj",
                                "type": "string",
                                "nullable": true
                            }
                        },
                        "type": "object",
                        "nullable": true
                    },
                    "custom_fields": {
                        "properties": {
                            "company_name": {
                                "type": "string",
                                "example": "ACME Corp"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "UserBookReview": {
                "title": "User Book Review",
                "required": [
                    "id",
                    "isbn",
                    "author",
                    "content",
                    "rate",
                    "date",
                    "book_title",
                    "book_cover",
                    "got_prize",
                    "is_rejected",
                    "status",
                    "status_description"
                ],
                "properties": {
                    "id": {
                        "description": "Unique review identifier",
                        "type": "integer",
                        "example": 316
                    },
                    "isbn": {
                        "description": "Book ISBN",
                        "type": "string",
                        "example": "9780536138637"
                    },
                    "author": {
                        "description": "Review author name",
                        "type": "string",
                        "example": "Kacper"
                    },
                    "book_author": {
                        "description": "Book author name",
                        "type": "string",
                        "example": "Maggie Stiefvater",
                        "nullable": true
                    },
                    "content": {
                        "description": "Review content",
                        "type": "string",
                        "example": "Magnam odit aut vitae et sequi..."
                    },
                    "rate": {
                        "description": "Review rating (1-5)",
                        "type": "number",
                        "format": "float",
                        "example": 3
                    },
                    "date": {
                        "description": "Review creation date in d.m.Y format",
                        "type": "string",
                        "example": "16.10.2025"
                    },
                    "book_title": {
                        "description": "Book title",
                        "type": "string",
                        "example": "Rem totam ad nesciunt quisquam et."
                    },
                    "book_cover": {
                        "description": "Book cover image URL",
                        "type": "string",
                        "format": "url",
                        "example": "https://skupszop.pl/images/books/webp/9780536138637.webp"
                    },
                    "book_thumbnail": {
                        "description": "Book thumbnail image URL",
                        "type": "string",
                        "format": "url",
                        "example": "https://skupszop.pl/images/books/thumbnails/webp/9780536138637.webp"
                    },
                    "up_votes": {
                        "description": "Number of upvotes",
                        "type": "integer",
                        "example": 0
                    },
                    "down_votes": {
                        "description": "Number of downvotes",
                        "type": "integer",
                        "example": 0
                    },
                    "got_prize": {
                        "description": "Whether review received a reward",
                        "type": "boolean",
                        "example": false
                    },
                    "reward": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/BookReviewReward"
                            }
                        ],
                        "nullable": true,
                        "description": "Reward information if review received a prize. Available only when got_prize is true. See BookReviewReward schema for details."
                    },
                    "book_url": {
                        "description": "URL to book page",
                        "type": "string",
                        "format": "url",
                        "example": "https://skupszop.pl/the-raven-king-krol-krukow-tom-4-maggie-stiefvater-9788383191263?id=6681614",
                        "nullable": true
                    },
                    "product": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/PreviewProduct"
                            }
                        ],
                        "nullable": true,
                        "description": "Full product model. If available"
                    },
                    "is_rejected": {
                        "description": "Whether review was rejected as plagiarism. true = review is rejected, false = review is not rejected. Use this field to determine if you should display rejection information to the user.",
                        "type": "boolean",
                        "example": false
                    },
                    "status": {
                        "description": "Review status. Possible values: 'new' (oczekuje na akceptację), 'accepted' (zaakceptowana), 'rejected' (odrzucona jako plagiat). Use this field or 'is_rejected' to determine review state.",
                        "type": "string",
                        "example": "new",
                        "enum": [
                            "new",
                            "accepted",
                            "rejected"
                        ]
                    },
                    "status_description": {
                        "description": "Human-readable status description in Polish. Possible values: 'Nowa' (for status 'new'), 'Zaakceptowana' (for status 'accepted'), 'Odrzucona' (for status 'rejected').",
                        "type": "string",
                        "example": "Nowa",
                        "enum": [
                            "Nowa",
                            "Zaakceptowana",
                            "Odrzucona"
                        ]
                    }
                },
                "type": "object"
            },
            "User": {
                "title": "User",
                "required": [
                    "id",
                    "email",
                    "first_name",
                    "last_name",
                    "street",
                    "home_number",
                    "postcode",
                    "town",
                    "country",
                    "phone",
                    "last_login"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "example": "john.doe@example.com"
                    },
                    "first_name": {
                        "type": "string",
                        "example": "John"
                    },
                    "last_name": {
                        "type": "string",
                        "example": "Doe"
                    },
                    "street": {
                        "type": "string",
                        "example": "Main Street"
                    },
                    "home_number": {
                        "type": "string",
                        "example": "123"
                    },
                    "flat_number": {
                        "type": "string",
                        "example": "45B",
                        "nullable": true
                    },
                    "postcode": {
                        "type": "string",
                        "example": "00-001"
                    },
                    "town": {
                        "type": "string",
                        "example": "Warsaw"
                    },
                    "country": {
                        "type": "string",
                        "example": "Poland"
                    },
                    "phone": {
                        "type": "string",
                        "example": "+48123456789"
                    },
                    "last_login": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2024-04-27T12:34:56Z"
                    },
                    "sales_manago_subscription": {
                        "type": "boolean",
                        "example": true
                    }
                },
                "type": "object"
            },
            "VariantProductResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 12346
                    },
                    "isbn": {
                        "type": "string",
                        "example": "9788382654321"
                    },
                    "name": {
                        "type": "string",
                        "example": "Krew i popiół (Miękka oprawa)"
                    },
                    "author": {
                        "$ref": "#/components/schemas/PreviewProductOtherResource"
                    },
                    "condition": {
                        "type": "string",
                        "example": "Nowa"
                    },
                    "price": {
                        "type": "number",
                        "format": "float",
                        "example": 35.5
                    },
                    "price_promo": {
                        "type": "number",
                        "format": "float",
                        "example": 35.5
                    },
                    "price_regular": {
                        "type": "number",
                        "format": "float",
                        "example": 49.99
                    },
                    "final_price": {
                        "type": "number",
                        "format": "float",
                        "example": 35.5
                    },
                    "cheaper_then_market": {
                        "type": "boolean",
                        "example": true
                    },
                    "binding": {
                        "type": "string",
                        "example": "Miękka"
                    },
                    "cover": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/images/cover_variant.webp"
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/images/thumbnail_variant.webp"
                    },
                    "published": {
                        "type": "string",
                        "example": "2024"
                    },
                    "quantity_total": {
                        "type": "integer",
                        "example": 50
                    },
                    "send_time_hours": {
                        "type": "integer",
                        "example": 24
                    },
                    "send_time_label": {
                        "type": "string",
                        "example": "Wysyłka w 24 godziny"
                    },
                    "short_send_time_label": {
                        "type": "string",
                        "example": "24h"
                    },
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com/produkt/krew-i-popiol-miekkka-oprawa"
                    }
                },
                "type": "object"
            },
            "WishlistResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "name": "Authorization",
                "in": "header",
                "bearerFormat": "JWT",
                "scheme": "Bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Archiving",
            "description": "Archiving"
        },
        {
            "name": "Additional",
            "description": "Additional"
        },
        {
            "name": "User",
            "description": "User"
        },
        {
            "name": "AdminBuyOrder",
            "description": "AdminBuyOrder"
        },
        {
            "name": "ExternalDataList",
            "description": "ExternalDataList"
        },
        {
            "name": "AdminSellOrderReturn",
            "description": "AdminSellOrderReturn"
        },
        {
            "name": "AdminSellOrder",
            "description": "AdminSellOrder"
        },
        {
            "name": "ExternalThulium",
            "description": "ExternalThulium"
        },
        {
            "name": "BuyCart",
            "description": "BuyCart"
        },
        {
            "name": "DataList",
            "description": "DataList"
        },
        {
            "name": "Rate",
            "description": "Rate"
        },
        {
            "name": "Sell Cart",
            "description": "Sell Cart"
        },
        {
            "name": "Addresses",
            "description": "Addresses"
        },
        {
            "name": "Users",
            "description": "Users"
        },
        {
            "name": "BookReview",
            "description": "BookReview"
        },
        {
            "name": "BuyOrder",
            "description": "BuyOrder"
        },
        {
            "name": "Password",
            "description": "Password"
        },
        {
            "name": "SellOrder",
            "description": "SellOrder"
        },
        {
            "name": "Wishlist",
            "description": "Wishlist"
        },
        {
            "name": "Mobile",
            "description": "Mobile"
        },
        {
            "name": "View",
            "description": "View"
        },
        {
            "name": "Kurierbox",
            "description": "Kurierbox"
        }
    ]
}