{
  "openapi": "3.0.1",
  "info": {
    "title": "Real Estate MCP API - Sitgeshouses",
    "version": "1.1",
    "description": "MCP контекст недвижимости для поиска объектов и отправки запросов на контакт. - Sitgeshouses",
    "termsOfService": "https://www.sitgeshouses.com/termos-e-condicoes",
    "contact": {
      "name": "Sitgeshouses",
      "url": "https://www.sitgeshouses.com/",
      "email": "info@sitgeshouses.com"
    },
    "x-company-info": {
      "name": "Sitgeshouses",
      "address": "Carrer Bòbila 14, 3º1º, 08870 Sitges ( zona la Bóbila), la tenéis que implantar en sistema"
    }
  },
  "servers": [
    {
      "url": "https://www.sitgeshouses.com/",
      "description": "Идентификатор сервера MCP"
    }
  ],
  "components": {
    "schemas": {
      "searchToMatchRequest": {
        "type": "object",
        "properties": {
          "businessType": {
            "type": "string",
            "description": "Определяет или возвращает идентификатор типа сделки недвижимости"
          },
          "countryName": {
            "type": "string",
            "description": "Название страны, используемое в качестве критерия фильтрации. Это поле должно оставаться пустым, если страна не определена."
          },
          "stateName": {
            "type": "string",
            "description": "Название региона (район) для недвижимости (обязательно при поиске, если муниципалитет не указан)."
          },
          "townName": {
            "type": "string",
            "description": "Название муниципалитета для недвижимости (обязательно при поиске, если район не указан)."
          },
          "neighborhoodName": {
            "type": "string",
            "description": "Название или ID района, где находится недвижимость."
          },
          "zoneName": {
            "type": "string",
            "description": "Идентификатор географической зоны для фильтрации при поиске."
          },
          "masterCategoryIds": {
            "type": "array",
            "description": "Идентификаторы (ID) одной или нескольких основных групп категорий недвижимости (например, квартиры, дома, склады, земли, отели). Требуется указать хотя бы один, если не указан конкретный тип недвижимости."
          },
          "categoryIds": {
            "type": "array",
            "description": "Идентификаторы (ID) одного или нескольких конкретных типов недвижимости (например, квартира, дом, склад, участок, отель)."
          },
          "condition": {
            "type": "string",
            "description": "Состояние."
          },
          "minPrice": {
            "type": "integer",
            "description": "Минимальная цена в евро. Заполнять, когда пользователь указывает минимальный бюджет или нижний предел цены.",
            "format": "int32"
          },
          "maxPrice": {
            "type": "integer",
            "description": "Максимальная цена в евро. Заполнять, когда пользователь указывает максимальный бюджет или верхний предел цены.",
            "format": "int32"
          },
          "minBedrooms": {
            "type": "integer",
            "description": "Минимальное количество спален для фильтрации",
            "format": "int32"
          },
          "maxBedrooms": {
            "type": "integer",
            "description": "Максимальное количество спален для фильтрации",
            "format": "int32"
          },
          "bathrooms": {
            "type": "integer",
            "description": "Минимальное количество ванных комнат.",
            "format": "int32"
          },
          "listingReference": {
            "type": "string",
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          "developmentName": {
            "type": "string",
            "description": "Название проекта."
          },
          "developmentFractions": {
            "type": "boolean",
            "description": "Указывает, должна ли поисковая система учитывать отдельные единицы проекта (например, квартиры или торговые помещения) вместо проекта в целом. При включении результаты содержат только единицы, связанные с проектом."
          },
          "developmentTags": {
            "type": "array",
            "description": "Теги жилых комплексов, используемые для фильтрации поиска."
          },
          "withVideos": {
            "type": "boolean",
            "description": "Ищет только объекты недвижимости с доступными видео. Применяется, когда пользователь упоминает выражения вроде 'с видео', 'есть видео', 'посмотреть видео объекта', 'видео онлайн', и т.д."
          },
          "withBluePrints": {
            "type": "boolean",
            "description": "Ищет только объекты недвижимости с доступными планами (blueprints). Применяется, когда пользователь упоминает 'с планом', 'есть план', 'планы дома', 'карта объекта', 'план этажа', 'посмотреть план' и т.д."
          },
          "withVirtualVisits": {
            "type": "boolean",
            "description": "Ищет только объекты с виртуальными турами. Применяется, когда пользователь упоминает 'виртуальный тур', '3D тур', 'интерактивный тур', 'виртуальный опыт', 'виртуальный просмотр', 'посмотреть виртуальный тур онлайн'."
          },
          "with360Photos": {
            "type": "boolean",
            "description": "Ищет только объекты недвижимости с доступными 360º фотографиями. Применяется, когда пользователь упоминает 'с 360º фото', 'есть 360º фото', 'с панорамными фото', 'есть панорамные фото', 'смотреть 360º фото онлайн' и т.д."
          },
          "featuresNames": {
            "type": "array",
            "description": "Особенности недвижимости, включая удобства, услуги и близлежащие места интереса, а также типы видов для полного и детального описания объекта"
          },
          "page": {
            "type": "integer",
            "description": "Номер страницы для отображения в результатах поиска.",
            "format": "int32"
          }
        },
        "description": "Схема, описывающая входные параметры поиска недвижимости."
      },
      "searchResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "description": "Список результатов текущей страницы, основанный на количестве записей на странице.",
            "items": {
              "$ref": "#/components/schemas/DetailResponse"
            }
          },
          "count": {
            "type": "integer",
            "description": "Общее количество результатов, соответствующих критериям поиска.",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "description": "Номер текущей страницы в соответствии с критериями поиска.",
            "format": "int32"
          },
          "totalpages": {
            "type": "integer",
            "description": "Общее количество страниц, соответствующих критериям поиска.",
            "format": "int32"
          },
          "statetownnameequals": {
            "type": "boolean",
            "description": "Указывает, совпадает ли название региона с названием города."
          },
          "developmentname": {
            "type": "string",
            "description": "Название проекта; это поле заполняется только в том случае, если результаты относятся к конкретному проекту с этим названием."
          }
        },
        "description": "Схема, описывающая выходные параметры поиска недвижимости."
      },
      "detailRequest": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "integer",
            "description": "ID недвижимости для контакта.",
            "format": "int32"
          },
          "listingReference": {
            "type": "string",
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          "developmentFractions": {
            "type": "boolean",
            "description": "Указывает, должна ли поисковая система учитывать отдельные единицы проекта (например, квартиры или торговые помещения) вместо проекта в целом. При включении результаты содержат только единицы, связанные с проектом."
          }
        },
        "description": "Схема, описывающая входные параметры для деталей недвижимости."
      },
      "detailResponse": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "integer",
            "description": "Уникальный идентификатор объявления о недвижимости.",
            "format": "int32"
          },
          "propertyType": {
            "type": "string",
            "description": "Тип недвижимости."
          },
          "condition": {
            "type": "string",
            "description": "Состояние недвижимости."
          },
          "listingReference": {
            "type": "string",
            "description": "Ссылка на объект, отображаемая в результатах поиска."
          },
          "firstPhoto": {
            "type": "string",
            "description": "URL миниатюры первой фотографии объекта недвижимости."
          },
          "description": {
            "type": "string",
            "description": "Подробное описание недвижимости."
          },
          "title": {
            "type": "string",
            "description": "Заголовок объявления."
          },
          "price": {
            "type": "string",
            "description": "Цена в евро."
          },
          "imiValue": {
            "type": "string",
            "description": "Сумма IMI к оплате за недвижимость, рассчитанная на основе VPT и применимых налоговых правил."
          },
          "business": {
            "type": "string",
            "description": "Тип сделки с недвижимостью."
          },
          "location": {
            "type": "string",
            "description": "Название местоположения."
          },
          "bedrooms": {
            "type": "integer",
            "description": "Количество спален в недвижимости.",
            "format": "int32"
          },
          "bathrooms": {
            "type": "integer",
            "description": "Количество ванных комнат в недвижимости.",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "description": "Публичный URL объявления."
          },
          "hasVideos": {
            "type": "boolean",
            "description": "Указывает, есть ли у объекта доступные видео."
          },
          "hasBluePrints": {
            "type": "boolean",
            "description": "Указывает, есть ли у объекта доступные планы или чертежи."
          },
          "has360Photos": {
            "type": "boolean",
            "description": "Указывает, есть ли у объекта недвижимости доступные 360° фотографии."
          },
          "hasVirtualVisits": {
            "type": "boolean",
            "description": "Указывает, есть ли у объекта недвижимости виртуальные визиты или туры."
          },
          "features": {
            "description": "Эти ключи представляют описание конкретных характеристик недвижимости, включая физические атрибуты и важные локации, такие как бассейн, вид на море, близость к больницам, школам и другим важным объектам. Эта информация помогает детализировать и оценить недвижимость для улучшения фильтрации поиска и представления результатов в соответствии с предпочтениями пользователя.",
            "$ref": "#/components/schemas/Dictionary`2"
          }
        },
        "description": "Схема, описывающая выходные параметры деталей недвижимости."
      },
      "leadRequest": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "integer",
            "description": "ID недвижимости для контакта.",
            "format": "int32"
          },
          "listingReference": {
            "type": "string",
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          "name": {
            "type": "string",
            "description": "Имя пользователя."
          },
          "email": {
            "type": "string",
            "description": "Адрес электронной почты пользователя (обязателен, если номер телефона не указан)."
          },
          "phone": {
            "type": "string",
            "description": "Номер телефона пользователя (необязательно, если указан адрес электронной почты)."
          },
          "phoneCountryCode": {
            "type": "string",
            "description": "Код страны телефона с плюсом, например, \"+7\" для России, \"+351\" для Португалии."
          },
          "message": {
            "type": "string",
            "description": "Пользовательское сообщение."
          }
        },
        "description": "Схема, описывающая входные параметры для отправки лидов недвижимости."
      },
      "leadResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Статус отправки контактной формы (например: успех, ошибка)."
          },
          "message": {
            "type": "string",
            "description": "Сообщение, описывающее результат отправки контактной формы."
          },
          "confirmedLead": {
            "type": "boolean",
            "description": ""
          }
        },
        "description": "Схема, описывающая выходные параметры отправки лидов недвижимости."
      },
      "companyInfoRequest": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "Идентификатор компании/агентства для запроса (необязательно, по умолчанию используется внутренний идентификатор компании).",
            "format": "int32"
          }
        },
        "description": "Входная схема для запроса информации о компании"
      },
      "companyInfoWithAgenciesResponse": {
        "type": "object",
        "properties": {
          "headquarters": {
            "description": "Информация о контактных данных компании, относящихся к головному офису.",
            "$ref": "#/components/schemas/CompanyInfoResponse"
          },
          "agencies": {
            "type": "array",
            "description": "Информация о контактных данных агентств компании.",
            "items": {
              "$ref": "#/components/schemas/CompanyInfoResponse"
            }
          }
        },
        "description": "Схема вывода с данными о компании"
      },
      "companyInfoResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Название компании"
          },
          "phone": {
            "type": "string",
            "description": "Телефон компании"
          },
          "mobile": {
            "type": "string",
            "description": "Мобильный телефон компании"
          },
          "email": {
            "type": "string",
            "description": "Контактный адрес электронной почты компании"
          },
          "address": {
            "type": "string",
            "description": "Адрес компании (без почтового индекса)"
          },
          "district": {
            "type": "string",
            "description": "Район, в котором находится компания"
          },
          "municipality": {
            "type": "string",
            "description": "Муниципалитет, в котором находится компания"
          },
          "parish": {
            "type": "string",
            "description": "Приход, в котором находится компания"
          },
          "zipCode": {
            "type": "string",
            "description": "Почтовый индекс адреса компании"
          },
          "businessHours": {
            "type": "string",
            "description": "Часы работы компании"
          },
          "googleMapsUrl": {
            "type": "string",
            "description": "Прямая ссылка на местоположение компании в Google Maps"
          }
        },
        "description": "Схема вывода с данными о компании"
      },
      "rasorInfoRequest": {
        "type": "object",
        "properties": {
          "rasorName": {
            "type": "string",
            "description": "Имя консультанта по недвижимости, о котором требуется получить подробную информацию."
          },
          "stateName": {
            "type": "string",
            "description": "Позволяет искать консультантов по округу."
          },
          "townName": {
            "type": "string",
            "description": "Позволяет искать консультантов по муниципалитету."
          }
        },
        "description": "Входная схема для запроса подробной информации о консультанте по недвижимости"
      },
      "rasorInfoResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Полное имя консультанта по недвижимости."
          },
          "phone": {
            "type": "string",
            "description": "Стационарный телефон консультанта по недвижимости."
          },
          "mobile": {
            "type": "string",
            "description": "Мобильный телефон консультанта по недвижимости."
          },
          "observations": {
            "type": "string",
            "description": "Дополнительные замечания, связанные с консультантом по недвижимости."
          },
          "email": {
            "type": "string",
            "description": "Электронная почта консультанта по недвижимости."
          },
          "address": {
            "type": "string",
            "description": "Полный адрес консультанта по недвижимости или офиса."
          },
          "city": {
            "type": "string",
            "description": "Муниципалитет, где работает консультант по недвижимости."
          },
          "parish": {
            "type": "string",
            "description": "Приход, где работает консультант по недвижимости."
          },
          "spokenLanguages": {
            "type": "array",
            "description": "Список языков, которыми владеет консультант по недвижимости."
          },
          "socialProfiles": {
            "type": "array",
            "description": "Список ссылок на социальные профили консультанта.",
            "items": {
              "$ref": "#/components/schemas/SocialProfile"
            }
          },
          "avatar": {
            "type": "string",
            "description": "Изображение аватара, связанного с консультантом."
          },
          "listingUrl": {
            "type": "string",
            "description": "URL страницы, отображающей все объекты недвижимости, назначенные консультанту или связанные с ним, обеспечивая прямой доступ к полному списку соответствующих объектов."
          },
          "detailUrl": {
            "type": "string",
            "description": "Страница, отображающая полную информацию об агенте, включая контактные данные, профессиональный профиль и связанные объекты недвижимости."
          }
        },
        "description": "Схема вывода с подробной информацией о консультанте по недвижимости"
      },
      "imiRequest": {
        "type": "object",
        "properties": {
          "townName": {
            "type": "string",
            "description": "Название муниципалитета, в котором находится недвижимость. Это поле обязательно для географической идентификации и определения ставки IMI. Пример: \"Лиссабон\", \"Порту\", \"Синтра\", \"Албуфейра\"."
          },
          "taxableValue": {
            "type": "number",
            "description": "Налогооблагаемая кадастровая стоимость недвижимости (VPT), зарегистрированная в Португальской налоговой службе. Это официальная фискальная стоимость, используемая для расчёта IMI. Значение должно быть положительным десятичным числом в евро. Пример: \"185000.00\".",
            "format": "decimal"
          },
          "dependentsNumber": {
            "type": "integer",
            "description": "Количество иждивенцев в домохозяйстве налогоплательщика за соответствующий налоговый год. Включает детей, пожилых родителей и других законно признанных иждивенцев, которые могут иметь право на снижение или освобождение от IMI. Допустимое значение: целое число ≥ 0. Пример: \"2\".",
            "format": "int32"
          },
          "isUrban": {
            "type": "boolean",
            "description": "Указывает, классифицируется ли недвижимость как городская или сельская. Городская недвижимость облагается IMI, а сельская может подлежать другим налоговым правилам. Пример: true/false."
          }
        },
        "description": "Схема входных данных, используемая для запроса расчета муниципального налога на недвижимость (IMI) для объекта недвижимости."
      },
      "imiResponse": {
        "type": "object",
        "properties": {
          "townName": {
            "type": "string",
            "description": "Название муниципалитета, учитываемое при расчёте IMI"
          },
          "taxableValue": {
            "type": "string",
            "description": "Налоговая стоимость имущества (VPT), учитываемая при расчёте IMI, в евро"
          },
          "dependentsNumber": {
            "type": "string",
            "description": "Количество иждивенцев, учитываемых для предоставления льгот при расчете IMI"
          },
          "isUrban": {
            "type": "string",
            "description": "Указание, является ли объект недвижимости городским или сельским, учитываемое при расчёте IMI"
          },
          "imiValue": {
            "type": "string",
            "description": "Окончательное значение IMI (Муниципальный налог на недвижимость), рассчитанное на основе предоставленных данных."
          },
          "imiTaxValue": {
            "type": "string",
            "description": "Ставка, использованная для расчета IMI."
          },
          "dependentDiscount": {
            "type": "string",
            "description": "Сумма скидки, основанная на количестве иждивенцев."
          },
          "dataYear": {
            "type": "integer",
            "description": "Год, на который основаны ставки, используемые для расчета IMI.",
            "format": "int32"
          }
        },
        "description": "Схема выходных данных, предоставляющая результат расчета IMI, включая подробную информацию о сумме к уплате."
      },
      "servicesInfoRequest": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "Идентификатор компании/агентства для запроса (необязательно, по умолчанию используется внутренний идентификатор компании).",
            "format": "int32"
          }
        },
        "description": "Обзор доступных услуг, включая их назначение и применение для клиентов."
      },
      "servicesInfoResponse": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "Уникальный идентификатор компании, связанной с каталогом услуг.",
            "format": "int32"
          },
          "companyName": {
            "type": "string",
            "description": "Название компании, предоставляющей каталог услуг."
          },
          "categories": {
            "type": "array",
            "description": "Список доступных категорий услуг, организованных по профилю клиента.",
            "items": {
              "$ref": "#/components/schemas/ServiceCategory"
            }
          }
        },
        "description": "Обзор предоставленных клиенту услуг, включая детали, охват и применение."
      }
    }
  },
  "paths": {
    "/mcp/search": {
      "get": {
        "summary": "Поиск объявлений о недвижимости с использованием фильтров, таких как местоположение, цена, тип и состояние.",
        "description": "Поиск объявлений о недвижимости с использованием фильтров, таких как местоположение, цена, тип и состояние.",
        "operationId": "mcpSearch",
        "parameters": [
          {
            "name": "BusinessType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Определяет или возвращает идентификатор типа сделки недвижимости (Аренда, Краткосрочная аренда, Продажа, Сезонная аренда). Если не указано в поиске, по умолчанию используется Продажа"
          },
          {
            "name": "CountryName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Название страны, используемое в качестве критерия фильтрации. Это поле должно оставаться пустым, если страна не определена., (is required)"
          },
          {
            "name": "StateName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Название региона (район) для недвижимости (обязательно при поиске, если муниципалитет не указан)., (is required)"
          },
          {
            "name": "TownName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Название муниципалитета для недвижимости (обязательно при поиске, если район не указан)."
          },
          {
            "name": "NeighborhoodName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Название или ID района, где находится недвижимость."
          },
          {
            "name": "ZoneName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Идентификатор географической зоны для фильтрации при поиске."
          },
          {
            "name": "MasterCategoryIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Идентификаторы (ID) одной или нескольких основных групп категорий недвижимости (например, квартиры, дома, склады, земли, отели). Требуется указать хотя бы один, если не указан конкретный тип недвижимости."
          },
          {
            "name": "CategoryIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Идентификаторы (ID) одного или нескольких конкретных типов недвижимости (например, квартира, дом, склад, участок, отель)."
          },
          {
            "name": "Condition",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Состояние. (Remodelled, В проекте, В строительстве, Вторичный рынок, Зарезервировано, На продажу, На снос или под капитальный ремонт, Не применимо, Новый объект, Под ремонт, С капитальным ремонтом, с программой стимулирования для реабилитации)"
          },
          {
            "name": "MinPrice",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Минимальная цена в евро. Заполнять, когда пользователь указывает минимальный бюджет или нижний предел цены."
          },
          {
            "name": "MaxPrice",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Максимальная цена в евро. Заполнять, когда пользователь указывает максимальный бюджет или верхний предел цены."
          },
          {
            "name": "MinBedrooms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Минимальное количество спален для фильтрации"
          },
          {
            "name": "MaxBedrooms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Максимальное количество спален для фильтрации"
          },
          {
            "name": "Bathrooms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Минимальное количество ванных комнат."
          },
          {
            "name": "ListingReference",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          {
            "name": "DevelopmentName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Название проекта."
          },
          {
            "name": "DevelopmentFractions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Указывает, должна ли поисковая система учитывать отдельные единицы проекта (например, квартиры или торговые помещения) вместо проекта в целом. При включении результаты содержат только единицы, связанные с проектом."
          },
          {
            "name": "DevelopmentTags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Теги жилых комплексов, используемые для фильтрации поиска. ()"
          },
          {
            "name": "WithVideos",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Ищет только объекты недвижимости с доступными видео. Применяется, когда пользователь упоминает выражения вроде 'с видео', 'есть видео', 'посмотреть видео объекта', 'видео онлайн', и т.д."
          },
          {
            "name": "WithBluePrints",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Ищет только объекты недвижимости с доступными планами (blueprints). Применяется, когда пользователь упоминает 'с планом', 'есть план', 'планы дома', 'карта объекта', 'план этажа', 'посмотреть план' и т.д."
          },
          {
            "name": "WithVirtualVisits",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Ищет только объекты с виртуальными турами. Применяется, когда пользователь упоминает 'виртуальный тур', '3D тур', 'интерактивный тур', 'виртуальный опыт', 'виртуальный просмотр', 'посмотреть виртуальный тур онлайн'."
          },
          {
            "name": "With360Photos",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Ищет только объекты недвижимости с доступными 360º фотографиями. Применяется, когда пользователь упоминает 'с 360º фото', 'есть 360º фото', 'с панорамными фото', 'есть панорамные фото', 'смотреть 360º фото онлайн' и т.д."
          },
          {
            "name": "FeaturesNames",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Особенности недвижимости, включая удобства, услуги и близлежащие места интереса, а также типы видов для полного и детального описания объекта (Closet, Double glass, Ejendommen har kontor, Fireplace, Golf course, Green spaces, Kitchen, Petrol station, Porch, Public lighting, Satellite dish, Terrain Type (Slope), Video surveillance, Wi-Fi, Аптека, Барбекю, Бассейн, Библиотека, Видео запись, Винный погреб, Вода, Гараж, гольф, Город, Гостиная, Джакузи, Доступ к земле, Естественный свет, Игровая комната, Интернет, Кондиционер, Лифт, Месяц, Оборудованная кухня, Общественный канал, Общественный транспорт, Общий бассейн, Океан, Открытое пространство, Пляж, Полиция, Прачечная, Приемная, Радиантные полы, С мебелью, Сад, Сельская местность, Сервисная ванная комната, сигнализация, Солнечная ориентация, Солярий, Стиральная машина, Строительство, Супермаркет, Сьют, Термическая изоляция, Терраса, Торговый центр, Холодильник, Центр города, Центральное отопление, Школа, Шоссе, Щитая дверь, Электричество)"
          },
          {
            "name": "Page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Номер страницы для отображения в результатах поиска."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/detail": {
      "get": {
        "summary": "Возвращает подробную информацию о недвижимости.",
        "description": "Возвращает подробную информацию о недвижимости.",
        "operationId": "mcpDetail",
        "parameters": [
          {
            "name": "ListingId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "ID недвижимости для контакта."
          },
          {
            "name": "ListingReference",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          {
            "name": "DevelopmentFractions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Указывает, должна ли поисковая система учитывать отдельные единицы проекта (например, квартиры или торговые помещения) вместо проекта в целом. При включении результаты содержат только единицы, связанные с проектом."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/lead": {
      "get": {
        "summary": "Отправить контактную форму для конкретного объявления.",
        "description": "Отправить контактную форму для конкретного объявления.",
        "operationId": "mcpLead",
        "parameters": [
          {
            "name": "ListingId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "ID недвижимости для контакта."
          },
          {
            "name": "ListingReference",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Внутренний идентификатор недвижимости для идентификации."
          },
          {
            "name": "Name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Имя пользователя., (is required)"
          },
          {
            "name": "Email",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Адрес электронной почты пользователя (обязателен, если номер телефона не указан)., (is required)"
          },
          {
            "name": "Phone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Номер телефона пользователя (необязательно, если указан адрес электронной почты)."
          },
          {
            "name": "PhoneCountryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Код страны телефона с плюсом, например, \"+7\" для России, \"+351\" для Португалии."
          },
          {
            "name": "Message",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Пользовательское сообщение."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/companyinfo": {
      "get": {
        "summary": "Позволяет получать контактные данные компании, включая название агентства, адрес, телефон и электронную почту. Идеально для отображения институциональной информации или для возможности связи пользователя с агентством.",
        "description": "Позволяет получать контактные данные компании, включая название агентства, адрес, телефон и электронную почту. Идеально для отображения институциональной информации или для возможности связи пользователя с агентством.",
        "operationId": "mcpCompanyInfo",
        "parameters": [
          {
            "name": "CompanyId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Идентификатор компании/агентства для запроса (необязательно, по умолчанию используется внутренний идентификатор компании)."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoWithAgenciesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/rasorinfo": {
      "get": {
        "summary": "Позволяет получать контактные данные консультанта по недвижимости, включая имя, телефон, электронную почту и адрес. Идеально для отображения контактной информации консультанта или для возможности связи пользователя с ним.",
        "description": "Позволяет получать контактные данные консультанта по недвижимости, включая имя, телефон, электронную почту и адрес. Идеально для отображения контактной информации консультанта или для возможности связи пользователя с ним.",
        "operationId": "mcpRasorInfo",
        "parameters": [
          {
            "name": "RasorName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Имя консультанта по недвижимости, о котором требуется получить подробную информацию."
          },
          {
            "name": "StateName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Позволяет искать консультантов по округу."
          },
          {
            "name": "TownName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Позволяет искать консультантов по муниципалитету."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RasorInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/imicalculator": {
      "get": {
        "summary": "Позволяет определить величину муниципального налога на недвижимость (IMI) на основе данных, предоставленных пользователем. Сервис проверяет указанный муниципалитет, определяет применяемый коэффициент, обрабатывает Налогооблагаемую Патримониальную Стоимость (VPT), количество иждивенцев и характер имущества (городской или сельский), возвращая окончательную сумму IMI к уплате в соответствии с действующими налоговыми правилами Португалии.",
        "description": "Позволяет определить величину муниципального налога на недвижимость (IMI) на основе данных, предоставленных пользователем. Сервис проверяет указанный муниципалитет, определяет применяемый коэффициент, обрабатывает Налогооблагаемую Патримониальную Стоимость (VPT), количество иждивенцев и характер имущества (городской или сельский), возвращая окончательную сумму IMI к уплате в соответствии с действующими налоговыми правилами Португалии.",
        "operationId": "mcpImiCalculator",
        "parameters": [
          {
            "name": "TownName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Название муниципалитета, в котором находится недвижимость. Это поле обязательно для географической идентификации и определения ставки IMI. Пример: \"Лиссабон\", \"Порту\", \"Синтра\", \"Албуфейра\"."
          },
          {
            "name": "TaxableValue",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "decimal"
            },
            "description": "Налогооблагаемая кадастровая стоимость недвижимости (VPT), зарегистрированная в Португальской налоговой службе. Это официальная фискальная стоимость, используемая для расчёта IMI. Значение должно быть положительным десятичным числом в евро. Пример: \"185000.00\"."
          },
          {
            "name": "DependentsNumber",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Количество иждивенцев в домохозяйстве налогоплательщика за соответствующий налоговый год. Включает детей, пожилых родителей и других законно признанных иждивенцев, которые могут иметь право на снижение или освобождение от IMI. Допустимое значение: целое число ≥ 0. Пример: \"2\"."
          },
          {
            "name": "IsUrban",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Указывает, классифицируется ли недвижимость как городская или сельская. Городская недвижимость облагается IMI, а сельская может подлежать другим налоговым правилам. Пример: true/false."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IMIResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/servicesinfo": {
      "get": {
        "summary": "Описание endpoint, предоставляющего полную информацию о доступных услугах для профиля клиента.",
        "description": "Описание endpoint, предоставляющего полную информацию о доступных услугах для профиля клиента.",
        "operationId": "mcpServicesInfo",
        "parameters": [
          {
            "name": "CompanyId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Идентификатор компании/агентства для запроса (необязательно, по умолчанию используется внутренний идентификатор компании)."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServicesInfoResponse"
                }
              }
            }
          }
        }
      }
    }
  }
}