book_hotel
Complete a hotel booking by providing a rate ID and payment method. Optionally include guest details, travel profile, or loyalty account.
Instructions
Book a hotel room using a rate from get_hotel_details.
Requires a Gondola account (API key) and a saved payment method.
Use get_payment_methods to find your payment ID.
The gondola_rate_id comes from the room rates returned by get_hotel_details —
each room option has a rate ID you can use here.
Guest details (given_name, family_name, email_address, phone_number) can either be
passed directly or prefilled from a saved travel profile: pass travel_profile_id
(from get_travel_profiles) to book "as <traveler>" without collecting each field.
Any field you also pass explicitly overrides the profile.
To earn points and elite credit, pass loyalty_account_id — use the Member Number from
get_loyalty_accounts that matches the hotel's chain (e.g. the World of Hyatt account
for a Hyatt property). When a loyalty_account_id is passed, the booking goes out under
the email registered to that membership (overriding any travel profile or email_address),
so the stay credits to the right account.
Args:
gondola_rate_id: The rate ID from get_hotel_details room rates.
payment_id: Payment method ID from get_payment_methods.
given_name: Guest's first name (optional if travel_profile_id is provided).
family_name: Guest's last name (optional if travel_profile_id is provided).
email_address: Guest's email for confirmation (optional if travel_profile_id is provided).
phone_number: Guest's phone number with country code (optional if travel_profile_id is provided).
special_request: Optional special request for the hotel (e.g. "high floor", "late check-in").
loyalty_account_id: Optional Member Number (from get_loyalty_accounts) to earn points.
travel_profile_id: Optional travel profile ID (from get_travel_profiles) to prefill guest details.
Returns:
Booking confirmation with ID and details, or an error message.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| given_name | No | ||
| payment_id | Yes | ||
| family_name | No | ||
| phone_number | No | ||
| email_address | No | ||
| gondola_rate_id | Yes | ||
| special_request | No | ||
| travel_profile_id | No | ||
| loyalty_account_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |