{
    "openapi": "3.0.0",
    "info": {
        "title": "Документация API",
        "description": "\n# Введение\n\n\nAPI представлен набором REST эндпоинтов.\n\n\n# Авторизация\n\n\nДля доступа к API необходимо получить токен, который должен передаваться с каждым запросом в заголовке `X-API-KEY`.\n\nПо умолчанию для всех эндпоинтов количество запросов по токену в день - 1000 запросов.\n\nДля получения токена необходимо обратиться по почте info@travelsoft.by.\n\n\n```javascript\n{\n  \"error\": true,\n  \"messages\": [\n    {\n      \"code\": 401,\n      \"title\": \"Превышено число запросов\"\n    }\n  ]\n}\n```\n\nПример ответа на неверный API-key:\n\n\n```javascript\n{\n  \"error\": true,\n  \"messages\": [\n    {\n      \"code\": 401,\n      \"title\": \"Неверный API-key\"\n    }\n  ]\n}\n```\n        ",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "/api",
            "description": "Префикс для доступа к эндпоинтам"
        },
        {
            "url": "https://inter-holiday.by/api",
            "description": "Префикс для доступа к эндпоинтам ihs"
        },
        {
            "url": "https://puteshestvie74.ru/api",
            "description": "Префикс для доступа к эндпоинтам puteshestvie74"
        },
        {
            "url": "https://turinbelarus.by/api",
            "description": "Префикс для доступа к эндпоинтам turinbelarus"
        },
        {
            "url": "https://intourist.by/api",
            "description": "Префикс для доступа к эндпоинтам intourist"
        },
        {
            "url": "https://dili.by/api",
            "description": "Префикс для доступа к эндпоинтам dili"
        },
        {
            "url": "https://grandtour.by/api",
            "description": "Префикс для доступа к эндпоинтам grandtour"
        },
        {
            "url": "https://travel-r.ru/api",
            "description": "Префикс для доступа к эндпоинтам travel-r"
        }
    ],
    "paths": {
        "/chat/countries/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка стран в турах",
                "operationId": "ae428ebf29162ac825f3e6cc8acac8b4",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию страны",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "departure_id",
                        "in": "query",
                        "description": "ID города отправления",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID стран",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cписок стран в турах",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 20862
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Беларусь"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/departures/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка городов отправлений",
                "operationId": "80bccd026fd2c5ca58d0506f985e8524",
                "responses": {
                    "200": {
                        "description": "Список городов",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 20873
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Минск"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/cities/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка городов в турах",
                "operationId": "f5119b5a5976e09d0e26f6113484c44b",
                "parameters": [
                    {
                        "name": "departure_id",
                        "in": "query",
                        "description": "ID города отправления",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию города",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID городов",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список городов в турах",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 20873
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Минск"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/operators/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка туроператоров",
                "operationId": "815c77d2d0bfb84c3fe896b34dc859ae",
                "responses": {
                    "200": {
                        "description": "Список туроператоров",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Дилижанстур"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Получение списка отелей",
                "operationId": "97b24424854ba93ea6639dd417df3af1",
                "parameters": [
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID отелей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию отеля",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "country_id[]",
                        "in": "query",
                        "description": "ID стран",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "city_id[]",
                        "in": "query",
                        "description": "ID городов",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "type_id[]",
                        "in": "query",
                        "description": "ID типов размещения",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "facility_id[]",
                        "in": "query",
                        "description": "ID удобств отеля",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Номер страницы",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Количество элементов на странице",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список отелей",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PlacementChat"
                                            }
                                        },
                                        "meta": {
                                            "properties": {
                                                "page": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "size": {
                                                    "type": "integer",
                                                    "example": 20
                                                },
                                                "lastPage": {
                                                    "type": "integer",
                                                    "example": 5
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "example": 100
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/types/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Типы размещений",
                "operationId": "63259923f7233b793894b6d79d5026b5",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список типов размещений",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IdName"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/countries/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Страны, в которых есть отели",
                "operationId": "e9f033eebc5c8fe3e0b773d03060b326",
                "responses": {
                    "200": {
                        "description": "Список стран",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IdName"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/cities/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Города, в которых есть отели",
                "operationId": "f16649d99813d9fb9ca23c69d06f2ee1",
                "responses": {
                    "200": {
                        "description": "Список городов",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IdName"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/search/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Поиск предложений по отелям",
                "operationId": "964999a88f05c487cd30c0b5a04f6738",
                "parameters": [
                    {
                        "name": "date_from",
                        "in": "query",
                        "description": "Дата заезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "01.08.2026"
                        }
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "description": "Дата выезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "08.08.2026"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "description": "Количество взрослых",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 2
                        }
                    },
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID отелей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "country_id[]",
                        "in": "query",
                        "description": "ID стран",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "city_id[]",
                        "in": "query",
                        "description": "ID городов",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "description": "Звездность отеля",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type_id",
                        "in": "query",
                        "description": "ID типа размещения",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "children_age[]",
                        "in": "query",
                        "description": "Массив с возрастами детей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список предложений",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PlacementChatSearchOffer"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/details/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Детали предложения по отелю",
                "operationId": "f366ecfda7e82dd88d456a964d1b04a3",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "ID отеля",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_from",
                        "in": "query",
                        "description": "Дата заезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "01.08.2026"
                        }
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "description": "Дата выезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "08.08.2026"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "description": "Количество взрослых",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 2
                        }
                    },
                    {
                        "name": "children_age[]",
                        "in": "query",
                        "description": "Массив с возрастами детей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Детали предложений",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PlacementChatDetailsOffer"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/facilities/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Справочник удобств отелей",
                "operationId": "e380e4625f982b0b654205cf75184c04",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список удобств",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IdName"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/placements/{id}/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Отель по ID",
                "operationId": "c4899f9e99788a1d108498baa82e9ac1",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID отеля",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Отель",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PlacementChat"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Отель не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Отель с id = 1, не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/rooms/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Получение списка номеров",
                "operationId": "fce1b1ca6ba81c91fe8e17b897e0706f",
                "parameters": [
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID номеров",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию номера",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "placement_id",
                        "in": "query",
                        "description": "ID отеля",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "facility_id[]",
                        "in": "query",
                        "description": "ID удобств номера",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Номер страницы",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Количество элементов на странице",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список номеров",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RoomChat"
                                            }
                                        },
                                        "meta": {
                                            "properties": {
                                                "page": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "size": {
                                                    "type": "integer",
                                                    "example": 20
                                                },
                                                "lastPage": {
                                                    "type": "integer",
                                                    "example": 5
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "example": 100
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/rooms/search/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Расчёт цены номера",
                "operationId": "400852672010e468363ed02a0b2512d9",
                "parameters": [
                    {
                        "name": "room_id",
                        "in": "query",
                        "description": "ID номера",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date_from",
                        "in": "query",
                        "description": "Дата заезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "01.08.2026"
                        }
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "description": "Дата выезда, формат d.m.Y",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "08.08.2026"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "description": "Количество взрослых",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 2
                        }
                    },
                    {
                        "name": "children_age[]",
                        "in": "query",
                        "description": "Массив с возрастами детей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Предложение по номеру",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "oneOf": [
                                                {
                                                    "$ref": "#/components/schemas/RoomChatOffer"
                                                }
                                            ],
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/rooms/facilities/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Справочник удобств номеров",
                "operationId": "2658b4fc2a7f9ca22e3a468b29580e8a",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список удобств",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/IdName"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/rooms/{id}/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Номер по ID",
                "operationId": "e3d47408f543b1ef3d3d53e1b1c08e22",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID номера",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Номер",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RoomChat"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Номер не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Номер с id = 1, не найден."
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/types/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка типов туров",
                "operationId": "a265ad5f95858100a4a96b8c21dc77ac",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию типа тура",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID типа тура",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список типов туров",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 89182
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "С визовой поддержкой"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/transports/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка типов транспорта",
                "operationId": "9d773127c5358dd2f1a3f15d546999c0",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию транспорта",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID транспорта",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список типов транспорта",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 21095
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Автобус"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/trips/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение списка туров",
                "operationId": "f6b3ecf119ac5aa57cca270bb404eefe",
                "parameters": [
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Количество элементов на странице",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Номер страницы",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Поиск по названию тура",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "query",
                        "in": "query",
                        "description": "Поиск по описанию и программе тура или экскурсии",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "departure_id",
                        "in": "query",
                        "description": "ID города отправления",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "days[]",
                        "in": "query",
                        "description": "Продолжительность дней",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "operator_id[]",
                        "in": "query",
                        "description": "ID туроператора",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "city_id[]",
                        "in": "query",
                        "description": "ID городов в туре",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "country_id[]",
                        "in": "query",
                        "description": "ID стран в туре",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "type_id[]",
                        "in": "query",
                        "description": "ID типов туров",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "transport_id[]",
                        "in": "query",
                        "description": "ID типов транспорта",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Список туров",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 89938
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "example": "Дорогами Франции"
                                                    },
                                                    "url": {
                                                        "type": "string",
                                                        "example": "https://www.tio.by/trips/dorogami-frantsii/"
                                                    },
                                                    "days": {
                                                        "type": "integer",
                                                        "example": 8
                                                    },
                                                    "nights": {
                                                        "type": "integer",
                                                        "example": 7
                                                    },
                                                    "route": {
                                                        "type": "string",
                                                        "example": "Бамберг - Страсбург - Кольмар* - Париж - Нормандия* - Реймс - Нюрнберг*"
                                                    },
                                                    "operator": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 6
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Экотур-6"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "transport": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 21095
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Автобус"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "types": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 89181
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "example": "Рождественский"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "example": [
                                                            {
                                                                "id": 89181,
                                                                "name": "Рождественский"
                                                            },
                                                            {
                                                                "id": 21099,
                                                                "name": "Экскурсионный"
                                                            },
                                                            {
                                                                "id": 89185,
                                                                "name": "Туры по Европе"
                                                            }
                                                        ]
                                                    },
                                                    "description": {
                                                        "type": "string",
                                                        "example": "Алтай — это не просто место на карте. Это мир, где реки поют, а горы дышат древними легендами..."
                                                    },
                                                    "program": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "title": {
                                                                    "type": "string",
                                                                    "example": "День 1. Вылет из Минска"
                                                                },
                                                                "text": {
                                                                    "type": "string",
                                                                    "example": "17:35 — вылет из Минска 19:05 — прибытие в Москву ..."
                                                                }
                                                            },
                                                            "type": "object"
                                                        }
                                                    },
                                                    "departure": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 20873
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "example": "Минск"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "nullable": true
                                                    },
                                                    "cities": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 63890
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "example": "Бамберг"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "example": [
                                                            {
                                                                "id": 63890,
                                                                "name": "Бамберг"
                                                            },
                                                            {
                                                                "id": 63934,
                                                                "name": "Страсбург"
                                                            },
                                                            {
                                                                "id": 63932,
                                                                "name": "Кольмар"
                                                            },
                                                            {
                                                                "id": 20957,
                                                                "name": "Париж"
                                                            },
                                                            {
                                                                "id": 63985,
                                                                "name": "Нормандия"
                                                            },
                                                            {
                                                                "id": 63986,
                                                                "name": "Реймс"
                                                            },
                                                            {
                                                                "id": 63512,
                                                                "name": "Нюрнберг"
                                                            }
                                                        ]
                                                    },
                                                    "countries": {
                                                        "type": "array",
                                                        "items": {
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 20887
                                                                },
                                                                "name": {
                                                                    "type": "string",
                                                                    "example": "Германия"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "example": [
                                                            {
                                                                "id": 20887,
                                                                "name": "Германия"
                                                            },
                                                            {
                                                                "id": 20884,
                                                                "name": "Франция"
                                                            }
                                                        ]
                                                    },
                                                    "gross": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "example": 410
                                                    },
                                                    "gross_byn": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "example": 1431
                                                    },
                                                    "currency": {
                                                        "type": "string",
                                                        "example": "EUR"
                                                    },
                                                    "tourservice": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "example": 698
                                                    },
                                                    "tourservice_currency": {
                                                        "type": "string",
                                                        "example": "BYN"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "meta": {
                                            "properties": {
                                                "page": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "size": {
                                                    "type": "integer",
                                                    "example": 20
                                                },
                                                "lastPage": {
                                                    "type": "integer",
                                                    "example": 8
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "example": 158
                                                }
                                            },
                                            "type": "object",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/trips/{id}/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение описания тура",
                "description": "Возвращает описание тура по идентификатору",
                "operationId": "1292732d8ec2c6a98fb9c7a047994faa",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID тура",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Успешный ответ с описанием тура",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 89219
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "example": "Путешествие по Алтаю"
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "example": "https://www.tio.by/trips/puteshestvie-po-altayu/"
                                                },
                                                "days": {
                                                    "type": "integer",
                                                    "example": 13
                                                },
                                                "nights": {
                                                    "type": "integer",
                                                    "example": 12
                                                },
                                                "route": {
                                                    "type": "string",
                                                    "example": "Минск — Москва — Барнаул — Москва — Минск"
                                                },
                                                "operator": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 3
                                                        },
                                                        "name": {
                                                            "type": "string",
                                                            "example": "Оригинальный тур"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "transport": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 21096
                                                        },
                                                        "name": {
                                                            "type": "string",
                                                            "example": "Самолет"
                                                        }
                                                    },
                                                    "type": "object",
                                                    "nullable": true
                                                },
                                                "departure": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 20873
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Минск"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "nullable": true
                                                },
                                                "cities": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 59869
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Москва"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "countries": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 20932
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Россия"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "types": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 89210
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Авиатуры"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "example": "Алтай — это не просто место на карте. Это мир, где реки поют, а горы дышат древними легендами..."
                                                },
                                                "program": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "title": {
                                                                "type": "string",
                                                                "example": "День 1. Вылет из Минска"
                                                            },
                                                            "text": {
                                                                "type": "string",
                                                                "example": "17:35 — вылет из Минска 19:05 — прибытие в Москву ..."
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "include": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "example": "Авиабилеты Минск—Москва—Горно-Алтайск—Москва—Минск"
                                                    }
                                                },
                                                "not_include": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "example": "Личные расходы"
                                                    }
                                                },
                                                "gross": {
                                                    "description": "Цена от",
                                                    "type": "integer",
                                                    "example": 1895
                                                },
                                                "gross_byn": {
                                                    "description": "Цена от (в белорусских рублях)",
                                                    "type": "integer",
                                                    "example": 5685
                                                },
                                                "currency": {
                                                    "type": "string",
                                                    "example": "USD"
                                                },
                                                "tourservice": {
                                                    "description": "Туруслуга от",
                                                    "type": "integer",
                                                    "example": 0
                                                },
                                                "tourservice_currency": {
                                                    "type": "string",
                                                    "example": "BYN"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Тур не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Тур с id не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/search/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Поиск туров",
                "description": "Возвращает предложения туров с расчитанными минимальными ценами",
                "operationId": "2af7bd986b75343452f5c94d0a270e5c",
                "parameters": [
                    {
                        "name": "date_from",
                        "in": "query",
                        "description": "Дата c (dd.mm.yyyy)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "description": "Дата по (dd.mm.yyyy)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "description": "Количество взрослых",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "children_age[]",
                        "in": "query",
                        "description": "Массив с возрастами детей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "departure_id",
                        "in": "query",
                        "description": "ID города отправления",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "days[]",
                        "in": "query",
                        "description": "Продолжительность дней",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "operator_id[]",
                        "in": "query",
                        "description": "ID туроператора",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "city_id[]",
                        "in": "query",
                        "description": "ID городов в туре",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "country_id[]",
                        "in": "query",
                        "description": "ID стран в туре",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "type_id[]",
                        "in": "query",
                        "description": "ID типов туров",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "transport_id[]",
                        "in": "query",
                        "description": "ID типов транспорта",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Успешный ответ с предложениями тура",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "example": "eyJhZHVsdHMiOjEsImNoaWxkcmVuIjowLCJvZmZlcl9pZCI6IiIsInNlYXRzIjpbXSwiZGF0ZSI6IjA4LjA0LjIwMjYiLCJkYXRlX2Zyb20iOiIwOC4wNC4yMDI2IiwiZGF0ZV90byI6IjA4LjA0LjIwMjYiLCJjaGlsZHJlbl9hZ2UiOltdLCJzZXJ2aWNlX3R5cGUiOiJleGN1cnNpb250b3VyIiwicmF0ZV9pZCI6OCwiY2l0eV9pZCI6MTE3MCwicGxhY2VtZW50X2lkIjpudWxsLCJleGN1cnNpb25fdG91cl9yYXRlX2lkIjo4LCJzZXJ2aWNlX2lkIjo0M30="
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "example": "Обзорная экскурсия по Минску"
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "example": "https://www.tio.by/trips/obzornaya-ekskursiya-po-minsku/?date=08.04.2026"
                                                },
                                                "operator": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 4
                                                        },
                                                        "name": {
                                                            "type": "string",
                                                            "example": "Экотур-6"
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "description_id": {
                                                    "type": "integer",
                                                    "example": 89891
                                                },
                                                "gross": {
                                                    "type": "integer",
                                                    "example": 65
                                                },
                                                "gross_byn": {
                                                    "type": "integer",
                                                    "example": 65
                                                },
                                                "currency": {
                                                    "type": "string",
                                                    "example": "BYN"
                                                },
                                                "tourservice": {
                                                    "type": "integer",
                                                    "example": 0
                                                },
                                                "tourservice_currency": {
                                                    "type": "string",
                                                    "example": "BYN"
                                                },
                                                "date_from": {
                                                    "type": "string",
                                                    "example": "08.04.2026"
                                                },
                                                "date_to": {
                                                    "type": "string",
                                                    "example": "08.04.2026"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Тур не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Тур с id не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/details/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Детальный поиск тура",
                "description": "Возвращает предложения тура с точными расчитанными ценами. Цены могут зависить от города выезда, тарифа, отеля(Для туров в Европу, Россию и т.д.), и времени начала(Только для экскурсий)",
                "operationId": "4ff4f96fdf1163efb4ea50b019077b50",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "ID тура",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "description": "Дата начала тура",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "adults",
                        "in": "query",
                        "description": "Количество взрослых",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "children_age[]",
                        "in": "query",
                        "description": "Массив с возрастами детей",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Успешный ответ с описанием тура",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "example": "eyJhZHVsdHMiOjEsImNoaWxkcmVuIjowLCJvZmZlcl9pZCI6IiIsInNlYXRzIjpbXSwiZGF0ZSI6IjI1LjA0LjIwMjYiLCJkYXRlX2Zyb20iOiIyNS4wNC4yMDI2IiwiZGF0ZV90byI6IjI1LjA0LjIwMjYiLCJjaGlsZHJlbl9hZ2UiOltdLCJzZXJ2aWNlX3R5cGUiOiJleGN1cnNpb250b3VyIiwicmF0ZV9pZCI6MTY4MSwiY2l0eV9pZCI6MTE3MCwicGxhY2VtZW50X2lkIjoxOTA3LCJleGN1cnNpb25fdG91cl9yYXRlX2lkIjoxNjgxLCJzZXJ2aWNlX2lkIjo1ODF9"
                                                    },
                                                    "gross": {
                                                        "description": "Посчитанная стоимость",
                                                        "type": "number",
                                                        "format": "float",
                                                        "example": 410
                                                    },
                                                    "gross_byn": {
                                                        "description": "Посчитанная стоимость в белорусских рублях",
                                                        "type": "number",
                                                        "format": "float",
                                                        "example": 1364
                                                    },
                                                    "currency": {
                                                        "type": "string",
                                                        "enum": [
                                                            "BYN",
                                                            "RUB",
                                                            "USD",
                                                            "EUR"
                                                        ],
                                                        "example": "EUR"
                                                    },
                                                    "tourservice": {
                                                        "description": "Посчитанная туруслуга",
                                                        "type": "integer",
                                                        "example": 673
                                                    },
                                                    "tourservice_currency": {
                                                        "description": "Валюта туруслуги только в BYN",
                                                        "type": "string",
                                                        "example": "BYN"
                                                    },
                                                    "departure": {
                                                        "description": "Город отправления, могут быть разными от них зависит цена тура",
                                                        "type": "string",
                                                        "example": "Минск"
                                                    },
                                                    "rate": {
                                                        "description": "Название тарифа, у некоторых компаний там может быть написано стандартный, либо название тарифа размещения",
                                                        "type": "string",
                                                        "example": "2-3 местный номер"
                                                    },
                                                    "placement": {
                                                        "description": "Название категории отеля, бывают разные категорий отелей для туров в Европу, Россию и т.д.",
                                                        "type": "string",
                                                        "example": "Отель 2-3*",
                                                        "nullable": true
                                                    },
                                                    "time": {
                                                        "description": "Время начала экскурсии, это поле актуально только для некоторых экскурсий туроператора Турин в частности",
                                                        "type": "string",
                                                        "example": "13:00",
                                                        "nullable": true
                                                    },
                                                    "on_request": {
                                                        "type": "boolean",
                                                        "example": false
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Не валидные параметры запроса",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 400
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Отсутствует обязательный параметр id"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Тур не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Тур с id не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/dates/": {
            "get": {
                "tags": [
                    "Чат-бот"
                ],
                "summary": "Получение дат начала туров",
                "description": "Возвращает даты туров",
                "operationId": "6ee0424e7ff33de9ac6fa2d3d1f7da45",
                "parameters": [
                    {
                        "name": "id[]",
                        "in": "query",
                        "description": "ID туров",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Успешный ответ с датами туров",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 512
                                                },
                                                "dates": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "format": "date",
                                                        "example": "12.12.2025"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Не валидные параметры запроса",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 400
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Отсутствует обязательный параметр id"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Тур не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Тур с id не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/prices/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Получение цен для экскурсии",
                "description": "Возвращает цены экскурсии для указанной даты",
                "operationId": "3dacc5d7c06837d631a5d2d47989bada",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "ID экскурсии",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "description": "Дата экскурсии",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Успешный ответ с ценами экскурсии",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "example": 4729
                                                },
                                                "date": {
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "20.07.2026"
                                                },
                                                "currency": {
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1
                                                        },
                                                        "iso": {
                                                            "type": "string",
                                                            "example": "RUB"
                                                        },
                                                        "name": {
                                                            "type": "string",
                                                            "example": "руб."
                                                        }
                                                    },
                                                    "type": "object"
                                                },
                                                "prices": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 6
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Взрослые"
                                                            },
                                                            "type": {
                                                                "type": "string",
                                                                "example": "adults"
                                                            },
                                                            "min_age": {
                                                                "type": "integer",
                                                                "example": null,
                                                                "nullable": true
                                                            },
                                                            "max_age": {
                                                                "type": "integer",
                                                                "example": null,
                                                                "nullable": true
                                                            },
                                                            "value": {
                                                                "type": "number",
                                                                "example": 60
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Не валидные параметры запроса",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 400
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Отсутствует обязательный параметр id"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Тур не найден",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "code": {
                                                        "type": "integer",
                                                        "example": 404
                                                    },
                                                    "title": {
                                                        "type": "string",
                                                        "example": "Тур с id не найден"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/chat/schedule/": {
            "get": {
                "tags": [
                    "Чат-бот расширенный"
                ],
                "summary": "Получение расписания отправлений",
                "description": "Возвращает список ближайших отправлений туров с информацией о дате, месте сбора и контактах сопровождающего",
                "operationId": "3e54ab968dd7715322486744acffd3db",
                "responses": {
                    "200": {
                        "description": "Успешный ответ с расписанием отправлений",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "description": "ID отправления",
                                                        "type": "integer",
                                                        "example": 4939
                                                    },
                                                    "tour": {
                                                        "properties": {
                                                            "id": {
                                                                "description": "ID тура",
                                                                "type": "integer",
                                                                "example": 4846
                                                            },
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Венгрия + Австрия: шницель, паприка, лаванда..."
                                                            },
                                                            "url": {
                                                                "type": "string",
                                                                "example": "https://tio.by/trips/vengriya-avstriya-shnitsel-paprika-lavanda-/"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "date": {
                                                        "description": "Дата тура и примечание об отправлении",
                                                        "type": "string",
                                                        "example": "14.06.2026 Отправление накануне днем"
                                                    },
                                                    "departure": {
                                                        "description": "Информация о месте и времени сбора и отправления",
                                                        "type": "string",
                                                        "example": "Станция Дружная (обратная сторона Центрального жд вокзала г. Минска, стоянка напротив ТЦ Сити Молл) Сбор группы: 13.06.2026 в 11.45 Отправление: 13.06.2026 в 12.00 Автобус с табличкой ВЕНГРИЯ"
                                                    },
                                                    "supervisor": {
                                                        "description": "Контактные данные сопровождающего",
                                                        "type": "string",
                                                        "example": "ОЛЬГА +375 29 123 4567 Контактный телефон будет доступен ТОЛЬКО в день отправления"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "IdName": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "example": "Минск"
                    }
                },
                "type": "object"
            },
            "PlacementChat": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 100
                    },
                    "name": {
                        "type": "string",
                        "example": "Отель Пример"
                    },
                    "url": {
                        "type": "string",
                        "example": "https://example.com/hotels/hotel-primer/"
                    },
                    "type": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IdName"
                            }
                        ],
                        "nullable": true
                    },
                    "category": {
                        "description": "Звездность отеля",
                        "type": "integer",
                        "example": 4,
                        "nullable": true
                    },
                    "gross": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "gross_byn": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "currency": {
                        "type": "string",
                        "example": "BYN"
                    },
                    "country_id": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IdName"
                            }
                        ],
                        "nullable": true
                    },
                    "city_id": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IdName"
                            }
                        ],
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "location": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "latitude": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "checkin": {
                        "type": "string",
                        "example": "14:00",
                        "nullable": true
                    },
                    "checkout": {
                        "type": "string",
                        "example": "12:00",
                        "nullable": true
                    },
                    "checkin_checkout_policy": {
                        "type": "string",
                        "nullable": true
                    },
                    "accommodation_rules": {
                        "type": "string",
                        "nullable": true
                    },
                    "price_table": {
                        "type": "string",
                        "nullable": true
                    },
                    "rooms_id": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        }
                    },
                    "facilities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IdName"
                        },
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "PlacementChatSearchOffer": {
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "abc123"
                    },
                    "name": {
                        "type": "string",
                        "example": "Отель Пример"
                    },
                    "url": {
                        "type": "string"
                    },
                    "date_from": {
                        "type": "string",
                        "example": "01.08.2026"
                    },
                    "date_to": {
                        "type": "string",
                        "example": "08.08.2026"
                    },
                    "on_request": {
                        "type": "boolean",
                        "example": false
                    },
                    "placement_id": {
                        "type": "integer",
                        "example": 100
                    },
                    "category": {
                        "description": "Звездность отеля",
                        "type": "integer",
                        "example": 4,
                        "nullable": true
                    },
                    "room_id": {
                        "type": "integer",
                        "example": 50
                    },
                    "gross": {
                        "type": "number",
                        "format": "float"
                    },
                    "gross_byn": {
                        "type": "number",
                        "format": "float"
                    },
                    "currency": {
                        "type": "string",
                        "example": "BYN"
                    }
                },
                "type": "object"
            },
            "PlacementChatDetailsOffer": {
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "abc123"
                    },
                    "name": {
                        "type": "string",
                        "example": "Стандартный номер"
                    },
                    "date_from": {
                        "type": "string",
                        "example": "01.08.2026"
                    },
                    "date_to": {
                        "type": "string",
                        "example": "08.08.2026"
                    },
                    "on_request": {
                        "type": "boolean",
                        "example": false
                    },
                    "placement_id": {
                        "type": "integer",
                        "example": 100
                    },
                    "room_id": {
                        "type": "integer",
                        "example": 50
                    },
                    "rate": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IdName"
                            }
                        ],
                        "nullable": true
                    },
                    "gross": {
                        "type": "number",
                        "format": "float"
                    },
                    "gross_byn": {
                        "type": "number",
                        "format": "float"
                    },
                    "currency": {
                        "type": "string",
                        "example": "BYN"
                    }
                },
                "type": "object"
            },
            "RoomChat": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 50
                    },
                    "name": {
                        "type": "string",
                        "example": "Стандартный номер"
                    },
                    "placement_id": {
                        "type": "integer",
                        "example": 100
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "facilities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IdName"
                        },
                        "nullable": true
                    },
                    "max_people": {
                        "type": "integer",
                        "example": 3
                    },
                    "area": {
                        "type": "number",
                        "format": "float",
                        "example": 25.5,
                        "nullable": true
                    },
                    "single_bed": {
                        "type": "integer",
                        "nullable": true
                    },
                    "double_bed": {
                        "type": "integer",
                        "nullable": true
                    },
                    "additional_bed": {
                        "type": "integer",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "RoomChatOffer": {
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "abc123"
                    },
                    "name": {
                        "type": "string",
                        "example": "Стандартный номер"
                    },
                    "date_from": {
                        "type": "string",
                        "example": "01.08.2026"
                    },
                    "date_to": {
                        "type": "string",
                        "example": "08.08.2026"
                    },
                    "on_request": {
                        "type": "boolean",
                        "example": false
                    },
                    "placement_id": {
                        "type": "integer",
                        "example": 100
                    },
                    "room_id": {
                        "type": "integer",
                        "example": 50
                    },
                    "rate": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/IdName"
                            }
                        ],
                        "nullable": true
                    },
                    "gross": {
                        "type": "number",
                        "format": "float"
                    },
                    "gross_byn": {
                        "type": "number",
                        "format": "float"
                    },
                    "currency": {
                        "type": "string",
                        "example": "BYN"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "apiKeyAuth": {
                "type": "apiKey",
                "name": "X-API-KEY",
                "in": "header"
            }
        }
    },
    "security": [
        {
            "apiKeyAuth": []
        }
    ],
    "tags": [
        {
            "name": "Чат-бот",
            "description": "Методы для получения информации по турам и экскурсиям для чат-бота"
        },
        {
            "name": "Чат-бот расширенный",
            "description": "Расширенные методы для чат-бота: отели, номера, цены и расписание"
        }
    ]
}