
Поиск туров на Sletat
Поиск пакетных туров на Sletat.ru — одном из старейших агрегаторов туров в России с 100+ туроператорами и 350+ офисами. Содержит стабильные data-testid селекторы для надёжной автоматизации.
SKILL.md
Sletat Tour Search
Search for package tours on Sletat.ru — one of the oldest and largest Russian tour search services with 100+ tour operators and 350+ physical offices.
Overview
Sletat.ru is a Next.js (App Router, React Server Components) tour aggregator that claims 500M tours from 100+ operators and has served 3M+ tourists. Unique among aggregators for having 350+ physical offices across 170 Russian cities. The search form uses data-testid attributes for stable targeting — best for browser automation. Sletat also has the most comprehensive public API (wiki.sletat.ru).
When to use: Best for "honest prices", physical office support, and API access.
Установка browser-use
Для работы этого навыка необходим browser-use.
Если browser-use не установлен — активируй навык browser-use и следуй его инструкциям. Он автоматически установит Python, pip и browser-use для твоей платформы.
Пока идёт установка, скажи: «Настраиваю поиск, это займёт пару минут...» НЕ показывай пользователю команды, ошибки или технические детали.
Quick Start
browser-use --headed open https://sletat.ru
browser-use state
Search Flow
Step 1: Open Homepage
browser-use --headed open https://sletat.ru
Sletat loads a full-screen hero with a prominent date range picker and departure city selector. The page is server-rendered (Next.js App Router) with fast initial load.
Step 2: Set Departure City
The departure city field is the only native <input> in the form (id="departure-city").
# Click the departure city input
browser-use click "#departure-city"
# Clear and type the city name
browser-use type "Москва"
# Select from the dropdown
browser-use click "Москва"
Key departure city IDs:
- Moscow: 832
- St. Petersburg: 1264
- Yekaterinburg: 1265
- Kazan: 1266
- Volgograd: 1279
Step 3: Set Destination
The destination field is a div[role="button"] (not an input) that opens a popup.
# Click the destination selector
browser-use click '[data-testid="search-form.direction.input"]'
# Or by visible text
browser-use click "Куда"
# Type destination
browser-use type "Турция"
# Select from results
browser-use click "Турция"
Step 4: Set Date Range
Календарь открывается кликом по контейнеру дат. Внутри — два месяца и переключатели:
# Открыть календарь
browser-use click "Даты вылета"
# Переключить месяц (если нужен не текущий)
browser-use click "июл" # Кнопка с названием месяца в верхней строке
# Выбрать день начала
browser-use click "5" # Клик по числу в левой сетке (июль)
# Выбрать день окончания
browser-use click "12" # Клик по числу (должен быть в том же или соседнем месяце)
Структура календаря Sletat:
- Верхняя строка: кнопки месяцев (
июн,июл,авг, ...) - Две сетки: левая — первый месяц, правая — второй
- Дни — это
<button>элементы с текстом числа
Step 5: Set Nights and Tourists
# Click nights selector
browser-use click "Ночей"
# Adjust range in popup
# Click tourists selector
browser-use click "Туристов"
# Adjust counts in popup
Ночи и туристы обычно уже заполнены правильно из URL или предыдущего поиска.
Проверь state перед тем как менять — часто достаточно просто нажать «Найти».
Step 6: Submit Search
# Click the search button
browser-use click '[data-testid="b2c.search-form.search-btn"]'
Wait 10-30 seconds for results. Sletat queries 100+ operators.
Step 7: Read Results
browser-use state
Results show tour cards with:
- Price per person
- Hotel name + star rating
- Meal plan
- Tour operator
- Check-in date and duration
- "Buy Online" vs "Choose Office" buttons
Result Extraction
Each tour card on the results page contains:
| Field | Description | Example |
|---|---|---|
| Price | Per person, RUB | "58 900 ₽" |
| Hotel | Name + stars | "Labranda Hotels 4★" |
| Meal | Board type | "Завтрак" / "BB" |
| Operator | Tour operator name | "Biblio Globus" |
| Dates | Check-in to check-out | "15.07 — 22.07" |
| Nights | Duration | "7 ночей" |
DOM Reference (Stable Selectors)
Sletat uses data-testid attributes — the most stable selectors for automation:
| Element | Selector | Type |
|---|---|---|
| Form root | [data-testid="b2c.search-form"] | div |
| Departure city input | #departure-city | input |
| Destination selector | [data-testid="search-form.direction.input"] | div |
| Date range picker | .DepartureDates_container__* or text="Даты вылета" | div[role="button"] |
| Nights selector | .NightsAmount_container__* or text="Ночей" | div[role="button"] |
| Tourists selector | .TouristsAmount_container__* or text="Туристов" | div[role="button"] |
| Search button | [data-testid="b2c.search-form.search-btn"] | button |
| Tour type tab | [data-testid="b2c.search-form.search-type.tour"] | button |
| Hotel type tab | [data-testid="b2c.search-form.search-type.hotel"] | button |
Note: CSS module hashes (e.g., __xiPzS) change on every build. Prefer data-testid and #id selectors.
URL Structure for Direct Navigation
Construct a search URL to skip form filling (recommended approach):
https://sletat.ru/search/from-832-to-turkey-for-july-nights-7..14-adults-2-kids-zero?datefrom=01/07/2026&dateto=31/07/2026&ticketsincluded=true
URL format:
/search/from-{cityId}-to-{countrySlug}-for-{month}-nights-{min}..{max}-adults-{n}-kids-zero?datefrom={DD/MM/YYYY}&dateto={DD/MM/YYYY}&ticketsincluded=true
Map view alternative: /map/search/... (same format) shows results on a map.
Direct navigation example:
browser-use --headed open "https://sletat.ru/search/from-832-to-turkey-for-july-nights-7..14-adults-2-kids-zero?datefrom=01/07/2026&dateto=31/07/2026&ticketsincluded=true"
Advanced Features
Hot Tours
browser-use click "Горящие туры"
Sletat has a dedicated hot deals section.
Office Booking
One of Sletat's unique features — users can choose to book via physical office:
browser-use click "Выбрать офис"
This opens a map/list of 350+ offices across Russia.
Popular Destinations
The homepage shows inspiration cards for popular destinations:
- Japan, China, Altai, Uzbekistan, Georgia
These can be clicked directly to start a search.
Public API (Alternative to Browser-Use)
Sletat has the most comprehensive public API among Russian aggregators. Available at wiki.sletat.ru:
Tour Search Gateway (JSON)
GET https://module.sletat.ru/Main.svc/GetTours
Key API endpoints:
| Endpoint | Purpose |
|---|---|
GetDepartCities | List departure cities |
GetCountries | List available countries |
GetResorts | List resorts by country |
GetHotels | List hotels with ratings |
GetTours | Search tours (real-time) |
GetHotTours | Hot deals |
GetHotelReviews | Hotel reviews |
Example tour search:
GET https://module.sletat.ru/Main.svc/GetTours
?cityFromId=2 # Moscow
&countryId=110 # Turkey
&dateFrom=2026-07-01
&dateTo=2026-07-15
&nightsFrom=6
&nightsTo=14
&adults=2
The API requires registration for an API key. See wiki.sletat.ru for documentation.
When to use API vs browser-use:
- Use API for structured data extraction and reliability
- Use browser-use when API key is not available or for visual verification
Pros & Cons
Pros:
- Most comprehensive public API (wiki.sletat.ru)
- 350+ physical offices for offline booking
- "Honest prices" policy
- Next.js — fast, server-rendered, clean DOM
- 800,000+ mobile app downloads
- Strong brand trust (3M+ tourists served)
Cons:
- Search can be slower than competitors
- Fewer hotel photos than Travelata
- API requires registration for key
- Homepage design less intuitive than Travelata/Level.Travel
- Results may show "0 destinations available" if filters are too narrow
Troubleshooting
| Issue | Solution |
|---|---|
| "0 направлений доступно" | Widen date range or change departure city |
| Date picker not responding | Click directly on date cells, not the header |
| Results loading forever | Check for "loading" spinner; wait 30s max |
| Office map not loading | Try "Список" (list view) instead of map |
| API request fails | Check API key validity and rate limits |
| Dates don't change after clicking | Click month button first, then day buttons |
| Wrong month displayed | Use month buttons (июн/июл/авг) at top of calendar |