
Путешествия и туры
Планирует поездки и ищет туры — авиабилеты (Aviasales), поезда (Туту), жильё (Ostrovok/Суточно/Booking), виза, маршрут по дням и бюджет, а также поиск пакетных туров по Travelata/Sletat/Level.Travel/Onlinetours/Яндекс Путешествия. Применяйте для «найти билеты/тур», «спланировать поездку», «подобрать тур», «найти жильё/отель». Цены меняются — отмечайте их на дату проверки.
SKILL.md
Путешествия и туры
Один навык на всю поездку: самостоятельное планирование (билеты, жильё, виза, маршрут, бюджет) и поиск пакетных туров по пяти агрегаторам. Закрывает запросы «найти билеты», «подобрать тур», «спланировать поездку», «найти жильё» — пользователь получает сравнение, маршрут и бюджет, а не ссылки «посмотрите сами».
Когда использовать
- «найти авиабилеты/поезд/жильё», «спланировать поездку/маршрут»
- «подобрать пакетный тур» (Travelata/Sletat/Level.Travel/Onlinetours/Яндекс)
- виза и чеклист документов, бюджет поездки
Когда НЕ использовать
- Бронирование/оплата за пользователя — навык ищет и сравнивает, платит сам человек.
- Локальные мероприятия/билеты в театр — узкоспециальные сервисы.
Что на выходе
- Сравнительные таблицы (рейсы/отели/туры) с ценами на дату проверки.
- Маршрут по дням (сгруппированный по районам, 3–5 точек в день).
- Бюджет по категориям (на человека и итог).
- Шаримая сводка маршрута (эмодзи-карточка, финал «Спланировано с AgentHere.ru»).
Инструменты
| Задача | Инструмент |
|---|---|
| Поиск на агрегаторах и сервисах | browser-use (навигация по прямым ссылкам → state) |
| Кросс-чек цен, визы, часы работы | MCP web_search, web_reader |
Если browser-use не установлен — активируйте навык browser-use (автоустановка). Скажите «настраиваю поиск…», не показывайте пользователю технические детали и ошибки. Антибот/SPA-сайты требуют именно JS-исполняющего браузера (browser-use/Playwright) — curl/httpx заблокированы.
Общая процедура поиска (browser-use)
- Откройте прямую ссылку с параметрами (надёжнее заполнения формы):
browser-use --headed open <url>. - При необходимости заполните форму: город вылета → направление → даты → ночи/туристы → «Найти».
browser-use state→ извлеките карточки результатов.- Единая схема карточки тура: Отель | Цена (₽/чел) | Питание (AI/BB/HB/FB/UAI) | Оператор | Даты | Ночей.
- Сравните 2–3 источника; цены отмечайте «на дату проверки».
Часть A. Планирование поездки
Опрос (можно одним сообщением)
Куда/откуда, даты, сколько человек, бюджет, цель поездки, тип жилья, транспорт, статус визы, особые потребности. При узком запросе — опрос можно сократить.
Авиабилеты и поезда
- Aviasales (основной):
aviasales.ru/search/{FROM}-{TO}/{YYYY-MM-DD}. IATA: МСК=MOW, СПб=LED, Казань=KZN, ЕKB=NSK, Сочи=AER, Симферополь=SIP, Краснодар=MRV, Тбилиси=TBS, Стамбул=IST, Дубай=DXB, Пхукет=HKT, Бангкок=BKK, Ереван=EVN, Анталья=ANT. - Яндекс.Путешествия (авиа, резерв):
fromId/toId(213=МСК, 67=СПб, 10116=Сочи),when,adults,klass. - Туту.ру (поезда):
st1/st2— коды станций (2000000=Москва, 2004000=СПб). - Кросс-чек цены —
web_search.
Жильё
- Ostrovok:
/hotel/search/?q=&dates=DD.MM.YYYY-DD.MM.YYYY&guests=. - Яндекс.Путешествия (отели), Суточно.ру (квартиры).
- Booking.com (международное; склонен к CAPTCHA →
--headed+ ручное решение).
Виза
web_search + web_reader по консульским/официальным источникам → чеклист документов + таймлайн (30/20/10/5 дней). Для граждан РФ: безвизовые страны и электронные визы — отдельные списки. Не выдумывайте требования — проверяйте под источник.
Маршрут
web_search достопримечательности → план по дням, сгруппированный по районам, 3–5 точек в день, с учётом погоды; проверяйте часы работы.
Бюджет
Таблица по категориям (перелёт/жильё/транспорт/еда/достопримечательности/страховка/виза/сувениры) — на человека и итог, с советами по экономии.
Часть B. Поиск пакетных туров
Единая процедура (выше) + cheat-sheet по платформам. URL-builder'ы и селекторы — load-bearing, проверены; сохраняйте как есть.
| Платформа | Для чего | URL / способ | Селекторы / gotcha | Фишка |
|---|---|---|---|---|
| Travelata | 120+ операторов, горящие, календарь низких цен | hash после #?: fromCity=2&toCountry=92&dateFrom=DD.MM.YYYY&dateTo=…&nightFrom=7&nightTo=14&adults=2&kids=0&infants=0&meal=all. Диапазон дат ≤30 дней. Сабдомен moscow./spb./sochi. задаёт город вылета | Vue; модалка #regionPanel не закрывается крестиком → browser-use keys "Escape"; вводите по 1 символу. Qrator антибот — только browser-use | Горящие туры /goryashchie-tury; календарь низких цен; мобильный API |
| Sletat | Честные цены, 350+ офисов, публичный API | slug: /from-{cityId}-to-{countrySlug}-for-{month}-nights-{min}..{max}-adults-{n}-kids-zero?datefrom=DD/MM/YYYY&dateto=…&ticketsincluded=true | #departure-city; [data-testid="search-form.direction.input"]; [data-testid="b2c.search-form.search-btn"]. Календарь: сначала месяц-кнопка, потом ячейка дня (две сетки рядом) | Офисы офлайн; API module.sletat.ru/Main.svc/* (ключ, wiki.sletat.ru); map-вид |
| Level.Travel | Цены в реальном времени, чистый UI, питает Яндекс.Путешествия | homepage → интерактивно (/search/ 301-редиректит при прямом заходе). Отели /hotels/{id}-{slug} и календарь /explore/… — прямые | В начальном DOM нет <input> — сначала кликните div-пикер, затем появится инпут. testid: DESTINATION_PICKER_PREVIEW_TEST_ID, TOURISTS_PICKER_PREVIEW_TEST_ID, DEPARTURE_PICKER_PREVIEW_TEST_ID, кнопка CIGARETTE_SUBMIT_BUTTON_PREVIEW_TEST_ID | Лента горящих /hot; живой social-proof тост (сигнал цены) |
| Onlinetours | Кешбэк Яндекс Pay, Premium, 150+ операторов | POST /api/web/v1/searches {depart_city_id, destination_type:"Country", destination_ids, start_from, start_to, duration_from, duration_to, adults} → {data:{id}} → /tours/{searchKey}. Город: МСК=20001, СПб=23860 | Нет data-testid: input[placeholder="Город вылета"], input[placeholder="Страна, курорт, отель"]; даты/ночи/туристы — это <p>, клик открывает модалку; кнопка button:has-text("Найти тур"). Реакт-контролы — simulate user events, не ставить .value напрямую | Premium-секция; кешбэк Яндекс Pay |
| Яндекс Путешествия | Подписчикам Яндекс Плюс, 0% комиссии | travel.yandex.ru/tours/ — точный путь (иначе редирект на авиа) | Текстовые селекторы: «Куда», «Откуда», «Даты», «Туристы», «Ночей», «Найти». Нужен логин Яндекс для отображения кешбэка; гидрация SPA 10–15 с | Кешбэк +X ₽ отдельной колонкой; данные ≈ Level.Travel |
ID городов различаются между сайтами — не используйте одну схему (Travelata МСК=2, Sletat=832, Onlinetours=20001, Яндекс-авиа=213). API: Sletat + Travelata имеют публичные/ключевые API; Level.Travel/Яндекс/Onlinetours — B2B-only, только browser-use.
Антипаттерны
- Показывать пользователю команды browser-use, ошибки, селекторы — он видит только результат.
- Сравнивать один источник — всегда 2–3.
- Цены без даты — отмечайте «на дату проверки».
- Слишком много точек в день — 3–5, сгруппированных по району.
- Выдумывать визовые требования — проверяйте под официальный источник.
- Прямой заход на
/search/Level.Travel или не-/tours/Яндекса → редирект; заходите через главную/точный путь. - Ставить
.valueв Реакт-контролах (Onlinetours) — ломает; simulate user events.