MAQAMI Travel

io.github.negm17111995Published by GitHub account negm17111995v1.0.9Updated Oct 24, 2026

Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels.

The publisher's own server: travel.art

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

Official MAQAMI travel server: search live hotel and flight rates, hold a price, and hand the customer a checkout link on book.maqami.co.

What you can do
  • Search hotels and flights: live rates, availability, cheapest-rate comparisons and flight offers with pricing
  • Read hotel and travel reference data: hotel details, reviews, amenities, photos, cities, countries, currencies, airports, airlines and hotel chains
  • Hold a hotel rate or verify a flight fare and get a checkout link for that exact room or fare
  • Look up, amend and cancel existing hotel, flight and experience bookings using the booking ID and booking email
  • Generate AI-written hotel highlight cards and run natural-language hotel and room searches
When to use it
Useful for building or running a travel assistant that needs real hotel and flight inventory, price comparison and a hand-off to a hosted checkout, or for support flows that look up and change existing bookings.
Requirements
Remote Streamable HTTP endpoint with no authentication and no API key. Clients that only support stdio can use the npm package maqami-travel, which needs Node.js 18 or later and bridges to the hosted endpoint. Network access to the MAQAMI endpoint is required.
Before you install
Prebook holds a real rate, and the amend and cancel tools change or cancel real bookings, so confirm with the user first. Completing checkout on the booking site creates a real, paid reservation. Booking lookups and changes require the booking ID plus the email used to book. The hotel highlights tool is billed at $0.02 per request and rate-limited. Searches and bookings are processed by MAQAMI, and the server never receives card details.

Installation

In SourceWeft

  1. Open MAQAMI Travel in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.negm17111995%2Fmaqami-travel/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "maqami-travel": {
      "type": "http",
      "url": "https://mcp.maqami.co/"
    }
  }
}

README

MAQAMI Travel MCP Server

[Official MCP Registry] [npm version] [License: MIT] [Transport: Streamable HTTP] [MAQAMI Travel MCP server on Glama]

Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up cities, airports and hotel details, then send the customer a secure checkout link on book.maqami.co for the exact room or fare they chose. Remote Streamable HTTP endpoint, no API key required.

https://mcp.maqami.co/

Quick start

Pick your client. Each line is enough to connect; the full steps are under Connect.

ClientFastest way to connect
Claude Codeclaude mcp add --transport http maqami-travel https://mcp.maqami.co/
Claude Desktop (one click)Download maqami-travel.mcpb and open it (steps)
Any stdio client (npm)npx -y maqami-travel as the server command (config); Node.js 18+
claude.ai, Claude Desktop and Claude mobileCustomize → Connectors → Add custom connector, URL https://mcp.maqami.co/, No sign in. Works on the Free plan (steps)
CursorAdd to Cursor (one click), or add "maqami-travel": { "url": "https://mcp.maqami.co/" } to mcp.json
VS CodeInstall in VS Code (one click), or code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}'
WindsurfAdd "maqami-travel": { "serverUrl": "https://mcp.maqami.co/" } to mcp_config.json
Gemini CLIgemini extensions install https://github.com/negm17111995/mcp-server
OpenAI Codexcodex mcp add maqami-travel --url https://mcp.maqami.co/
ChatGPTDeveloper mode → create an app with URL https://mcp.maqami.co/ and No Authentication (steps and plans)
OpenAI Agents SDKMCPServerStreamableHttp(name="MAQAMI Travel", params={"url": "https://mcp.maqami.co/"})
LangChainMCPAdapter("https://mcp.maqami.co/") from langchain.mcp (example)
n8nMCP Client Tool node, endpoint https://mcp.maqami.co/, HTTP Streamable, no authentication (steps)
ClineMCP Servers → Remote Servers, URL https://mcp.maqami.co/, Streamable HTTP
LM StudioAdd "maqami-travel": { "url": "https://mcp.maqami.co/" } to mcp.json, or use the install link
Booking skill only (Claude Code, Codex, Cursor and other skill-aware agents)npx skills add negm17111995/mcp-server
Any other clientStreamable HTTP at https://mcp.maqami.co/ with no auth, or npx -y maqami-travel for stdio-only clients

Then try: "Find 4-star hotels in Lisbon for 2 adults, 12 to 15 May."

Contents

Connect

The server is hosted at https://mcp.maqami.co/ and uses the Streamable HTTP transport. There is nothing to install and no API key to configure.

Claude (claude.ai and Claude Desktop)

Add MAQAMI as a custom connector:

  1. Go to Customize → Connectors.
  2. Click + Add, then Add custom connector.
  3. Enter the name MAQAMI Travel and the URL https://mcp.maqami.co/, then click Continue.
  4. Under Authentication, choose No sign in, then click Add.

This works on every Claude plan, including Free. Free accounts can have one custom connector at a time.

On Team and Enterprise plans, an Owner adds the connector under Organization settings → Connectors first.

Claude Desktop extension

A one-click install for Claude Desktop on macOS, Windows and Linux. It doesn't use a custom connector slot, so it also suits Free accounts that already have one.

  1. Download maqami-travel.mcpb.
  2. Open the file, or drag it into Claude Desktop under Settings → Extensions.
  3. Click Install.

The extension runs the same stdio bridge as the npm package and connects to https://mcp.maqami.co/. Claude Desktop provides Node.js, so there is nothing else to install.

Claude Code

bash
claude mcp add --transport http maqami-travel https://mcp.maqami.co/

Or install the plugin, which adds the server and a booking skill that walks Claude through search, confirmation and the checkout link:

text
/plugin marketplace add negm17111995/mcp-server/plugin install maqami-travel@maqami

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "maqami-travel": {      "url": "https://mcp.maqami.co/"    }  }}

Or install with one click: Add to Cursor. The same install as a deeplink, to open in your browser:

text
cursor://anysphere.cursor-deeplink/mcp/install?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0=

VS Code

Add to .vscode/mcp.json in your workspace:

json
{  "servers": {    "maqami-travel": {      "type": "http",      "url": "https://mcp.maqami.co/"    }  }}

Or install in VS Code with one click, or add it to your user profile from the command line:

bash
code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}'

Cline

In the Cline panel, open MCP Servers → Remote Servers, enter the URL https://mcp.maqami.co/ and choose Streamable HTTP. Or add it to the MCP settings JSON:

json
{  "mcpServers": {    "maqami-travel": {      "type": "streamableHttp",      "url": "https://mcp.maqami.co/"    }  }}

LM Studio

LM Studio 0.3.17 and later can use MCP servers. Open the Program tab in the right-hand sidebar, choose Install → Edit mcp.json, and add:

json
{  "mcpServers": {    "maqami-travel": {      "url": "https://mcp.maqami.co/"    }  }}

Or install it by opening this link in your browser:

text
lmstudio://add_mcp?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0%3D

Local models have smaller context windows, so consider turning off the tools you don't need (see the FAQ).

Windsurf

Open mcp_config.json from the … menu in the Cascade panel (Open MCP config file) and add:

json
{  "mcpServers": {    "maqami-travel": {      "serverUrl": "https://mcp.maqami.co/"    }  }}

On current releases the file is at ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows). Older releases use ~/.codeium/windsurf/mcp_config.json.

ChatGPT

Developer mode apps are available on the web for Plus, Pro, Business, Enterprise and Education accounts. On the Free plan, ChatGPT shows only apps published in its app directory.

  1. Open Settings → Security and login and turn on Developer mode.
  2. Open Plugins, select the + button and create a developer-mode app.
  3. Enter the name MAQAMI Travel and the URL https://mcp.maqami.co/, and choose No Authentication.
  4. In a conversation, choose Developer mode from the + menu and select MAQAMI Travel.

OpenAI Codex

bash
codex mcp add maqami-travel --url https://mcp.maqami.co/

Or add to ~/.codex/config.toml:

toml
[mcp_servers.maqami-travel]url = "https://mcp.maqami.co/"

Gemini CLI

Install the extension, which adds the server and its context file:

bash
gemini extensions install https://github.com/negm17111995/mcp-server

Or add only the server:

bash
gemini mcp add --transport http maqami-travel https://mcp.maqami.co/

Or add to ~/.gemini/settings.json:

json
{  "mcpServers": {    "maqami-travel": {      "httpUrl": "https://mcp.maqami.co/"    }  }}

OpenAI Agents SDK (Python)

python
import asyncio
from agents import Agent, Runnerfrom agents.mcp import MCPServerStreamableHttp

async def main() -> None:    async with MCPServerStreamableHttp(        name="MAQAMI Travel",        params={"url": "https://mcp.maqami.co/"},    ) as maqami:        agent = Agent(name="Travel assistant", mcp_servers=[maqami])        result = await Runner.run(agent, "Find 4-star hotels in Lisbon for 2 adults, 12 to 15 May.")        print(result.final_output)

asyncio.run(main())

LangChain (Python)

LangChain 1.x includes MCP support in langchain.mcp (beta). Install with pip install langchain langchain-openai:

python
import asyncio
from langchain.agents import create_agentfrom langchain.mcp import MCPAdapter

async def main() -> None:    async with MCPAdapter("https://mcp.maqami.co/") as maqami:        tools = await maqami.list_tools()        agent = create_agent("openai:gpt-5.4-mini", tools)        result = await agent.ainvoke(            {"messages": [{"role": "user", "content": "Which airports serve Tokyo?"}]}        )        print(result["messages"][-1].content)

asyncio.run(main())

For a version that asks for your approval before any prebook, see travel-agent-examples/langchain-python.

n8n

  1. Add an AI Agent node to your workflow.
  2. Under Tools, add an MCP Client Tool node.
  3. Set the endpoint to https://mcp.maqami.co/, choose HTTP Streamable as the server transport (if your n8n version shows the option) and None for authentication.
  4. Under Tools to Include, pick the tools your workflow needs, or keep All.

Other Streamable HTTP clients

SettingValue
URLhttps://mcp.maqami.co/
TransportStreamable HTTP
AuthNone

Local stdio (npm)

For clients that only support stdio servers, the maqami-travel npm package is a thin bridge to the remote endpoint. It runs no booking logic locally and needs no credentials. Node.js 18 or later is required.

json
{  "mcpServers": {    "maqami-travel": {      "command": "npx",      "args": ["-y", "maqami-travel"]    }  }}

This works in claude_desktop_config.json and any other client that launches stdio servers.

How agents use the server

The server is a standard MCP server. Every tool has a JSON Schema for its inputs and MCP annotations, so clients can tell read-only tools (readOnlyHint: true) from tools that change something.

Customers always book and pay on MAQAMI's website, book.maqami.co. The server finds the hotel or flight, holds the price and returns a checkoutUrl for that exact choice; the customer enters guest or passenger details, pays and gets their confirmation there. No tool takes payment or asks for payment details.

Hotel booking flow

StepWhat happensTool (example)
1. Search ratesLive rates for the dates and guests. Needs checkin, checkout, occupancies, currency, guestNationality and one location field (cityName with countryCode, latitude and longitude, iataCode, hotelIds or aiSearch). To find a hotel by name, call get_data_hotels with hotelName and countryCode, then search by hotelIds. Each rate has an offerId.post_hotels_rates
2. Show detailsDescription, amenities, photos and reviews for the hotels the user is interested inget_data_hotel, get_data_reviews
3. ConfirmShow the user the hotel, room, dates, guests, price and cancellation terms, and wait for a clear yes(your agent)
4. PrebookHolds one offerId, passed exactly as the search returned it, and returns a prebookId with the final price, the cancellation terms and a checkoutUrlpost_rates_prebook
5. CheckoutGive the customer the checkoutUrl (https://book.maqami.co/booking?prebookId=...) to enter guest details and pay(your agent)

Flight booking flow

StepWhat happensTool (example)
1. Find airportsResolve cities to IATA airport codesget_data_flights_airports
2. Search flightsLive offers. Needs legs (each with origin, destination and date), adults and currency. One leg for one-way, two for a round trip. Also returns searchUrl, the same search on book.maqami.co.post_flights_rates
3. VerifyConfirms an offerId is still available and returns the latest price, baggage, fare rules and a checkoutUrl for that offer. Offers expire (see expiration); if one is gone, search again.post_flights_verify
4. ConfirmShow the user the flights, passengers, final price and fare rules, and wait for a clear yes(your agent)
5. CheckoutGive the customer the checkoutUrl (https://book.maqami.co/flights/booking?offerId=...) promptly; the fare is held for a limited time(your agent)

Existing bookings

Lookup, amend and cancel tools need the booking ID and the email used to book; the server only returns or changes a booking when both match. Pass both bookingId and email to every booking tool. To find a customer's hotel bookings, call listBookings with the email and last name used to book; it returns only bookings where both match the booking holder. Hotel bookings are cancelled with cancel_hotel_booking, flights with post_flights_bookings_bookingid_cancellations (check get_flights_bookings_bookingid_cancellations for the refund estimate first). put_bookings_bookingid_amend corrects the holder's name, email or phone on a hotel booking: it takes the email currently on the booking and the corrected holder (firstName, lastName, email, optional phone).

Tool names and required fields above are as published by the server in October 2026. The tool list your client receives from the server is always the source of truth: only the tools it lists exist, and other tool names are rejected. Hotel offerIds are signed by the server: pass them exactly as returned, and run the search again if one is rejected.

Good practice for agents

  • Ask for missing inputs instead of guessing: dates, number of guests, the guest's nationality and the currency for hotels; dates, passengers and currency for flights.
  • Quote only what the tools return. Show the price with its currency and the cancellation or fare rules when they are available.
  • Confirm before anything that is not read-only. Prebook holds a real rate, and the amend and cancel tools change or cancel real bookings. Ask the user first and show exactly what will happen.
  • Send only links the tools return. Give the customer the checkoutUrl from prebook or verify, and never ask for card or passport details in the chat.
  • If a price or availability changes at prebook or verify, show the new result and ask again.
  • Keep guest details to what the booking needs, and only send them once the user has chosen an option.
  • Keep responses small. Set limit and maxRatesPerHotel on hotel searches and filters on flight searches. get_data_facilities, get_data_chains, get_data_iatacodes and get_data_cities return whole reference lists, so call them only when you need an ID from them; find airports with get_data_flights_airports instead.

The examples show one way to do this: read-only tools run automatically and every other tool waits for the user's approval.

FAQ

Do I need an API key or an account to connect? No. The endpoint accepts connections without authentication.

How does the customer pay? Only on MAQAMI's website. Prebook (hotels) or verify (flights) returns a checkoutUrl on book.maqami.co for that exact room or fare. The customer opens it, enters guest or passenger details, pays securely and receives the confirmation there. The MCP server never takes payment.

Does the checkout link create a real reservation? Yes, once the customer completes checkout on book.maqami.co. Review the details and final price before paying.

Which transport does the server use? Streamable HTTP at https://mcp.maqami.co/. If your client only supports stdio, use the maqami-travel npm bridge.

My client warns that there are too many tools. What should I do? Turn on only the tools you need. Most clients let you do this: the tool picker in VS Code, per-tool toggles in Cursor and Claude, and Tools to Include in n8n. For a travel assistant, the search, details, prebook and verify tools in the tables above are a good start.

What does the server see? An MCP server receives only the tool calls and arguments your client sends. It does not see the rest of your conversation.

Where is the server listed? In the official MCP Registry as io.github.negm17111995/maqami-travel, and on npm as maqami-travel. It is also a Claude Desktop extension (maqami-travel.mcpb). This repository is also a Gemini CLI extension (gemini-extension.json), a Claude Code plugin and marketplace (.claude-plugin/), a Codex plugin (.codex-plugin/plugin.json) and an Agent Plugins package (plugin.json and mcp.json). The plugins bundle the maqami-travel-booking skill. Directories: Smithery, Glama, Raycast's MCP registry, the ToolSDK MCP registry and the Hermes Agent plugin catalog.

Can I use it in my own agent or product? Yes, it's a public endpoint. Please follow the confirmation guidance above. For partnerships, contact [email protected].

How do I report a bug or a security issue? Open an issue for bugs and client setup problems. For security issues, follow SECURITY.md and don't open a public issue.

Examples

negm17111995/travel-agent-examples has small, runnable travel assistants that connect to this server from the OpenAI Agents SDK (Python), LangChain with LangGraph (Python) and the Vercel AI SDK (TypeScript). Each one asks for your approval before any call that is not read-only.

What you can do

  • Search hotels with live rates and availability.
  • Search flights and compare fares.
  • Look up cities, airports and hotel details, including amenities and photos.
  • Hold a price for a hotel room (prebook) or check a flight fare (verify).
  • Send a checkout link on book.maqami.co where the customer enters their details, pays and gets confirmed.
  • Find, look up and cancel existing bookings: find them with the email and last name, then act on one with its booking ID and email.

Example prompts

  • "Find 5-star hotels in Istanbul for 15 to 17 August, 2 adults."
  • "Show me the amenities and photos for the second hotel."
  • "Search flights from Dubai to London on 10 December for one adult."
  • "Which airports serve Tokyo?"
  • "Hold that room and send me the checkout link."

Privacy and security

  • No API key or account is required to connect.
  • All traffic to https://mcp.maqami.co/ is encrypted over HTTPS.
  • Searches and bookings are processed by MAQAMI. Payment happens only on book.maqami.co; the MCP server never receives card details.
  • Completing checkout creates a real reservation. Review the details and final price before paying.
  • Privacy policy: maqami.co/privacy-policy

Development

The repository contains the npm stdio bridge (index.js). The hosted server is deployed separately.

bash
npm installnpm test

The bridge tests start a local mock Streamable HTTP server and point the bridge at it with the MAQAMI_MCP_URL environment variable. That variable exists for testing only; by default the bridge connects to https://mcp.maqami.co/. The manifest tests check that every manifest parses, points at the same endpoint and carries the version from package.json.

Repository layout

FilePurpose
index.jsnpm stdio bridge to the hosted endpoint
server.jsonOfficial MCP Registry entry
gemini-extension.json, GEMINI.mdGemini CLI extension and its context file
.claude-plugin/plugin.json, .mcp.jsonClaude Code plugin
.claude-plugin/marketplace.jsonClaude Code plugin marketplace (maqami)
.codex-plugin/plugin.json, assets/logo-512.pngCodex plugin and its icon
plugin.json, mcp.jsonAgent Plugins manifest
mcpb/manifest.json, scripts/build-mcpb.shClaude Desktop extension (npm run build:mcpb writes dist/maqami-travel.mcpb)
skills/maqami-travel-booking/SKILL.mdBooking skill bundled with the plugins
glama.jsonGlama directory metadata
AGENTS.md, llms.txtShort guides for coding agents and LLM tools
test/Bridge tests against a local mock server, and manifest consistency checks (npm test)
.github/workflows/CI (npm test on every pull request) and the release workflow that publishes to npm and the Official MCP Registry

Contributing

Documentation fixes, client setup guides and bug reports are welcome. See CONTRIBUTING.md and the Code of Conduct. Questions and ideas go to Discussions.

License

MIT

Support

Questions or issues: [email protected] or open an issue.

About MAQAMI

MAQAMI (MAQAMI LLC) is a US-registered travel company selling hotels and flights worldwide: over 3 million properties, instant confirmation, secure Stripe checkout and 24/7 support.

Source: README.md at commit 22bae75

Tools

41

post_hotels_rates

Search hotel rates

## Overview Search for hotel rates and availability across multiple hotels. This is your primary endpoint for finding bookable hotel rooms with real-time pricing. ## When to Use - **Display hotel listings** with prices on your search results page - **Show detailed rate options** for specific hotels users are viewing - **Support multi-room bookings** for families or groups - **Filter hotels** by location, amenities, ratings, or AI-powered semantic search ## What You Get - **Real-time rates** with availability and pricing - **Multiple room options** per hotel, sorted by price - **Complete booking details** including cancellation policies, meal plans, and room types - **Hotel information** (name, photos, address, ratings) when searching by filters ## Key Features - **Multiple search methods**: Search by hotel IDs, city/country, coordinates, Place ID, IATA code, or natural language (AI search) - **Flexible filtering**: Filter by star rating, facilities, hotel chains, accessibility, and more - **Multi-room support**: Book multiple rooms with different guest configurations in one request - **Performance optimized**: Default limit of 200 hotels (expandable to 5,000), recommended timeout of 6-12 seconds - **Price consistency**: Optional `sessionId` ensures rates stay consistent across listing and detail searches within a user session ## Quick Start **Required fields**: `checkin`, `checkout`, `currency`, `guestNationality`, `occupancies`, plus one location method (hotel IDs, city/country, coordinates, Place ID, or IATA code) **Tip**: When searching by filters (like `aiSearch` or `cityName`), hotel data is automatically included. For direct hotel ID searches, set `includeHotelData=true` to include hotel names and photos. **Price consistency**: Generate a unique `sessionId` per user search session and include it on every rates request in that session, using the same `checkin`, and `checkout`.

ParameterszipfeedsortlimitoffsetradiusstreamcheckinrequiredplaceIdtimeoutaiSearchbedTypes+30 more

post_hotels_min_rates

Get lowest hotel prices

## Overview Get the cheapest available rate for each hotel in your list. Perfect for displaying price comparisons without loading full rate details. ## When to Use - **Show price ranges** on hotel listing pages - **Quick price comparisons** across multiple hotels - **Optimize performance** when you only need the lowest price, not all rate options - **Build price filters** or sorting by price ## What You Get - **Minimum rate per hotel** - the cheapest available room option - **Basic rate information** - price, currency, and availability - **Fast response** - optimized for quick price lookups ## Key Features - **Lightweight** - Returns only the minimum rate, not all options - **Same parameters** as the main rates endpoint for consistency - **Perfect for listings** - Ideal when displaying multiple hotels where users just need to see starting prices ## Quick Start Provide a list of hotel IDs, dates, and guest occupancy. The endpoint returns the cheapest rate available for each hotel.

ParameterscheckinrequiredtimeoutcheckoutrequiredcurrencyrequiredhotelIdsrequiredoccupanciesrequiredguestNationalityrequired

get_prebooks_prebookid

Get locked hotel rate

Retrieve a hotel prebook by its `prebookId`: final price, cancellation terms, room details and the `checkoutUrl` (`https://book.maqami.co/booking?prebookId=...`). Bookings are paid and confirmed only on MAQAMI's website, through the `checkoutUrl`.

ParametersprebookIdrequired

post_rates_prebook

Lock hotel rate and get checkout link

## Overview Locks the chosen hotel rate and returns the final price, cancellation terms and a checkout link on MAQAMI's website. ## When to Use When the customer has chosen a hotel, room, dates and guests and reviewed the price and cancellation terms. ## Quick Start Pass the `offerId` from `post_hotels_rates` exactly as it was returned. ## What You Get - **prebookId** - The locked rate - **Final price and cancellation terms** - For the customer to review - **checkoutUrl** - `https://book.maqami.co/booking?prebookId=...` ## Payment Bookings are paid and confirmed only on MAQAMI's website. The `checkoutUrl` opens checkout for this exact rate, where the customer enters guest details, pays securely and receives the confirmation. This tool takes no payment details and does not confirm the booking.

ParametersofferIdrequiredtimeoutbedTypeIdsvoucherCode

listBookings

Find bookings by email and last name

Find a customer's hotel bookings by the email address and last name used to book. Both must match the booking holder; nothing is returned otherwise. Returns each booking with its `bookingId`, status, hotel, dates, guests, price and cancellation policy. To look up, change or cancel one booking, use its `bookingId` with the same `email` in the booking tools.

ParametersemailrequiredlastNamerequired

get_bookings_bookingid

Get hotel booking

Look up a confirmed hotel booking: status, hotel, dates, rooms, guests, price and cancellation policy. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

cancel_hotel_booking

Cancel hotel booking

Cancel a confirmed hotel booking. First check the cancellation policy with `get_bookings_bookingid` and confirm with the customer: a non-refundable booking, or one past its free-cancellation deadline, can be charged in full. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

put_bookings_bookingid_amend

Amend hotel booking

Correct the booking holder's name, email or phone on a confirmed hotel booking, for example to fix a typo. It does not change dates, rooms or guests. To show the customer prices for other dates or guests, use `post_bookings_bookingid_alternative_prebooks`. Pass the `bookingId`, the `email` currently on the booking and the corrected `holder` (`firstName`, `lastName`, `email`, optional `phone`). Confirm the new details with the customer before calling. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredholderrequiredremarkslastNamebookingIdrequired

post_bookings_bookingid_alternative_prebooks

Find alternative hotel rates

## Overview **Hard Amendment** — Search for alternative rates at the same hotel and create prebook sessions for a confirmed booking. Used when the guest needs to change their check-in/check-out dates or room occupancy. ## When to Use - **Date changes** — Guest needs different check-in or check-out dates - **Occupancy changes** — Guest needs a different number of adults or children - **Hard amendments** — Situations where the booking must be cancelled and re-booked with new parameters ## How It Works 1. The system searches for live availability at the same hotel with the new parameters. 2. Up to `maxPrebooks` alternative rates are selected (sorted by price ascending). Defaults to 3 when omitted; capped at 10 (any larger value is silently clamped to 10). 3. A prebook session is created for each rate. 4. The caller receives a list of `prebookId` values with prices to show the guest. ## What You Get - **Up to `maxPrebooks` prebook sessions** — Each with a `prebookId`, final pricing, cancellation policies, and room details - **Price comparison** — `priceDifferencePercent` shows how each alternative compares to the **original booking's selling price** (negative = cheaper than what the guest paid, positive = more expensive) - **Policy change flags** — `cancellationChanged` and `boardChanged` highlight any policy differences ## Key Notes - The booking must be in **CONFIRMED** status. - If the original booking is non-refundable, only non-refundable alternatives are returned (unless overridden with `refundableRatesOnly`). - The nationality and currency of the original booking are used for the availability search. ## Quick Start 1. Call this endpoint with the `bookingId` and new `occupancies`/dates — get back up to `maxPrebooks` `prebookId` values. **On this server**: rebooking is not available, so use this only to show the guest alternative prices. To change a booking, cancel it if its policy allows and make a new booking, or contact MAQAMI support. Requires the

ParametersemailrequiredcheckincheckoutlastNameboardTypebookingIdrequiredmaxPrebooksoccupanciesrequiredrefundableRatesOnly

getHotelTaxSchema

Get hotel tax rules

## Overview Returns the tax schema of a hotel as normalized static data, independent of the supply provider the rules were learned from. Each entry describes one tax or fee: whether it is already included in the room rate, whether it is a percentage of the rate or a fixed amount, and how fixed amounts scale (per adult and/or per night). ## When to Use - **Price transparency** - Show guests which taxes and fees apply at a property - **Amount-due-at-property estimates** - Excluded taxes are typically collected at the hotel - **Tax auditing** - Compare supplier-declared taxes against the reference schema ## Notes - Fixed amounts are expressed in USD - Percentage rates apply to the room rate (e.g. 14.62 means 14.62%) - The schema is learned by an offline pipeline; hotels without learned data return 404 - Enterprise accounts also receive `category`, `chargeType`, and `payAtProperty` on each tax. `payAtProperty` is always the opposite of `included`. When the hotel declared the rule, an enterprise response may also include `appliedPer`, `appliedOn`, `validFrom`, and `validTo`

ParametershotelIdrequired

get_data_hotels

List hotels

## Overview Search and retrieve hotel listings based on various criteria. Get hotel metadata including names, addresses, ratings, amenities, and images for display in your application. ## When to Use - **Hotel listings** - Display hotel search results - **Location-based search** - Find hotels by city, coordinates, or Place ID - **Hotel discovery** - Browse hotels in specific areas - **Metadata retrieval** - Get hotel information for display ## What You Get - **Hotel list** - Matching hotels with complete metadata - **Basic information** - Names, addresses, ratings, and locations - **Amenities** - Available facilities and features - **Images** - Hotel photos for display - **Identifiers** - Hotel IDs for use in rate searches ## Search Options - **By city** - Search hotels in a specific city - **By coordinates** - Find hotels near latitude/longitude with radius - **By Place ID** - Get hotels within a specific place boundary - **By hotel IDs** - Retrieve specific hotels by their IDs ## Quick Start Provide search criteria (city, coordinates+radius, placeId, or hotelIds). Returns matching hotels with complete metadata.

ParametersziplimitoffsetradiusplaceIdtimeoutaiSearchchainIdscityNamehotelIdslanguagelatitude+11 more

get_data_hotel_ask

Ask about a hotel

## Overview **Beta Feature** - Ask natural language questions about a specific hotel and get AI-powered answers based on the hotel's information. ## When to Use - **Hotel Q&A** - Answer customer questions about hotels - **Information lookup** - Get specific details about amenities, services, or features - **Conversational interfaces** - Build chat interfaces for hotel information - **Detailed inquiries** - Ask about specific aspects like restaurants, parking, or amenities ## What You Get - **AI-generated answers** - Relevant responses to your questions - **Hotel-specific information** - Answers based on the hotel's actual data - **Natural language responses** - Human-readable answers ## Example Questions - "What amenities does this hotel have?" - "Is there parking available?" - "What does a meal at the restaurant look like?" ## Key Features - **Web search option** - Enable `allowWebSearch` to get additional information from the web - **Hotel context** - Answers are specific to the hotel you're asking about - **Natural language** - Ask questions conversationally ## Quick Start Provide the `hotelId` and your `question`. Optionally enable `allowWebSearch` for web-enhanced answers. **Note:** This is a beta feature and may be subject to changes.

ParametersqueryrequiredhotelIdrequiredallowWebSearch

post_data_hotel_highlights

Get hotel highlights

## Overview Generate short, AI-written "Smart Highlight" cards for a hotel. Each highlight is a title plus a one or two sentence description, generated directly in the requested language. **Pricing**: $0.02 per request **Rate Limiting**: This endpoint is rate-limited to **10 requests per minute**. Exceeding this limit will result in a `429 Too Many Requests` response. ## When to Use - **Hotel detail pages** - Show a few compelling reasons to consider a property - **Partner-specific tone** - Adjust voice and emphasis per surface via `tone`, `style` and per-highlight `context` ## What You Get - Exactly `count` highlights, always, in the requested order - `type` echoed back from the request so you can map each card to your own UI - `generated` indicating whether the copy is AI-generated or template fallback ## Behaviour Hotel facts are resolved server-side from `hotelId`; the caller never supplies them. The model sees the name, city, country, street address, parking, and description, plus a sample of facilities, rooms, policies, and nearby places (with a server-computed distance phrase: on the property, short walk, short drive, or longer drive; farther places are omitted), guest sentiment strengths when stored (not drawbacks), and classification (star rating, hotel type, chain). Generated copy is grounded in those facts. Straight apostrophes in titles and descriptions are normalized to typographic apostrophes. Enterprise API keys also omit wifi and the phrase modern amenities from the facts and from the copy, and they omit review-style wording such as guests say. Other API keys still return wifi and connectivity copy when the request asks for it. When `tone` or `style` specify length or format, those rules override the default title and description lengths. If AI generation fails, the endpoint still returns `200` with the requested number of neutral template highlights and `generated: false`. It never returns an empty array for a valid hotel. Results are cac

ParameterstonecountstylehotelIdrequiredlanguagerequiredhighlights

get_data_hotel

Get hotel details

## Overview Get comprehensive details about a specific hotel including descriptions, amenities, images, location, and ratings. Perfect for displaying hotel detail pages. ## When to Use - **Hotel detail pages** - Show complete hotel information - **Booking pages** - Display hotel details before booking - **Hotel profiles** - Build rich hotel information pages - **Content display** - Show descriptions, amenities, and images ## What You Get - **Complete hotel information** - Name, address, description, and ratings - **Amenities list** - All available facilities and services - **Image gallery** - Hotel photos and images - **Location details** - Address, coordinates, and location information - **Hotel metadata** - Star rating, chain information, and classifications ## Quick Start Provide the `hotelId` as a query parameter. Returns complete hotel details including all metadata, amenities, and images.

ParametershotelIdrequiredtimeoutlanguageadvancedAccessibilityOnly

get_data_reviews

Get hotel reviews

## Overview Retrieve guest reviews and ratings for a specific hotel. Display authentic feedback from previous guests to help users make informed booking decisions. ## When to Use - **Review display** - Show guest reviews on hotel detail pages - **Rating aggregation** - Display average ratings and review counts - **Trust building** - Show authentic guest feedback - **Decision support** - Help users evaluate hotels before booking ## What You Get - **Guest reviews** - Individual review text and ratings - **Review dates** - When each review was written - **Ratings** - Numerical and textual ratings - **Guest feedback** - Detailed comments from previous guests ## Quick Start Provide the `hotelId` as a query parameter. Returns all reviews for that hotel with ratings and comments.

ParameterslimitoffsethotelIdrequiredtimeoutlanguagegetSentiment

get_data_cities

List cities

## Overview Get a list of all cities within a specific country. Perfect for building location dropdowns and city selection interfaces. ## When to Use - **City dropdowns** - Populate city selection lists - **Location filters** - Filter hotels by city - **Geographic data** - Get city lists for specific countries - **Form autocomplete** - Build city autocomplete features ## What You Get - **City list** - All cities in the specified country - **City names** - Formatted city names ready for display ## Quick Start Provide the `countryCode` in ISO-2 format (e.g., "US", "GB"). Returns all cities in that country. Use the [Get Country List endpoint](/v3.0.0/reference/get_data-countries) to get country codes.

ParameterstimeoutcountryCoderequired

get_data_countries

List countries

## Overview Get a complete list of all countries available in the system with their ISO-2 country codes. Essential for building country selection interfaces. ## When to Use - **Country dropdowns** - Populate country selection lists - **Location filters** - Filter hotels or searches by country - **Form inputs** - Build country selection forms - **Reference data** - Get country codes for use in other endpoints ## What You Get - **Country list** - All available countries - **ISO-2 codes** - Standard country codes (e.g., "US", "GB", "FR") - **Country names** - Full country names ## Quick Start No parameters required. Returns all countries with their ISO-2 codes.

Parameterstimeout

get_data_currencies

List currencies

## Overview Get all available currencies with their codes, names, and the countries where each currency is used. Perfect for building currency selection interfaces. ## When to Use - **Currency dropdowns** - Populate currency selection lists - **Price display** - Show prices in different currencies - **Currency conversion** - Get currency information for conversion - **Reference data** - Get currency codes for use in booking endpoints ## What You Get - **Currency list** - All available currencies - **Currency codes** - ISO currency codes (e.g., "USD", "EUR", "GBP") - **Currency names** - Full currency names - **Country mapping** - Countries where each currency is used ## Quick Start No parameters required. Returns all currencies with codes, names, and country mappings.

Parameterstimeout

get_data_iatacodes

List IATA codes

## Overview Get IATA (International Air Transport Association) airport codes with airport names, coordinates, and country information. Useful for airport-based hotel searches. ## When to Use - **Airport searches** - Find hotels near airports - **Location selection** - Let users search by airport codes - **Geographic data** - Get airport locations and coordinates - **Reference data** - Get IATA codes for use in hotel searches ## What You Get - **Airport list** - All available airports with IATA codes - **Airport names** - Full airport names - **Coordinates** - Latitude and longitude for each airport - **Country codes** - ISO-2 country codes for each airport ## Quick Start No parameters required. Returns all airports with IATA codes, names, coordinates, and country information.

Parameterstimeout

get_data_facilities

List hotel facilities

## Overview Get all available hotel facilities (amenities) with multi-language translations. Use these facility IDs to filter hotel searches by amenities. ## When to Use - **Facility filters** - Build amenity filtering in hotel searches - **Facility display** - Show available facilities with translated names - **Multi-language support** - Display facilities in user's language - **Reference data** - Get facility IDs for use in search filters ## What You Get - **Facility list** - All available hotel facilities - **Facility IDs** - Numeric IDs for use in search filters - **Multi-language names** - Facility names in multiple languages - **Translations** - Localized facility names ## Quick Start No parameters required. Returns all facilities with IDs and multi-language translations. Use facility IDs in hotel search filters.

Takes no parameters.

get_data_hoteltypes

List hotel types

## Overview Get all available hotel type classifications (e.g., resort, boutique, business hotel). Use type IDs to filter hotel searches. ## When to Use - **Type filters** - Filter hotels by type in search - **Type display** - Show hotel type classifications - **Reference data** - Get hotel type IDs for filtering ## What You Get - **Hotel type list** - All available hotel types - **Type IDs** - Numeric IDs for use in search filters - **Type names** - Hotel type classifications ## Quick Start No parameters required. Returns all hotel types with IDs. Use type IDs in hotel search filters.

Takes no parameters.

get_data_chains

List hotel chains

## Overview Get all available hotel chains (e.g., Marriott, Hilton, IHG). Use chain IDs to filter hotel searches by brand. ## When to Use - **Chain filters** - Filter hotels by chain/brand - **Brand selection** - Let users search for specific hotel chains - **Reference data** - Get chain IDs for use in search filters ## What You Get - **Chain list** - All available hotel chains - **Chain IDs** - Numeric IDs for use in search filters - **Chain names** - Hotel chain/brand names ## Quick Start No parameters required. Returns all hotel chains with IDs. Use chain IDs in hotel search filters.

Takes no parameters.

get_data_languages

List languages

## Overview Get all supported languages for hotel translations and content localization. Use language codes to request hotel data in specific languages. ## When to Use - **Language selection** - Display available languages to users - **Content localization** - Get language codes for API requests - **Multi-language support** - Build language switchers in your application - **Reference data** - Validate language codes before making requests ## What You Get - **Language list** - All supported and enabled languages - **Language codes** - ISO 639-1 codes (e.g., 'en', 'es', 'fr') - **Language names** - Human-readable language names in English ## Quick Start No parameters required. Returns all supported languages with codes and names. Use language codes in hotel search and detail requests.

Takes no parameters.

get_data_flights_airlines_iatas_iatacode

Get airline by IATA code

## Overview Retrieve full details for a specific airline using its 2-letter IATA code. ## When to Use - **Airline display** - Show airline name, logo, and alliance for a given IATA code - **Flight result enrichment** - Fetch airline details to display alongside search results - **Data validation** - Verify an airline code and retrieve its metadata ## What You Get - **Airline details** including name, IATA/ICAO codes, and country - **Alliance membership** (Star Alliance, oneworld, SkyTeam, or Vanilla Alliance) - **Logo URL** for displaying the airline's logo in your UI - **Active status** indicating whether the airline is currently operating ## Quick Start Provide the 2-letter IATA code (e.g., `AA` for American Airlines) in the URL path.

ParametersiataCoderequired

get_data_flights_airports_iatas_iatacode

Get airport by IATA code

## Overview Retrieve detailed information for a specific airport using its 3-letter IATA code. ## When to Use - **Airport display** - Show airport name, city, and country for a given IATA code - **Flight result enrichment** - Fetch airport details to display alongside origin/destination in search results - **Autocomplete validation** - Verify an airport code and retrieve its full details ## What You Get - **Airport details** including name, city, country, and timezone - **IATA and ICAO codes** for the airport - **Geographic coordinates** (latitude and longitude) - **Country and city** information for display purposes ## Quick Start Provide the 3-letter IATA code (e.g., `JFK` for John F. Kennedy International) in the URL path.

ParametersiataCoderequired

get_data_flights_airports_iatas

List airport IATA codes

## Overview Retrieve a lightweight list of airport IATA codes with names for autocomplete and lookup purposes. ## When to Use - **Autocomplete dropdowns** - Populate airport search inputs with a full list of codes and names - **Client-side filtering** - Download the full list once and filter locally - **Code validation** - Build a lookup table of valid airport codes ## What You Get - **IATA codes** for all airports in the database - **Airport names** paired with each code - **Filtered results** when the `q` query parameter is provided ## Quick Start Call with no parameters to get all airport codes and names. Use the `q` parameter to filter by name or code.

Parametersqrequired

post_flights_rates

Search flights

## Overview Search for available flights with real-time pricing from multiple providers. The itinerary **must** be sent as a non-empty `legs` array. Each leg follows the provider **SearchLeg** shape: required `origin`, `destination`, and `date` (YYYY-MM-DD); optional `direction` (`OUTBOUND` or `INBOUND`); optional per-leg `filters` that override global `filters` for that leg only. **Not supported:** top-level `origin`, `destination`, `departureDate`, or `returnDate` — use `legs` only. ## When to Use - **Listings** — live prices for search results UI - **One-way, round-trip, or multi-city** — one leg per segment, in order - **Filtering** — cabin class, stops, price, refundability, times (globally or per leg) ## What You Get - Offers from multiple providers - Itineraries with segments, layovers, and durations - Price breakdown (fares, taxes, fees) and baggage hints ## Key Features - Multi-provider aggregation in one request - Global `filters`, `sort` ## Quick Start **Required:** `legs` (at least one object with `origin`, `destination`, `date`), `adults` (≥ 1), `currency` **Date limit:** each leg `date` must not be more than 11 months from today. **Round-trip:** two legs (e.g. outbound then return with `direction` `OUTBOUND` / `INBOUND`). **One-way:** one leg. ## Booking The response includes `searchUrl`, the same search on book.maqami.co. Flights are booked and paid only on MAQAMI's website: `post_flights_verify` re-prices the chosen offer and returns its `checkoutUrl`.

ParameterslegsrequiredsortadultsrequiredcountryfiltersinfantschildrencurrencyrequiredcabinClassinfantAgeschildrenAges

post_flights_verify

Confirm flight price and get checkout link

## Overview Confirm a flight offer is still available and retrieve the latest pricing before proceeding to booking. Returns the checkout link for the verified offer. ## When to Use - **Pre-booking validation** - Confirm offer availability after user selects a flight - **Price confirmation** - Show users the guaranteed price - **Fare rule retrieval** - Get the latest cancellation and change policies ## What You Get - **Verified pricing** with up-to-date fare breakdown - **`changes`** (when present) — cabin/fare flags, human-readable `messages`, and **`pricing`** (`old` / `new` full OfferPricing) instead of deprecated scalar currency/prices - **Journey `pricing`** — `original` (provider/PCC) and `display` (customer) price breakdown per provider FlattenedJourney - **Fare family details** including name and included amenities - **Baggage policy** for each passenger type and segment - **Booking terms** including cancellation and change fee rules ## Key Features - **Real-time price check**: Confirms current availability and price with the provider - **Updated baggage info**: Returns the latest baggage allowances at time of verification - **Fare rules**: Includes cancellation and change fee policies before commitment ## Quick Start Provide the `offerId` from `post_flights_rates` search results. The verified offer data gives the customer a booking summary. ## Booking The response includes `checkoutUrl` (`https://book.maqami.co/flights/booking?offerId=...`). Flights are booked and paid only on MAQAMI's website: the `checkoutUrl` opens checkout for this fare, where the customer enters passenger details, pays securely and receives the confirmation. This tool takes no card or passport details.

ParametersofferIdrequired

get_flights_bookings_bookingid

Get flight booking

Look up a confirmed flight booking: status, passengers, flights, booking references, fare rules and price. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

get_flights_bookings_bookingid_services

Get flight booking extras

## Overview Retrieve the ancillary services (seats, baggage) for an existing flight booking: services that are **already booked** together with the live catalog of services that **can still be booked**. ## When to Use - **Post-booking upsell** - Show the passenger which seats and bags they can still add after the booking was created - **Booking management** - Display the services already attached to the booking with the prices that were charged - **Availability refresh** - The bookable catalog is fetched live from the provider on every call ## What You Get - **`groups`** - Bookable services grouped by category (seat, baggage) with post-margin prices and encoded `serviceId`s - **`bookedServices`** - Services already attached to the booking; entries booked through the API carry the exact price that was charged at attach time - **`expiresAt`** - Validity window of the bookable catalog ## Key Features - **Read-only**: Safe to call at any time; the catalog reflects live availability - **Consistent pricing**: Booked services echo the post-margin amounts the user actually paid ## Quick Start Provide the `bookingId` from the flight booking confirmation. On a ticketed booking (status `CONFIRMED`) `groups` lists only what can be sold after ticketing (provider-dependent, usually baggage) and only when `canAddServicesAfterTicketing` is true; buy them with `POST /flights/bookings/{bookingId}/services` and `/services/confirm`. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequiredforceRefreshincludeServicesHistory

get_flights_bookings_bookingid_cancellations

Get flight cancellation status

## Overview Returns refund eligibility, estimated refund amounts, and penalty details for a booking **without actually cancelling it**. Useful before `post_flights_bookings_bookingid_cancellations` to understand the financial impact of cancellation. ## When to Use - **Pre-cancellation review** — Show the customer the potential maximum refund (not guaranteed) before they confirm cancellation - **Refund estimation** — Display potential maximum refund and penalty amounts in the booking management UI (refund is not granted until cancel completes) - **Eligibility check** — Determine whether the booking is within the void window (`isVoidable`) or eligible for a partial refund (`isRefundable`) ## What You Get - **`confidence`** — How reliable the quote is (`confirmed`, `estimated`, `heuristic`, `unknown`) - **`isRefundable` / `isVoidable`** — Quick eligibility flags - **`refund` / `penalty`** — Aggregate amounts with margin applied. `refund` is the potential maximum the airline may refund — not a granted/guaranteed amount - **`penalties[]`** — Itemised penalty breakdown when available - **`tickets[]`** — Per-ticket detail when available - **`destination`** — Where the refund goes - **`vouchers[]`** — Airline travel vouchers / credit-shells when `destination` is `voucher`; omitted when absent. Distinct from MAQAMI discount `voucherCode` on prebook ## Concurrent cancellation If a cancellation was already submitted and is still awaiting provider confirmation, this endpoint returns **HTTP 409** with code `49007` (`CONCURRENT_OPERATION`). A new quote is not available until that cancellation completes or fails. ## Refund amount caveat The `refund` amount on a cancellation quote is the **potential maximum** the airline may refund if cancellation proceeds under the quoted conditions. It is an estimate for decision-making only and is **not granted** — the final refund (if any) is determined when cancellation completes and may be lower or zero. The refund may arrive asynchr

ParametersemailrequiredlastNamebookingIdrequired

post_flights_bookings_bookingid_cancellations

Cancel flight booking

Flight bookings are cancelled on MAQAMI's website, not in this chat. When a customer wants to cancel a flight, give them https://book.maqami.co/manage-bookings and tell them to continue from there: choose "Flight reservations", enter the last name and the booking ID, then follow the steps to see the refund and cancel. Calling this tool returns the same link and steps.

ParametersbookingId

get_data_flights_airlines

List airlines

## Overview Retrieve a list of airlines with optional filtering by name, alliance, and active status. ## When to Use - **Airline directory** - Build a searchable list of airlines for display or filtering - **Alliance filtering** - Filter airlines by alliance membership (Star Alliance, oneworld, SkyTeam) - **Active airlines** - Retrieve only currently operating airlines ## What You Get - **Full airline records** including name, IATA/ICAO codes, country, alliance, and logo URL - **Alliance membership** for each airline - **Active status** to identify currently operating carriers - **Filtered results** based on query, alliance, and active status parameters ## Quick Start Call with no parameters to get all airlines. Use `q` to search by name, `alliance` to filter by alliance, and `activeOnly=true` to exclude inactive carriers.

ParametersqlimitallianceactiveOnly

get_data_flights_airlines_iatas

List airline IATA codes

## Overview Retrieve a lightweight list of airline IATA codes with names for autocomplete and lookup purposes. ## When to Use - **Autocomplete dropdowns** - Populate airline search inputs with a minimal list - **Client-side filtering** - Download the full list once and filter locally - **Code validation** - Build a lookup table of valid airline codes ## What You Get - **IATA codes** for all airlines in the database - **Airline names** paired with each code - **Active filtering** available via the `activeOnly` parameter ## Quick Start Call with no parameters to get all airline IATA codes and names. Use `activeOnly=true` to filter out inactive airlines.

ParametersactiveOnly

get_data_flights_airports

List airports

## Overview Search for airports by name, city, or IATA code using a text query. Returns matching airports for use in autocomplete and search inputs. ## When to Use - **Airport autocomplete** - Power origin/destination search inputs with type-ahead suggestions - **Airport discovery** - Find airports in a city or region by name - **Search validation** - Look up airports before constructing a flight search request ## What You Get - **Matching airports** ranked by relevance to the query - **IATA codes** for `legs[].origin` and `legs[].destination` in `post_flights_rates` - **City and country** details for display purposes - **Geographic coordinates** for map-based interfaces ## Quick Start Provide a `q` query string (minimum 2 characters) to search by airport name, city, or code. Returns matching airports ordered by relevance.

Parametersqrequired

getExperienceBooking

Get tour booking

Look up a tour or activity booking: status, booking details and the voucher once it is confirmed. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

getExperienceBookingCancelPreview

Preview tour cancellation

## Overview Preview the refund amount and cancellation fee for a booking before committing to cancel it. ## When to Use - **Cancellation confirmation screens** - Show the guest exactly what they'll be refunded - **Support tooling** - Check whether a booking is still cancellable before offering a refund ## What You Get - **`cancellable`** - Whether the booking can currently be cancelled - **`policy`** - `cancellationFee`, `refundAmount`, `refundType`, `estimateConfidence`, `currency`, `sellingPrice` ## Quick Start Use this with the `bookingId` from `POST /experiences/bookings`. This does not cancel the booking - `cancelExperienceBooking` cancels it. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

cancelExperienceBooking

Cancel tour booking

Cancel a confirmed tour or activity booking. First show the customer the refund from `getExperienceBookingCancelPreview` and wait for a clear yes. Requires the `bookingId` and the `email` used to book: the server only returns or changes a booking when they match.

ParametersemailrequiredlastNamebookingIdrequired

Version history

5
  1. v1.0.9LatestOct 7, 2026
  2. v1.0.7Oct 6, 2026
  3. v1.0.6Oct 3, 2026
  4. v1.0.5Sep 28, 2026
  5. v1.0.4Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Travel integrations