MCP-Server

Gondola Award Travel Search

ai.gondola/gondola
Reisen & Hospitality Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches award travel and compares cash versus points for flights, hotels, and car rentals, with booking support.

book_flight
Book a prepared flight only after the traveler explicitly confirms the exact current quote, total, currency, and consent version. Use the handoff_id and quote_id returned by prepare_flight_booking and a saved payment_id from get_payment_methods. Gondola derives the traveler ID and type and a stable booking request ID; do not invent or retry with different identities. If the outcome is uncertain, retrieve the booking state instead of repeating the mutation.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['handoff_id', 'quote_id', 'expected_total_amount', 'currency', 'consent_version', 'payment_id', 'traveler', 'contact', 'confirm'], 'properties': {'confirm': {'enum': [True], 'type': 'boolean', 'description': 'Must be true after the traveler explicitly confirms the exact displayed quote and terms.'}, 'contact': {'type': 'object', 'required': ['email', 'phone'], 'properties': {'email': {'type': 'string', 'description': 'Traveler contact email.'}, 'phone': {'type': 'string', 'description': 'Traveler contact phone with country code.'}}, 'description': 'Contact details for booking notices and disruption communication.'}, 'currency': {'type': 'string', 'description': 'The three-letter currency shown with the confirmed total, such as USD.'}, 'quote_id': {'type': 'string', 'description': 'The exact current Gondola quote ID returned by prepare_flight_booking.'}, 'traveler': {'type': 'object', 'required': ['given_name', 'family_name', 'born_on', 'gender'], 'properties': {'gender': {'enum': ['female', 'male'], 'type': 'string', 'description': 'Traveler gender accepted by the booking supplier.'}, 'born_on': {'type': 'string', 'description': "Traveler's birth calendar date as YYYY-MM-DD."}, 'given_name': {'type': 'string', 'description': "Traveler's legal given name."}, 'family_name': {'type': 'string', 'description': "Traveler's legal family name."}}, 'description': 'The adult traveler whose identity will be derived by Gondola for this booking.'}, 'handoff_id': {'type': 'string', 'description': 'The Gondola handoff ID returned by prepare_flight_booking.'}, 'payment_id': {'type': 'string', 'description': 'The saved payment method ID returned by get_payment_methods. Never provide card numbers or security codes.'}, 'consent_version': {'type': 'string', 'description': 'The exact consent version returned with the current quote.'}, 'expected_total_amount': {'type': 'number', 'description': 'The exact displayed total amount the traveler confirmed.'}}}
Ausgabeschema
{'type': 'object', 'title': 'book_flightOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
book_hotel
Book a hotel room using a rate from get_hotel_rates. Requires guest details and a saved payment method. Use get_payment_methods to find the payment ID. The gondola_rate_id comes from the room rates returned by get_hotel_rates.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['gondola_rate_id', 'payment_id'], 'properties': {'given_name': {'type': 'string', 'description': "Guest's first name."}, 'payment_id': {'type': 'string', 'description': 'Payment method ID from get_payment_methods.'}, 'family_name': {'type': 'string', 'description': "Guest's last name (minimum 2 characters)."}, 'phone_number': {'type': 'string', 'description': 'Guest\'s phone number with country code (e.g. "+1-555-123-4567").'}, 'email_address': {'type': 'string', 'description': "Guest's email for confirmation."}, 'gondola_rate_id': {'type': 'integer', 'description': 'The rate ID from get_hotel_rates room rates.'}, 'special_request': {'type': 'string', 'description': 'Optional special request (e.g. "high floor", "late check-in").'}, 'travel_profile_id': {'type': 'string', 'description': 'Optional travel profile ID from get_travel_profiles. Prefills any guest details that were not passed explicitly.'}, 'loyalty_account_id': {'type': 'string', 'description': "Optional loyalty account ID to earn points and elite credit on this stay. Use the Account ID from get_loyalty_accounts that matches the booked hotel's chain (e.g. the World of Hyatt account for a Hyatt property)."}}}
Ausgabeschema
{'type': 'object', 'title': 'book_hotelOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
book_vehicle
Book a rental vehicle from a search result. Requires a Gondola account and a saved payment method (use get_payment_methods to find the payment ID). The vendor_code, rate_code, acriss_code, and search_id all come from search_vehicles results.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['search_id', 'vendor_code', 'rate_code', 'acriss_code', 'given_name', 'family_name', 'email_address', 'phone_number', 'payment_id'], 'properties': {'rate_code': {'type': 'string', 'description': 'Rate code of the selected vehicle from search results.'}, 'search_id': {'type': 'string', 'description': 'Search ID from search_vehicles.'}, 'given_name': {'type': 'string', 'description': "Renter's first name."}, 'payment_id': {'type': 'string', 'description': 'Payment method ID from get_payment_methods.'}, 'acriss_code': {'type': 'string', 'description': 'ACRISS vehicle classification code from search results.'}, 'family_name': {'type': 'string', 'description': "Renter's last name."}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results (e.g. "ZE" for Hertz).'}, 'phone_number': {'type': 'string', 'description': 'Renter\'s phone number with country code (e.g. "+1-555-123-4567").'}, 'email_address': {'type': 'string', 'description': "Renter's email for confirmation."}, 'pickup_location': {'type': 'string', 'description': 'Optional pickup airport IATA code of the selected vehicle. Pass through whatever pickup_location the search returned for this vehicle to disambiguate metro fanouts (e.g. JFK vs LGA in NYC).'}, 'loyalty_account_id': {'type': 'string', 'description': 'Optional loyalty account ID to earn points on this rental.'}}}
Ausgabeschema
{'type': 'object', 'title': 'book_vehicleOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
cancel_flight_booking
Preview flight cancellation first with confirm=false or omitted. Show the returned itinerary cancellation scope and exact terms before asking the traveler to confirm. A void preview means Gondola will cancel the itinerary first and only then attempt ticket settlement; the amount returned is not known. To confirm, send the same booking_id plus the preview's cancellation_id, currency, expected_refund_amount, expected_ticket_settlement_method, and expected_ticket_settlement_affected_count with confirm=true, echoing only the terms present in the preview. When the preview has no verified refund amount, leave expected_refund_amount omitted. Itinerary cancellation, ticket settlement, refunds, customer payouts, credits, and Gondola Cash are separate states. If the outcome is uncertain, retrieve the booking or cancellation state instead of repeating the mutation.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'confirm': {'type': 'boolean', 'default': False, 'description': 'Leave false or omit for the required preview. Set true only after the traveler accepts the exact preview terms.'}, 'currency': {'type': 'string', 'description': 'The exact currency from the preview. Required by the handler only when confirm=true.'}, 'booking_id': {'type': 'string', 'description': 'The Gondola flight booking ID to preview or cancel.'}, 'cancellation_id': {'type': 'string', 'description': 'The exact Gondola cancellation ID from the preview. Required by the handler only when confirm=true.'}, 'expected_refund_amount': {'type': 'string', 'description': 'The exact refund amount string from the preview. Required by the handler for confirmation when the preview includes an amount; omit it when the preview amount is unknown.'}, 'expected_ticket_settlement_method': {'enum': ['void'], 'type': 'string', 'description': 'The exact ticket settlement method from the preview. Echo void when the preview advertises ticket settlement; otherwise omit it.'}, 'expected_ticket_settlement_affected_count': {'type': 'integer', 'description': 'The exact affected ticket-document count from the preview. Required with expected_ticket_settlement_method; otherwise omit it.'}}}
Ausgabeschema
{'type': 'object', 'title': 'cancel_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
cancel_vehicle_booking
Cancel an existing vehicle booking by its Gondola booking ID. Use this when a user wants to cancel a rental they previously booked.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'confirm': {'type': 'boolean', 'default': False, 'description': 'Set true only after the user has seen the cancellation terms from the preview call and agreed.'}, 'booking_id': {'type': 'string', 'description': 'The Gondola booking ID (confirmation number) of the vehicle booking.'}}}
Ausgabeschema
{'type': 'object', 'title': 'cancel_vehicle_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
compare_rates
Compare current canonical cash vs points rates side-by-side for one or more hotels. Use this whenever the user is making a cash-vs-points decision — whether focused on a single hotel ("compare cash and points at Park Hyatt Tokyo") or weighing top picks against each other ("which of these is the best points redemption?"). Pass an array of one to five hotel_ids resolved from search_hotels. Returns current cash rate, points rate, CPP valuation, and deal scores per hotel; a hotel whose current pricing has not loaded is labeled unconfirmed, not unavailable.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_ids', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_ids': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Array of one to five hotel IDs to compare. A single-element array is valid when the user is focused on one hotel. Get these from search_hotels results.'}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Ausgabeschema
{'type': 'object', 'title': 'compare_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
create_rate_alert
Create a rate alert to monitor a hotel for price drops. The user will be notified by email when the rate drops. Optionally specify dates, or leave them out to monitor any two-night stay.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'checkin': {'type': 'string', 'description': 'Optional check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Optional check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (from search results)."}}}
Ausgabeschema
{'type': 'object', 'title': 'create_rate_alertOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
credit_card_coverage
Look up rental car CDW/LDW (collision damage waiver / loss damage waiver) coverage provided by a credit card. Useful before booking — tells the user whether they can decline the rental company's expensive insurance. Provide EITHER credit_card_product_name (exact card match) OR card_number_bin + card_provider (network-tier-based lookup).
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'card_provider': {'type': 'string', 'description': 'Card network: "visa", "mastercard", "amex", or "discover". Required with card_number_bin.'}, 'card_number_bin': {'type': 'string', 'description': "First 6-8 digits of the card number (BIN). Used with card_provider for network-tier-based lookup when the exact product name isn't known."}, 'credit_card_product_name': {'type': 'string', 'description': 'Exact card product name (e.g. "Chase Sapphire Preferred", "American Express Platinum"). Preferred when known.'}}}
Ausgabeschema
{'type': 'object', 'title': 'credit_card_coverageOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
delete_rate_alert
Delete a rate alert to stop monitoring a hotel for price drops.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['alert_id'], 'properties': {'alert_id': {'type': 'integer', 'description': 'The rate alert ID to delete (from get_rate_alerts).'}}}
Ausgabeschema
{'type': 'object', 'title': 'delete_rate_alertOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
diagnose_rates
Diagnose rate availability and per-supplier statuses for a specific hotel. Use this when a power user asks why certain rates aren't showing (e.g. "why is there no AAA rate?" or "is this hotel mapped to Travelport?"). Returns per-source status and a full breakdown of every rate by type. Diagnostic — not for casual recommendations.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'rate_sources': {'type': 'string', 'description': 'Optional comma-separated list of rate sources to check (e.g. "travelport", "direct,travelport"). Omit to check all sources.'}}}
Ausgabeschema
{'type': 'object', 'title': 'diagnose_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_booking
Get details for a hotel booking made through Gondola, using the Gondola booking ID shown as "Gondola booking" by get_upcoming_trips and get_past_trips. Returns hotel name, dates, room type, rate, status, and cancellation policy. A hotel or airline confirmation number will not resolve. Reservations Gondola imported from email have no Gondola booking ID; get_upcoming_trips and get_past_trips already return their full detail, so answer from those instead of calling this.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID, as shown by get_upcoming_trips or get_past_trips. Not a hotel or provider confirmation number.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_booking_link
Get a booking link for a hotel on Gondola. Use this when a user wants to book a specific hotel. Returns a URL to the hotel's booking page with dates pre-filled. Pass gondola_rate_id when a specific rate is known so the link deep-links straight to that rate's checkout page.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'gondola_rate_id': {'type': 'integer', 'description': "Optional rate ID from get_hotel_rates or compare_rates. When provided, the link deep-links straight to that rate's checkout page instead of the generic hotel page."}}}
Ausgabeschema
{'type': 'object', 'title': 'get_booking_linkOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_favorite_hotels
Get the hotels the user has saved as favorites in Gondola, newest first. Use this when the user asks about their favorite or saved hotels, or to ground recommendations in places they already like. Returns each hotel's name, hotel_id, chain, address, and the date it was saved. Pass the returned hotel_id to get_hotel_details or get_hotel_rates. When more favorites exist, the result includes a cursor; pass it back to fetch the next page.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Favorite hotels per page.'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous get_favorite_hotels result, used to fetch the next page.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_favorite_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_flight_booking
Get the current owner-scoped state of a Gondola flight booking, including booking, payment, ticketing, action-required, cancellation, ticket settlement, refund-review, failure, and chronology state. Ticket settlement is separate from refunds, customer payouts, credits, and Gondola Cash. Use this after book_flight or when a booking mutation had an uncertain outcome; retrieving status does not repeat the booking.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola flight booking ID returned by book_flight, not an airline confirmation number.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_flight_credits
Get the user's active airline flight credits, eCredits, travel funds, vouchers, and travel-bank balances. Returns the airline, remaining usable amount, currency, credit type, and expiration date when known. Use this whenever the user asks whether they have unused airline money, credits from cancelled flights, or travel vouchers. Credit numbers and confirmation numbers are deliberately not exposed.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_flight_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_flight_points
Collect award (miles/points) pricing for a flight search that reported pending_sources. Call this after search_flights when you set points: true and the response came back with pending_sources — those are the loyalty programs still being scraped. Returns per-program results: cash itineraries paired with their award price and cents-per-point, plus award-only itineraries the cash search did not surface. A program reporting "timeout" has no answer yet and can be asked again; "no_results" means that program genuinely has no award availability on this route.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['search_id', 'departure_date'], 'properties': {'search_id': {'type': 'string', 'description': 'The search_id returned by the search_flights call.'}, 'departure_date': {'type': 'string', 'description': 'The departure date of that search, YYYY-MM-DD. The same value you passed to search_flights.'}, 'pending_sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The pending_sources from that search_flights response, passed back unchanged. Without it every supported program is polled, including ones that were never searched.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_flight_pointsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_free_night_credits
Get the user's free night certificates — the award nights earned from credit cards and elite status, such as a Marriott Free Night Award, a World of Hyatt free night, a Hilton free night reward, an IHG reward night, or a Wyndham Go Free night. Returns each certificate's program, how many remain, what it covers (a points ceiling, a hotel category range, or any standard room), when it expires, and whether a points top-up is allowed. These are distinct from points balances — a user can hold zero points and still have a certificate — so use this rather than get_loyalty_accounts whenever the user asks about certificates, free nights, or award nights (e.g. "do I have any free night certs?", "when does my Bonvoy free night expire?"). Certificates expire unused, so surface a near expiration proactively. This tool does not evaluate whether a particular hotel falls under a certificate's ceiling; don't infer coverage for a specific property from the cap.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_free_night_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_hotel_details
Get stored property information for a specific hotel: address, chain and brand, property type, star and guest ratings, all-inclusive and adults-only flags, themes, description, check-in and check-out times and instructions, amenities, photo links, room types with beds, size, max adults, and views, policies, and fees. Content only, with no dates or availability. Long lists are capped and end with a '+N more' count, so an amenity missing here may still exist. Use this after search_hotels when the traveler wants to learn more about a property; use get_hotel_rates for prices.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (returned by search_hotels)."}}}
Ausgabeschema
{'type': 'object', 'title': 'get_hotel_detailsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_hotel_rates
Get live room rates for one hotel and stay window. Rooms are grouped by type (up to 12 shown) with up to three rates each: the cheapest non-refundable, cheapest refundable, and cheapest points award, with nightly and total price, meaningful supplier offer name when available, cancellation terms, points earned, and the rate_id that get_booking_link and book_hotel accept as gondola_rate_id. Other rate variants are collapsed into a count. Only rates Gondola can book itself (direct and GDS sources) are shown; rooms with rates from other suppliers only are omitted. Rates arrive from several sources, so a result may say rates are still loading; call again in a few seconds before concluding a room, points rate, or non-refundable rate is unavailable. Past stay dates return a notice instead of rates. Use this after search_hotels when the traveler wants availability or booking options.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (returned by search_hotels)."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_hotel_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_hotel_reviews
Get guest reviews for a specific hotel. Use this to help a user understand what other guests thought about a property — common complaints, recurring praise, recent service issues. Returns up to 10 recent reviews with ratings and comments.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID (from search_hotels results)."}}}
Ausgabeschema
{'type': 'object', 'title': 'get_hotel_reviewsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_hotel_stats
Get pricing percentile context for a specific hotel. Returns where the current rate falls relative to the property's typical pricing (e.g. "this rate is in the 20th percentile — cheaper than 80% of historical observations"). Use this to add objective context to recommendations.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'nightly_cash_cost', 'nightly_cash_cost_currency'], 'properties': {'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'nightly_cash_cost': {'type': 'number', 'description': 'The current all-in nightly cash rate from search_hotels (stay total, including included taxes and fees, divided by nights).'}, 'nightly_points_cost': {'type': 'integer', 'description': 'Optional current nightly points rate to additionally score.'}, 'nightly_cash_cost_currency': {'type': 'string', 'description': 'Currency of the cash cost (e.g. "USD").'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_hotel_statsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_loyalty_accounts
Get the user's loyalty program memberships and current point balances. Use this to personalize recommendations (e.g. "with 120k Bonvoy points, this Sheraton is a great points redemption") and to suggest portfolio optimizations. This covers points balances and elite tiers only — free night certificates are tracked separately and are NOT returned here; use get_free_night_credits for those.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_loyalty_accountsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_multi_night_rates
Get cached, partial rate observations for a hotel over a flexible date range. Use this for seasonality shape and to shortlist candidate check-in dates (e.g. "any week in May"), never to prove a missing date is unavailable. `nights` is the exact stay length and `end_date` is the latest checkout, not the latest check-in. Coverage is especially sparse far in the future. Confirm every selected exact stay with get_hotel_rates before stating availability or a bookable price.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'start_date', 'end_date'], 'properties': {'nights': {'type': 'integer', 'default': 1, 'description': 'Number of nights for each candidate stay.'}, 'end_date': {'type': 'string', 'description': 'Latest check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'start_date': {'type': 'string', 'description': 'Earliest check-in date in YYYY-MM-DD format.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_multi_night_ratesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_past_trips
Get the user's past hotel stays and flights. Use this to answer travel-history questions and make recommendations grounded in behavior (e.g. "you loved the Park Hyatt last year", "you've flown United six times this year", "what seats have I taken before?", or "what is my favorite airplane seat?"). Returns past hotels and flights with dates, confirmation numbers, status, costs, loyalty programs, routes, airlines, ticket class, miles redeemed, and historical flight seat assignments when Gondola parsed real row+letter seats from airline emails. Opens with a Patterns block summarising the WHOLE history (aisle/window/middle seat mix, airline share, top routes, hotel chains, recorded spend), then one page of individual reservations newest first. For favorite-seat, aisle/window, side-of-plane, seat-letter, or preferred-row questions, read the Patterns block rather than tallying rows yourself, and do not say seat data is unavailable until this tool has been checked. Pass page=2, 3, ... to walk further back through the reservation list.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '1-based page of past reservations, newest first. Increment to walk further back through the history.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Reservations per page. The Patterns block always covers the whole history regardless of this value.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_past_tripsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_payment_methods
List the user's saved payment methods for booking. Returns saved credit/debit cards with their payment IDs, needed for the book_hotel tool.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_payment_methodsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_rate_alerts
Get all active rate alerts for the current user. Returns which hotels the user is monitoring for price drops.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_rate_alertsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_similar_hotels
Find hotels similar to a given hotel. Use this for branching exploration after a search (e.g. user likes the Park Hyatt Tokyo but wants a cheaper alternative — find similar properties). Pass destination when the alternatives should be in a different city. Returns properties matched by hotel attributes and amenities, with current rates.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The seed hotel's Vervotech property ID."}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}, 'destination': {'type': 'string', 'description': 'Optional destination city or place for cross-city alternatives.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_similar_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_suggested_searches
Get personalized travel suggestions and trip inspiration for the current user. Returns curated hotel recommendations grounded in the user's preferences, recent searches, popular destinations, and upcoming holidays. Great for open-ended prompts like "where should I go?" or "any trip ideas for next month?".
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_suggested_searchesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_suite_upgrade_credits
Get the user's active suite upgrade awards and certificates across loyalty programs. Returns the program, award type, remaining count, and expiration date. Use this whenever the user asks about suite upgrades, Nightly Upgrade Awards, Suite Upgrade Awards, Confirmable Upgrade Rewards, or IHG suite upgrades. These awards are separate from free-night certificates and points balances.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_suite_upgrade_creditsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_traveler_context
Get the user's saved travel context: loyalty programs and elite tiers, home airport, preferred airlines and cabin, preferred hotel chains, typical trip patterns (business vs leisure, budgets, frequent destinations), plus any preferences they've stated or that have been learned from past conversations. Call this once at the start of a travel or planning session and weigh it when recommending hotels, flights, or cars — it is the single best source of who this traveler is. For raw evidence from actual past reservations, routes, hotels, airlines, or flight seats, use get_past_trips.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_traveler_contextOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_travel_profiles
Get the user's saved travel profiles — guest name, email, and phone presets. Each profile has a selectable ID you can pass to book_hotel as travel_profile_id to prefill the guest details, mirroring the website checkout where the user picks a saved traveler instead of typing each field. Use this before booking so you can offer "book as <traveler>" in one step.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_travel_profilesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_upcoming_trips
Get the user's upcoming hotel, flight, and rental car reservations. Use this to ground recommendations in real plans (e.g. "your Tokyo trip is May 15-20, want me to find restaurants?"), check upcoming confirmation numbers, or answer what flights/cars/hotels are already booked. Returns dates, confirmation numbers, status, costs/rates, loyalty programs and earnings, savings/AutoSave signals, flight segment details, ticket class, miles redeemed, refundability/cancellation timing, and seat assignments when Gondola has parsed real row+letter seats from airline emails.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_upcoming_tripsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_vehicle_booking
Get details for a specific vehicle booking by its Gondola booking ID. Returns vendor, pickup/dropoff locations and times, vehicle class, rate, and status. Use when a user asks about a rental they've already booked (e.g. "what time is my pickup?", "where do I pick up my Hertz rental?").
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID, as shown by get_upcoming_trips or get_past_trips. Not a rental confirmation number from the vendor.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_vehicle_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_vehicle_booking_coverage
Get the rental car CDW/LDW coverage that was stored at booking time for a specific vehicle booking. Use this after a booking to remind the user what coverage their card provides on this rental.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'The Gondola booking ID of the vehicle booking.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_vehicle_booking_coverageOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_vehicle_booking_link
Get a Gondola.ai deep link for a specific vehicle from search results. Use this to share a booking page URL the user can complete on the web, or as a fallback when in-conversation booking via book_vehicle is unavailable. Returns a Gondola checkout link for the selected vehicle; the traveler completes the reservation there. In-conversation booking via book_vehicle is partner-only.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['search_id', 'vendor_code', 'rate_code', 'pickup_datetime', 'dropoff_datetime'], 'properties': {'rate_code': {'type': 'string', 'description': 'Rate code of the selected vehicle.'}, 'search_id': {'type': 'string', 'description': 'Search ID from search_vehicles.'}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results.'}, 'pickup_datetime': {'type': 'string', 'description': 'Pickup date and time in ISO format (e.g. "2025-03-15T10:00:00").'}, 'dropoff_datetime': {'type': 'string', 'description': 'Drop-off date and time in ISO format (e.g. "2025-03-20T10:00:00").'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_vehicle_booking_linkOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_vehicle_details
Get detailed information about a specific rental vehicle option. Use this after search_vehicles to get extras, insurance options, charges, and cancellation policy for the vehicle the user wants to book.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['vendor_code', 'rate_code', 'search_id'], 'properties': {'desk_kind': {'type': 'string', 'description': 'Desk classification from the selected vehicle result, when present.'}, 'rate_code': {'type': 'string', 'description': 'Rate code from search results.'}, 'search_id': {'type': 'string', 'description': 'Search ID from the vehicle search results.'}, 'acriss_code': {'type': 'string', 'description': 'ACRISS code from the selected vehicle result; pass it through to disambiguate classes.'}, 'vendor_code': {'type': 'string', 'description': 'Vendor code from search results (e.g. "ZE" for Hertz, "AL" for Alamo).'}, 'pickup_location': {'type': 'string', 'description': 'Pickup location from the selected vehicle result; pass it through for metro searches.'}, 'vendor_location_id': {'type': 'string', 'description': 'Vendor desk identifier from the selected vehicle result, when present.'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_vehicle_detailsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
optimize_loyalty_portfolio
Analyze the user's entire loyalty portfolio and surface the highest-value actions: points expiring soon (ranked by value at risk), the best transfer opportunities from their transferable card currencies (Amex, Chase, Bilt, etc.) into hotel programs, and their largest balances. Takes no arguments — it works across the whole portfolio, not a single trip. Use this when the user asks how to make the most of their points, what's expiring, or where they can transfer. To choose where to book a SPECIFIC trip, use search_hotels / compare_rates instead.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'optimize_loyalty_portfolioOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
predict_price
Predict whether the current rate at a hotel is a good deal based on historical price trends. Use this when the user is debating booking now vs. waiting. Returns a confidence-scored label (e.g. "book now", "wait", "prices typically rise") with supporting signals and price history.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['hotel_id', 'checkin', 'checkout', 'nightly_cash_cost', 'nightly_cash_cost_currency'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'hotel_id': {'type': 'integer', 'description': "The hotel's Vervotech property ID."}, 'nightly_cash_cost': {'type': 'number', 'description': 'The current all-in nightly cash rate from search_hotels (stay total, including included taxes and fees, divided by nights).'}, 'nightly_points_cost': {'type': 'integer', 'description': 'Optional current nightly points rate.'}, 'nightly_cash_cost_currency': {'type': 'string', 'description': 'Currency of the cash cost (e.g. "USD", "EUR").'}}}
Ausgabeschema
{'type': 'object', 'title': 'predict_priceOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
prepare_flight_booking
Prepare a flight for booking from a signed selection_token that comes only from an eligible search_flights row. Search re-shops the selected itinerary instead of trusting a provider-native offer, then returns its current internal booking or referral capability, including any reconfirmation or unavailable state. This call does not book or charge the traveler.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['selection_token'], 'properties': {'selection_token': {'type': 'string', 'description': 'The opaque signed selection token from an eligible search_flights result row. Pass it unchanged; do not construct or modify it from flight details or a provider offer ID.'}}}
Ausgabeschema
{'type': 'object', 'title': 'prepare_flight_bookingOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_events
Search for live events by artist, team, show, or event name. Returns factual event discovery details in provider order, including dates, venue, status, optional approximate listed price range, and the canonical event page. Prices are provider-supplied discovery metadata, not live offers. Use page=0 first and increment page when more results are available. An artist keyword is resolved to that performer and the search is pinned to them, so tribute and club nights that borrow a famous name do not crowd out real tour dates. Many place and word names are also band names (Boston, Chicago, Kansas), so if the response names a performer the user did not mean, search again with match_artist=false rather than concluding nothing is happening. When the resolved performer is the one intended and no events are listed, they have no dates matching that search: do not present namesake events as theirs. When price_precision is "rank_only" the provider withheld amounts but the ordering is exact, so cite the rank against price_ranked_total ("5th cheapest of 9") and link to the event page for the current price. Never state, estimate, or infer a dollar amount in that case.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['keyword'], 'properties': {'page': {'type': 'integer', 'default': 0, 'minimum': 0}, 'sort': {'enum': ['relevance', 'date', 'distance', 'price'], 'type': 'string', 'default': 'relevance', 'description': 'Use "price" for any cheapest-first or budget question. It orders events by their cheapest listing exactly, and each event carries price_rank against price_ranked_total. It is served by a single provider that does no performer resolution, so match_artist has no effect with this sort, and combining it with attraction_id or include_unavailable is rejected rather than silently ignored.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'radius': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'keyword': {'type': 'string', 'description': 'Artist, team, show, or event name.'}, 'end_date': {'type': 'string', 'description': 'Latest local event date, YYYY-MM-DD.'}, 'location': {'type': 'string', 'description': 'Optional city, region, postal code, or natural-language location.'}, 'max_price': {'type': 'number', 'description': 'Only return events whose cheapest listing is at or below this amount. Requires sort=price, because only the price-ordering provider can filter on price; sending it with any other sort is rejected rather than silently ignored. There is no matching minimum: a price floor is not supported and must not be simulated.', 'exclusiveMinimum': 0}, 'start_date': {'type': 'string', 'description': 'Earliest local event date, YYYY-MM-DD.'}, 'radius_unit': {'enum': ['miles', 'km'], 'type': 'string', 'default': 'miles'}, 'match_artist': {'type': 'boolean', 'default': True, 'nullable': True, 'description': 'Resolve keyword to a canonical performer before searching. Set false for keywords that are not a performer, such as a genre, venue, or festival name.'}, 'attraction_id': {'type': 'string', 'description': 'Optional provider performer id. Pins results to that performer exactly.'}, 'classification': {'type': 'string', 'description': 'Optional segment, genre, or subgenre.'}, 'include_unavailable': {'type': 'boolean', 'default': False, 'description': 'Include cancelled and postponed events, excluded by default. Off-sale events are always returned, since they are real dates that are sold out or not yet on sale.'}}}
Ausgabeschema
{'type': 'object', 'title': 'search_eventsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_flights
Search for flights by route and date. Returns cash-priced options ranked for the traveler — weighing their airline loyalty/status and travel history alongside flight quality, not price alone — 10 options per page. Results are discovery-only and cannot be booked through Gondola. Call again with page=2, 3, ... to see more options if none of the first page fit. When you asked for points and the response comes back with pending_sources, award pricing is still being fetched: call get_flight_points with the same search_id and departure_date, passing those pending_sources back, to get it.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['origin', 'destination', 'departure_date'], 'properties': {'page': {'type': 'integer', 'default': 1, 'description': '1-based results page, 10 options per page. Increment to see more options.'}, 'origin': {'type': 'string', 'description': 'Origin airport code or city (e.g. "LAX", "SFO", "New York").'}, 'points': {'type': 'boolean', 'default': False, 'description': 'Set true when the traveler asks about award pricing, miles, points, redeeming rewards, award availability, or comparing cash vs. points â\x80\x94 including phrases like "include points", "show me miles", "how many points", or "use my [program] miles". Default false. When true, award prices arrive on a follow-up call to get_flight_points (not in this response), so you MUST call get_flight_points after this returns. One-way flights only.'}, 'airlines': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional airline codes or names, e.g. ["UA"] or ["United"]. Filters the discovery results.'}, 'max_stops': {'type': 'integer', 'minimum': 0, 'description': 'Optional maximum stops per direction. Use 0 for nonstop only.'}, 'cabin_class': {'type': 'string', 'description': 'Optional cabin class: "economy", "premium economy", "business", "first".'}, 'destination': {'type': 'string', 'description': 'Destination airport code or city (e.g. "NRT", "LHR", "Paris").'}, 'return_date': {'type': 'string', 'description': "Optional return date in YYYY-MM-DD format for a round trip. Read the labels on the results: a price marked 'round trip' already covers both directions, while results split into separate outbound and return sections are one-way prices whose sum overstates the real round-trip fare."}, 'departure_date': {'type': 'string', 'description': 'Departure date in YYYY-MM-DD format.'}, 'num_passengers': {'type': 'integer', 'default': 1, 'description': 'Number of passengers.'}}}
Ausgabeschema
{'type': 'object', 'title': 'search_flightsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_hotels
Search for hotels by location and dates. Returns a list of matching hotels with cash and points rates and deal scores. To produce a focused cash-vs-points decision widget for a hotel the user is considering — for one or several top picks — follow up with compare_rates rather than narrating rates from search results. This tool searches one fixed stay window. If the user asks for a flexible window (for example, 2 nights between September 8 and 22), either ask which check-in date they prefer or pick one concrete window and explicitly tell the user why you chose it; do not silently default to the earliest possible dates. When the user wants date options, use get_multi_night_rates on the top hotel_ids for cached seasonality samples, then confirm selected exact dates with get_hotel_rates.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['location', 'checkin', 'checkout'], 'properties': {'checkin': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format.'}, 'checkout': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format.'}, 'location': {'type': 'string', 'description': 'City name, address, or area (e.g. "Tokyo", "Manhattan, New York", "near LAX airport").'}, 'chain_name': {'type': 'string', 'description': 'Optional hotel chain filter (e.g. "marriott", "hilton", "hyatt", "ihg"). Case-insensitive substring match against each result\'s chain. If no result matches, the unfiltered results are returned with an explicit note in the summary so you don\'t keep retrying with different chain values.'}, 'hotel_name': {'type': 'string', 'description': 'Optional hotel name to boost to the top of results (e.g. "Conrad Las Vegas", "Park Hyatt Tokyo"). Use this when the user names a specific hotel â\x80\x94 the matching property will be ranked first so you can pass its hotel_id to compare_rates without guessing. Case-insensitive substring match against the property name. Boosting (rather than filtering) preserves nearby alternatives the user may want to see.'}, 'num_adults': {'type': 'integer', 'default': 2, 'description': 'Number of adult guests.'}}}
Ausgabeschema
{'type': 'object', 'title': 'search_hotelsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_vehicles
Search for rental vehicles at an airport or city. Returns available cars sorted by price with vendor, class, and rate details.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['pickup_location', 'pickup_datetime', 'dropoff_datetime'], 'properties': {'pickup_query': {'type': 'string', 'description': 'Optional free-text pickup location: airport IATA, metro IATA, city, address, point of interest, or "lat,lon". When present, this takes precedence over pickup_location and includes both airport and city-desk inventory. Keep pickup_location populated as a compatible airport, metro, or city value.'}, 'dropoff_query': {'type': 'string', 'description': 'Optional free-text drop-off location for a one-way rental, using the same formats as pickup_query. Omit for a round trip returning to the pickup location.'}, 'vehicle_class': {'enum': ['Economy', 'Compact', 'Standard', 'FullSize', 'Premium', 'Luxury', 'SUV', 'Van'], 'type': 'string', 'description': 'Optional vehicle class preference: Economy, Compact, Standard, FullSize, Premium, Luxury, SUV, Van.'}, 'pickup_datetime': {'type': 'string', 'description': 'Pickup date and time in ISO format (e.g. "2025-03-15T10:00:00").'}, 'pickup_location': {'type': 'string', 'description': 'Airport IATA code (e.g. "LAX", "JFK", "SFO").'}, 'dropoff_datetime': {'type': 'string', 'description': 'Drop-off date and time in ISO format (e.g. "2025-03-20T10:00:00").'}}}
Ausgabeschema
{'type': 'object', 'title': 'search_vehiclesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Entfernt
update_traveler_profile
1. October 2026 02:51
Geändert
search_vehicles
1. October 2026 02:51
Geändert
search_hotels
1. October 2026 02:51
Geändert
search_flights
1. October 2026 02:51
Geändert
search_events
1. October 2026 02:51
Geändert
prepare_flight_booking
1. October 2026 02:51
Geändert
predict_price
1. October 2026 02:51
Geändert
optimize_loyalty_portfolio
1. October 2026 02:51
Geändert
get_vehicle_details
1. October 2026 02:51
Geändert
get_vehicle_booking_link
1. October 2026 02:51
Geändert
get_vehicle_booking_coverage
1. October 2026 02:51
Geändert
get_vehicle_booking
1. October 2026 02:51
Geändert
get_upcoming_trips
1. October 2026 02:51
Geändert
get_traveler_context
1. October 2026 02:51
Geändert
get_travel_profiles
1. October 2026 02:51
Geändert
get_suite_upgrade_credits
1. October 2026 02:51
Geändert
get_suggested_searches
1. October 2026 02:51
Geändert
get_similar_hotels
1. October 2026 02:51
Geändert
get_rate_alerts
1. October 2026 02:51
Geändert
get_payment_methods
1. October 2026 02:51
Geändert
get_past_trips
1. October 2026 02:51
Geändert
get_multi_night_rates
1. October 2026 02:51
Geändert
get_loyalty_accounts
1. October 2026 02:51
Geändert
get_hotel_stats
1. October 2026 02:51
Geändert
get_hotel_reviews
1. October 2026 02:51
Geändert
get_hotel_rates
1. October 2026 02:51
Geändert
get_hotel_details
1. October 2026 02:51
Geändert
get_free_night_credits
1. October 2026 02:51
Geändert
get_flight_points
1. October 2026 02:51
Geändert
get_flight_credits
1. October 2026 02:51