Tools / Travel Booking
Travel Booking icon

Travel Booking

Book, manage & cancel real flights

Convert flight search results into confirmed bookings and manage the full lifecycle: status checks, cancellations with refund quotes, and payment for held orders. Works alongside flight-search: find offers, then book here.

5 skillsv0.04
Book Flight

Book a flight from search results. Creates a booking and returns a payment link for the customer to complete the purchase with their card. The flight is held until payment is received. If the airline requires immediate payment, charges the platform balance instead.

Returns: Booking confirmation with order ID, booking reference, airline, ticket details, total charged, and cancellation deadline
Parameters
offer_id *stringFlight offer ID from flight-search results (starts with 'off_')
passengers *arrayPassenger details: id (from search), given_name, family_name, title, gender, born_on, email, phone_number. Add identity_documents for international.
payment_typestringPayment method — balance uses the platform's pre-funded account
Example
Book a one-way flight for one adult passenger
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "travel-booking",
  "skill": "book_flight",
  "input": {
    "offer_id": "off_0000AEdHh0OlkSORal",
    "passengers": [
      {
        "id": "pas_0000AEdHh0OlkSORam",
        "given_name": "Amelia",
        "family_name": "Earhart",
        "title": "ms",
        "gender": "f",
        "born_on": "1990-07-24",
        "email": "amelia@example.com",
        "phone_number": "+442080160509"
      }
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Booking Details

Check the status of an existing flight booking. Returns booking reference, airline, route, dates, passengers, payment status, available actions, and ticket numbers.

Returns: Full booking details including reference, airline, route, dates, passengers, payment status, tickets, and available actions
Parameters
order_id *stringBooking order ID (starts with 'ord_')
Example
Check the status of a booking
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "travel-booking",
  "skill": "get_booking",
  "input": {
    "order_id": "ord_0000AEdHh0OlkSORal"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
List Bookings

List recent flight bookings. Returns a summary of each booking with order ID, booking reference, airline, route, dates, status, and total amount.

Returns: List of recent bookings with order ID, booking reference, airline, route, dates, status, and total amount
Parameters
limitnumberNumber of bookings to return (1-50)
Example
List the 10 most recent bookings
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "travel-booking",
  "skill": "list_bookings",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
Cancel Booking

Cancel a flight booking and get refund information. When confirm is false (default), returns a refund quote without cancelling. When confirm is true, executes the cancellation with the airline and processes the refund.

Returns: Refund quote (when confirm is false) or cancellation confirmation with refund details (when confirm is true)
Parameters
order_id *stringBooking order ID to cancel (starts with 'ord_')
confirmbooleanSet to true to confirm the cancellation. When false, returns refund quote only without cancelling.
Example
Get a refund quote for a booking (does not cancel)
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "travel-booking",
  "skill": "cancel_booking",
  "input": {
    "order_id": "ord_0000AEdHh0OlkSORal"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Pay Held Booking

Pay for a booking that was held without payment. Fetches the current order total and submits payment. Only works for orders that have not yet been paid.

Returns: Payment confirmation with payment ID, amount paid, and currency
Parameters
order_id *stringOrder ID of the held booking (starts with 'ord_')
Example
Pay for a held booking
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "travel-booking",
  "skill": "pay_held_booking",
  "input": {
    "order_id": "ord_0000AEdHh0OlkSORal"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Loading reviews...
Loading activity...
v0.042026-03-22
  • Added subtitle, expanded description, and agent instructions
v0.032026-03-20
  • Return checkout_url for held bookings — customers pay via card on the website
v0.022026-03-20
  • Hold bookings without payment when airline allows, fall back to instant payment
  • Require title and gender fields for Duffel API compatibility
v0.012026-03-20
  • Initial release with flight booking, order management, cancellations, and payment

Quick Start

MCP (Claude Code)
claude mcp add --transport stdio \
  --env TOOLROUTER_API_KEY=YOUR_API_KEY \
  toolrouter -- npx -y toolrouter-mcp
REST API
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{"tool":"travel-booking","skill":"book_flight","input":{}}' \
  https://api.toolrouter.com/v1/tools/call

Use Cases

Open Book Complete Travel Packages

Book Complete Travel Packages

Book flights, hotels, and transfers as a coordinated package for seamless travel planning.

Travel Booking icon
Travel Booking
4 agent guides
Open Plan Multi-Destination Trips

Plan Multi-Destination Trips

Coordinate flights across multiple destinations for complex travel itineraries with optimal routing.

Travel Booking icon
Travel Booking
4 agent guides
Open Search Papers by Topic

Search Papers by Topic

Find relevant academic papers on any research topic across millions of scholarly publications.

Academic Research icon
Academic Research
4 agent guides
Open Geocode Addresses to Coordinates

Geocode Addresses to Coordinates

Convert street addresses into precise latitude and longitude coordinates for mapping and spatial analysis.

Address Geocoding icon
Address Geocoding
4 agent guides
View all use cases for Travel Booking

Frequently Asked Questions

What do I need to book a flight?

Start with a flight offer ID, then pass the passenger details the airline needs, such as name, title, gender, birth date, email, and phone number. International trips may also need identity documents.

What happens if a booking is held instead of confirmed?

If the order is held, you get a checkout URL to complete payment later. You can also use `pay_held_booking` to finish payment on an existing held order.

Can I check booking status after I place it?

Yes. `get_booking` returns the booking reference, route, passenger details, payment status, ticket numbers, and available actions.

Can I see a refund quote before cancelling?

Yes. `cancel_booking` supports `confirm: false`, which gives you a refund quote without cancelling. Set `confirm: true` only when you want to complete the cancellation.