Search Transportation
search_transportationFull Description
Search and compare bus, train, shuttle, and ferry schedules worldwide with comprehensive filters and transparent pricing. Results render in a rich, list view showing origin and destination stop as well as departure time, trip duration and price in the currency of the user's choice for side-by-side comparison.
Autoset guidance (server-side, case-insensitive intent detection):
- Origin/Destination: ALWAYS disambiguate ambiguous locations (YOU MUST provide uniquely identifiable locations or airport codes). Always specify city name with state/province/region and country:
Examples: "Paris" → clarify "Paris, TX, USA" vs "Paris, TN, USA" vs "Paris, Ile-de-France, France" "London" → clarify "London, England, United Kingdom" vs "London, ON, Canada"
CRITICAL TEMPORAL RULES:
- If current date is before requested date → prompt the user to use a date in the future
- If requested month is before current month → use NEXT year
- If today is 2025-12-15 and user asks "trips in January" → use 2026-01-01
- For relative dates: "next week" → add 7 days, "next month" → add 1 month
- When ambiguous, default to the NEAREST FUTURE occurrence that satisfies constraints
Examples (intent → autosets)
- "Paris to London on June 1st 2026" -> origin_name="Paris, France" destination_name="London, UK" departure_date="2026-06-01"- "Montreal to London on January 1st 2026" -> origin_name="Montreal, QC, Canada" destination_name="London, ON, Canada" departure_date="2026-01-01"
Filtering
- Modality filter: "Show me only train results" -> vehicle_types=["train"]
- Modality filter: "Bus only" / "I want bus tickets" -> vehicle_types=["bus"] (use ["bus","shuttle","van"] for bus-like vehicles)
- Modality filter: "Train and ferry" -> vehicle_types=["train","ferry"]
- Time filter (times in departure's local timezone): "Departures before 3pm" -> departure_before="15:00"
- Time filter: "Departures after 8am" / "Morning departures" -> departure_after="08:00"
- Time filter: "Between 9am and 5pm" -> departure_after="09:00" departure_before="17:00"
- Arrival filter (times in arrival/destination's local timezone): "Arrive before 6pm" -> arrival_before="18:00"
- Arrival filter: "Arrive after noon" -> arrival_after="12:00"
- Arrival filter: "Arrive between 2pm and 8pm" -> arrival_after="14:00" arrival_before="20:00"
- Arrival filter for overnight trips: "Leaving after 1pm, arriving before 8am the next day" -> departure_after="13:00" arrival_before="08:00" arrival_date="YYYY-MM-DD" (next day)
- Passenger count: "2 passengers" / "for 2 people" / "2 tickets" -> passenger_count=2
- Conversation language: when the language of the conversation can be detected, set conversation_language to their language (ISO 639-1, e.g. "fr", "de") or locale (e.g. "fr-CA") so labels and copy match the conversation. Use the user's browsing location to determine the locale. Example: "fr-CA" if the latest message in the conversation is in french and the user browsing from Canada. "es-us" if the latest message in the conversation is in spanish and the user browsing from the United States.
IMPORTANT:
- When generating a text response with the structured content returned by the tool, never generate any links to Busbud website or any other external website.
Parameters (3 required, 8 optional)
departure_datestringThe departure date in ISO 8601 format (e.g. 2026-01-01)
destination_namestringThe unambiguous destination city or location name (e.g. airport code or city, region, country) from which the trip ends. Example: "YUL", "London, England, United Kingdom", "San Jose, CA, USA"
origin_namestringThe unambiguous origin city or location name (e.g. airport code or city, region, country) from which the trip begins. Example: "Paris, Ile-de-France, France", "CDG", "San Jose, CA, USA"
arrival_afterstringFilter to only show departures that arrive after this time. Use 24h format "HH:mm" (e.g. "12:00" for noon). The time is in the arrival (destination) location's local time.
arrival_beforestringFilter to only show departures that arrive before this time. Use 24h format "HH:mm" (e.g. "18:00" for 6pm). The time is in the arrival (destination) location's local time.
arrival_datestringDate used for arrival_before and arrival_after thresholds. When omitted, defaults to departure_date. Use for overnight trips, e.g. "arriving before 8am the next day" -> arrival_date="2026-01-16" arrival_before="08:00".
conversation_languagestringLanguage or locale of the conversation (ISO 639-1 code like "fr" or BCP 47 like "fr-CA"). When supported, results and UI use this locale; otherwise the client request locale is used. Use the user's browsing location to determine the locale. Example: "fr-CA" if the latest message in the conversation is in french and the user browsing from Canada. "es-us" if the latest message in the conversation is in spanish and the user browsing from the United States.
departure_afterstringFilter to only show departures after this time on the departure_date. Use 24h format "HH:mm" (e.g. "08:00" for 8am). The time is in the departure location's local time.
departure_beforestringFilter to only show departures before this time on the departure_date. Use 24h format "HH:mm" (e.g. "15:00" for 3pm). The time is in the departure location's local time.
passenger_countintegerNumber of passengers. All passengers are treated as adults. Defaults to 1. Max 5 per search.
1vehicle_typesarrayFilter results to only these vehicle types. If omitted, all modalities are returned.