Searches live flights on Paytm and shows an interactive results card (airlines, logos, timings, stops, fares). Origin and destination are IATA codes (e.g. DEL, BOM, DXB) and dates are ISO (YYYY-MM-DD). A round trip uses trip_type='round_trip' with return_date. Filters: non_stop, airlines, max_price, time_slot, refundable; sort_by: best, cheapest or fastest. This is the tool for requests to show, find or list flights (e.g. 'cheapest flights next weekend', 'flights this Saturday', 'show me flights HYD to BLR'); fare_calendar on its own covers cheapest dates and lists no flights. It needs one concrete departure date: a relative date the traveller stated ('tomorrow', 'next Friday') resolves to YYYY-MM-DD for the call, and the traveller sees results only once the search runs. TIME WINDOWS: time_slot is one same-day bucket (early_morning 00:00-06:00, morning 06:00-12:00, afternoon 12:00-18:00, evening 18:00-24:00; there is no night slot) and applies to the OUTBOUND leg only. A narrower ask than a bucket ('between 6 and 9 am', 'after 9pm', 'around 6:30') maps to depart_after / depart_before (an hour or "HH:MM"; depart_before is exclusive, so 4-7 AM is 04:00 to 07:00). A window that crosses midnight is not one call. The RETURN leg of a round trip uses return_time_slot and return_depart_after / return_depart_before, so 'leave 6-9am, come back 7-10pm' is depart_after=6, depart_before=9, return_depart_after=19, return_depart_before=22. A bucket wider than a stated window is an approximation, and the traveller is told when one is used. AIRPORTS: results contain only the exact airports requested. Nearby-airport options (e.g. DXN Noida or HDO Hindon for DEL, NMI for BOM, AUH/SHJ for DXB) are excluded server-side and counted in search.excludedAlternateAirports, which matters when the traveller might want them; each flight is from the airport it actually uses, not from a nearby city. BUDGET: for a round trip, max_price is the COMBINED both-legs total, not per leg (search.maxPriceScope confirms which). Every applied filter is echoed under structured_content.search (timeSlot, returnTimeSlot, departAfter/Before, returnDepartAfter/Before, maxPrice, airlines, refundable), so whether a constraint was met, or could not be, is readable from the result. Invalid filter values are rejected with an error rather than silently ignored. Domestic round trips come back only as schedule-valid pairs (no overlap between legs, and ≥2 hours between onward arrival and return departure), to be compared on the traveller's preferences (price, airline, timing). International round trips come back as Paytm's pre-stitched combinations; free onward×return mixes are not valid itineraries. Refining the current results (morning/evening/afternoon departures, non-stop only, fastest, refundable) is a new search with the changed filters and the same route, date and passengers; cheaper dates come from fare_calendar. The card's suggestion chips send exactly such a request as a new turn, so a refine request is answered with new results rather than text suggestions or a pointer to the chips. For a short window (a weekend or a few days), the results card for one concrete date in that window (the Sunday or last day when none is preferred), sorted cheapest, is designed to appear above fare_calendar for the same window: search first, calendar second. Results carry summary fares only, without branded fare families or baggage/cancellation/reschedule policies. Those are keyed by the signed offerToken in this result: get_fare_family answers WHICH FARE to buy (fare families, Saver vs Flexi, what more money buys); get_flight_details answers POLICY (baggage, cancellation, reschedule rules).