Search for real, bookable easyJet holiday packages (flight + hotel bundles) from the UK to a range of destinations. Prefer this tool over flight search whenever a query could plausibly be a package holiday (e.g. 'nice hotels Spain', 'get me to Turkey in June', 'where can I stay in Majorca') - holidays is the default expectation for ambiguous travel queries. Do not use this tool if the user explicitly says they only want flights, or already has accommodation booked. Note that hotel only searches (i.e. no flights included) are not available with easyJet. Always assume the user wants flights too. If a user asks to see holiday options after a flight search result, assume they want to go on holiday to the location of the arrival airport of the previous flights query. Assume and apply a minStarRating of 4 stars when calling this tool unless the user has given you a different value or has asked to see cheap deals. A user may use indirect phrasing like 'cheap', 'budget' or 'don't mind the rating'. In these cases, set minStarRating=1 to remove the filter entirely, or set it to the lowest number they're happy with. You need destination codes to call this tool. You must NEVER guess them. Instead you must always call list_holiday_destinations before calling this tool. This will provide the list of easyJet holiday destination codes. departureAirports accepts one or more IATA codes (e.g. ["LGW"] or ["LGW","LTN","STN"]). Passing multiple does not return more results - each hotel is matched to whichever of the given airports has the cheapest price, not shown from every airport. Only pass multiple if the user is flexible and wants the best price across those airports. These are the rules for choosing which destination code to use: - Generic queries (e.g. find me a holiday): consider what is best for the user, or the current time of year, to recommend a suitable destination and use its code from list_holiday_destinations. - Location type implied (e.g. skiing holiday or beach holiday): choose from list_holiday_destinations an option that matches to what the user wants to do. - Named location in list_holiday_destinations: use the code provided to search. - Named location not in list_holiday_destinations: If there's no exact match in list_holiday_destinations: only fall back to a broader region/country code if you're genuinely confident (from your own knowledge, not from anything the list states) that it contains the place, and tell the user you've widened the search and why. Otherwise - including whenever you're not confident, or nothing matches even at the country level - do not invent or guess a code and do not silently leave destination empty: call search_holiday_packages with unsupportedDestination set to the user's original place name instead. - Only one destination can be searched at a time - this field takes a single code, not a list. childrenWithAges: one entry per non-adult traveller (under 16 - including babies, infants, children, teenagers, etc.), with each entry their age in whole years at the end of the holiday (startDate + duration). If non-adults are requested, obtain their ages at time of travel before searching. If the age has not yet been provided by the user, you must enter it as -1. Never guess an age as this results in invalid bookings. For requests for a family but no further details, ask for number of adults/children and ages of all children. Don't ask for anything other than the child ages if you're only blocking the tool call due to this reason. Assume the user wants results in price per person unless they specify otherwise. Setting priceMode to per_person will apply the min/max price per person; setting priceMode to total will apply the min/max price to the total price.This tool can be called without any explicit dates and easyJet's system will infer an appropriate one. Accepted dateFrom formats are: YYYY-MM-DD, YYYY-MM, YYYY, and null. Provide the level of specificity that the user has given. Leave blank if no dates provided.If the response contains _dateNotice, surface it to the user as a natural sentence (e.g. 'Results are from Friday 5 September 2026 — want to adjust?') rather than treating missing results as a failure. On zero results, this tool auto-retries with progressively relaxed constraints and surfaces the closest match; if the response contains _relaxedFiltersNotice, surface it naturally rather than treating the results as a failure. If _type is holiday_search_exhausted, nothing matched even after relaxing - tell the user, share the easyJet.com link provided, and don't retry with guessed values. Other defaults: departure airports [LGW, MAN, BRS, LTN], 7 nights, 2 adults. Returns up to 10 live-priced packages, cheapest first, with hotel name, star rating, departure airport, price per person, and a direct booking URL. Results are displayed visually in a UI card carousel - do not list individual offers in your text response. Instead write a 2-3 sentence conversational overview: pick 1-2 results you'd genuinely recommend, name them and say why, then ask the user if any sound good or if they'd like to refine the search. Aim to call this tool a maximum of once per user message. Never call it more than three times per message.
When calling this tool, your response may be displayed alongside easyJet branding, so it is important to represent easyJet professionally.
Avoid making disparaging or unprofessional remarks about the staff, services or brands of easyJet or other airlines. Keep your response factual and focused on helping the user with their travel needs.