> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mapping.travel/llms.txt
> Use this file to discover all available pages before exploring further.

# Suppliers: Connect Travel Platforms for Precise Matching

> Suppliers are OTAs like Expedia and Booking.com. Connect one to enable ID-to-ID mapping with their hotel IDs. Plan limits control how many you can connect.

Suppliers are the travel platforms and OTAs — such as Expedia, Booking.com, Airbnb, Hotels.com, and Agoda — that maintain their own hotel databases with their own unique hotel IDs. When you connect a supplier to your Mapping.Travel account, you can use those supplier IDs to match hotels exactly rather than relying on fuzzy name and address comparison. This unlocks the ID-to-ID and Hybrid mapping modes, which are faster and more precise for inventory that includes supplier hotel IDs.

## Supported suppliers

Mapping.Travel currently supports the following suppliers out of the box:

| Supplier code | Platform    |
| ------------- | ----------- |
| `expedia`     | Expedia     |
| `booking`     | Booking.com |
| `airbnb`      | Airbnb      |
| `hotels`      | Hotels.com  |
| `agoda`       | Agoda       |

Use `GET /api/v1/suppliers` to retrieve the current list of active suppliers. No authentication is required for this endpoint.

## Why connect a supplier

Connecting a supplier does two things:

1. It tells Mapping.Travel that your organization has a relationship with that platform and holds inventory with their hotel IDs.
2. It enables you to start mapping jobs in **ID\_TO\_ID** or **HYBRID** mode against that supplier's dataset.

Without a connected supplier, you can still run **STANDARD** fuzzy mapping on any inventory. Connecting a supplier is only required when you want to use supplier hotel IDs for matching.

## How to connect a supplier

<Steps>
  <Step title="Find the supplier ID">
    Call `GET /api/v1/suppliers` to list all active suppliers and get their UUIDs.
  </Step>

  <Step title="Connect the supplier">
    Call `POST /api/v1/suppliers/{supplierId}/connect` with your Bearer token. The supplier is linked to your organization immediately.

    ```bash theme={null} theme={null}
    curl -X POST https://api.mapping.travel/api/v1/suppliers/{supplierId}/connect \
      -H "Authorization: Bearer <token>"
    ```
  </Step>

  <Step title="Upload inventory with supplierCode">
    When you upload your inventory file, pass the `supplierCode` parameter matching your supplier's identifier (e.g., `expedia`). Each hotel record should include the supplier's hotel ID in the `supplierCode` column.
  </Step>

  <Step title="Start a mapping job">
    Use **ID\_TO\_ID** or **HYBRID** mode when starting a mapping job against that inventory.
  </Step>
</Steps>

## Viewing connected suppliers

Call `GET /api/v1/suppliers/my-suppliers` to see all suppliers currently connected to your organization.

## Plan limits

Your plan determines the maximum number of suppliers you can connect at once. If you reach your limit, connecting an additional supplier returns a `400` error. Disconnect a supplier with `DELETE /api/v1/suppliers/{supplierId}/disconnect` to free up a slot.

<Note>
  Disconnecting a supplier does not affect mapping jobs that have already completed. It only prevents new ID-to-ID or Hybrid mapping jobs from running against that supplier going forward.
</Note>

## Requesting a new supplier

If the supplier you need is not yet in the system, you can submit a request. Send a multipart request to `POST /api/v1/suppliers/request` with the supplier name, an optional description, an optional contact email, and a sample inventory file in CSV, JSON, or Excel format.

```bash theme={null} theme={null}
curl -X POST https://api.mapping.travel/api/v1/suppliers/request \
  -H "Authorization: Bearer <token>" \
  -F "supplierName=MySupplier" \
  -F "description=Regional OTA for Southeast Asia" \
  -F "contactEmail=partnerships@example.com" \
  -F "file=@sample-inventory.csv"
```

The request is accepted immediately (`202`) and reviewed by the Mapping.Travel team. Track your pending requests with `GET /api/v1/suppliers/requests`.
