🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Travel Search Ru

by @missial

Search flights via Aviasales, tours via Travelata + Level.Travel, and excursions via Sputnik8 with real prices and booking links. Use when the user asks abou...

πŸ”’ Constraints

  • ALWAYS convert ALL URLs to short links via /short-link before showing to users β€” this applies to Aviasales, Travelata, AND Sputnik8 links. Never show raw URLs from API responses directly.
  • For flights: show cached prices from Data API + link to full search on aviasales.ru
  • For tours: default to 4-5 star, all-inclusive. Always search a date range (Β±7 days from requested date), never a single day. Show hotel name, stars, meal, price, check-in date, and booking link. Group multiple tours of the same hotel together β€” show the cheapest 5–10 hotels rather than 5–10 raw tours.
  • For tours: anyone aged 2–17 goes into touristGroup.kids (not adults). Always pass touristGroup.kidsAges[] with the age of each child β€” without it the API silently defaults to age 11 and may return wrong room layouts. If the user gives count but not ages, pick a sensible default (e.g. 8) and tell the user you assumed it.
  • For tours: if a search returns 0 (or under ~30 results for popular routes), the FIRST retry must be a second GET /tours with the same parameters after waiting another 3 seconds β€” operators may not have answered yet, especially for Vietnam, Cuba, Dominican Republic, Bali, Maldives. Only AFTER that second fetch is still empty should you drop filters, then widen night range, then widen date range. Do not blast through retries β€” each is a separate API call.
  • For tours: search by specific hotel using hotels[] when the user names a hotel.
  • For tours: if results are few (under 3) or none match the user's preferences well, recommend checking more options on these services:
  • - ЯндСкс ΠŸΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΡ - Ostrovok
  • For tours with a budget: if results exceed budget, present the cheapest options clearly marked as "above budget".
  • For tours with an exact area request: pass resorts[] (array format). Treat the returned tours as valid area matches even when the API returns a more specific child resort/subzone inside that area. Show the actual subzone in the response, but do not silently broaden to a different resort cluster or region unless the user agrees.
  • For combined requests (flights + tours): search both and compare
  • Prices from Data API are cached (2-7 days old) β€” mention this to users. If no data found for requested dates, the API automatically returns nearest available dates.
  • When user asks for tours plus excursions, always search Sputnik8 too, even if tour results are empty or only slightly above budget.
  • When showing flight or tour results, suggest searching for activities and excursions at the destination via Sputnik8 (e.g. "Want me to find excursions and things to do in Antalya?")
  • For tours: when the query fits Level.Travel constraints (2 adults, 7-15 nights, near-term dates), call both Travelata and Level.Travel in parallel. Present merged results, label each tour with its source, and mention that Level.Travel data is a cached snapshot using feed_age_hours. When the query does not fit Level.Travel constraints, silently use Travelata only.
  • View on ClawHub
    TERMINAL
    clawhub install travel-search-ru

    πŸ§ͺ Use this skill with your agent

    Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

    πŸ” Can't find the right skill?

    Search 60,000+ AI agent skills β€” free, no login needed.

    Search Skills β†’