agent-travel-tools
v1.1.0
Published
AI SDK tools for searching flights and managing bookings via the Agent Travel Tools API.
Maintainers
Readme
Agent Travel Tools for Vercel AI SDK
Agent Travel Tool is a set of tools for building agents capable of travel management, including flights (from search to payment) and hotel bookings (coming soon).
Installation
npm install agent-travel-toolsUsage
import { flightsTools } from "agent-travel-tools";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai"; // Example provider
const result = await generateText({
model: openai("gpt-4o"),
tools: flightsTools({
// Set `testMode` to true to use the Agent Travel Tools test API, which can
// be used to test the tools during development without incurring costs.
// In test mode, payment completion can be simulated using a test card 4242 4242 4242 4242.
// Once you are ready to deploy your agent to production, set `testMode` to false.
testMode: true
}),
prompt: "Find flights from LHR to JFK for tomorrow",
});Tools
The flightsTools function accepts an optional configuration object:
testMode(boolean, optional): Set totrueto use the test API environment. This allows you to test the tools without incurring real costs or making actual bookings. Defaults tofalse.
The function returns the following tools:
searchFlights
Search for available flight offers between an origin and destination.
Parameters:
origin(string): The 3-letter IATA code for the origin airport (e.g., 'LHR').destination(string): The 3-letter IATA code for the destination airport (e.g., 'JFK').departure_date(string): The departure date in YYYY-MM-DD format.passengers(array): List of passengers with their type (adult, child, infant_without_seat).cabin_class(string, optional): The cabin class preference (economy, premium_economy, business, first).
createBooking
Create a booking for a selected flight offer.
Parameters:
offer_id(string): The encrypted offer ID from the search response.passengers(array): Details for each passenger (id, name, dob, gender, email, phone, title).
checkPaymentStatus
Check if payment has been completed for a booking. Call this AFTER the user indicates they have completed payment at the provided payment URL.
Parameters:
booking_id(string): The booking ID to check payment status for.
