{"id":51360,"plugin_id":"plugin_asdk_app_6ac54d9464008191a9b358b74a10eec4","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:46:09.016Z","digest":"32081478a57d7b97d7d5fe193cfbe4c8876fe6afd757fffc32f2fc775eafeece","against":null,"payload":{"description":"Search and compare live TravelYalla flight prices (one-way, round-trip or multi-city) and give a travelyalla.com booking link. Use for any request for flights, airfare, plane tickets or the cheapest way to fly on known dates, in English or Arabic (طيران، رحلات طيران، تذاكر طيران، حجز طيران، أرخص طيران), especially to, from or within Egypt, Saudi Arabia and the Gulf.","included_files":[{"relative_path":"references/booking-links.md","size_in_bytes":926}],"name":"find-flights","skill_md_contents":"---\nname: find-flights\ndescription: \"Search and compare live TravelYalla flight prices (one-way, round-trip or multi-city) and give a travelyalla.com booking link. Use for any request for flights, airfare, plane tickets or the cheapest way to fly on known dates, in English or Arabic (طيران، رحلات طيران، تذاكر طيران، حجز طيران، أرخص طيران), especially to, from or within Egypt, Saudi Arabia and the Gulf.\"\n---\n\n# Find flights\n\nTools: `search-flights`, then `get-flight-details` when the user wants baggage or fare details for one option.\n\nExplicit user instructions take priority over the defaults here.\n\n## 1. Collect the trip\n\nYou need these before searching:\n\n- **From and to.** Use 3-letter IATA airport codes (Cairo `CAI`, Dubai `DXB`, Riyadh `RUH`, Jeddah `JED`, London Heathrow `LHR`). For a city with several airports, use its main airport unless the user names another. Ask if you are not sure of the code.\n- **Dates.** Resolve relative dates (\"next weekend\", \"the 10th\") against today's date. Never search a date in the past.\n- **Trip type.** A return date or \"round trip\" means two legs. Otherwise search one-way.\n\nIf something required is missing, ask for all of it in one short question. Do not ask about anything that has a default:\n\n- 1 adult, 0 children, 0 infants. Children are 2–11 years old and infants are under 2.\n- Economy cabin. The other options are `business` and `first`.\n\n## 2. Search\n\nCall `search-flights` with:\n\n- `itineraries`: one `{departure, arrival, date}` per leg, in travel order. A round trip has two legs, the second one reversed. Write dates as `DDMMMYYYY` in upper case, for example `16OCT2026`.\n- `adults`, `children`, `infants`, `class`.\n- `nationality`: the traveller's own country as an ISO-2 code (`EG`, `SA`, `AE`), never the destination's. It sets the fare and the default currency. Use it if you know it. If you don't, search anyway and offer to re-run for their nationality.\n- `currency`: only if the user asked for one.\n- `language`: `ar` when the user writes in Arabic.\n- `limit`: 10 by default. Raise it, up to 50, when filtering by airline, stops or time leaves too few results.\n\nThe search takes about 20–30 seconds, so tell the user once that you are searching.\n\nIf the search fails or returns nothing, retry once. If it still fails, say so and suggest a nearby date or airport. Do not invent results.\n\n## 3. Present the results\n\nShow the 3–5 best options in a compact table. For each one, give:\n\n- price and currency\n- airline names (from `airlines`)\n- departure and arrival times for each leg\n- stops\n- duration\n\nRules for the table:\n\n- `price` is the total for all passengers in the search. With more than one passenger, also show the price per person.\n- Work out each leg's duration from that trip's own `duration`. Do not use the itinerary-level `duration`.\n- Label the **cheapest** option, the **fastest** one (shortest total of the trip durations) and, if it differs, the best balance of the two.\n- Write times as local clock times. Mark a next-day arrival with \"+1\".\n- Filter on the returned data for requests like \"non-stop only\" (`stops` = 0), \"Emirates only\" or \"morning departures\". Say how many options matched.\n\nPrices are live and can change until the booking is paid. Say so once.\n\n## 4. Details\n\nWhen the user picks an option, call `get-flight-details` with that `search_id` and itinerary `id`. Report the checked and cabin baggage allowance per trip and passenger type.\n\n## 5. Booking link\n\nEnd with a travelyalla.com link built from the search, as described in [references/booking-links.md](references/booking-links.md). The user books and pays on the website. Never collect payment details in the chat.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}