Skip to main content
Before you can run a mapping job, upload your hotel inventory to mapping.travel. The API accepts CSV, JSON, Excel (.xlsx), and Parquet files up to 500 MB. Uploading is idempotent: if you upload the same file twice, the API returns the same upload ID rather than creating a duplicate.

File format

Your inventory file must include the following columns. Column names are case-sensitive. Example CSV:
If you plan to use ID_TO_ID or HYBRID mapping, include the supplierCode query parameter when uploading and add your supplier’s hotel IDs in a supplierCode column:
1

Prepare your file

Export your hotel data in one of the supported formats. Make sure every row has at minimum an id, name, city, and country. Remove any rows with blank IDs; they cause the upload to fail with a 400 error.If your file is larger than 500 MB, split it into multiple uploads and run a separate mapping job for each.
2

Upload the file

Send a multipart/form-data POST request to /api/v1/inventory. Include your supplier code as a query parameter if you have one.
A successful upload returns HTTP 202 Accepted with an upload object:
Save the uploadId. You need it to check status and to start a mapping job.
3

Poll for processing status

The API processes your file asynchronously. Poll GET /api/v1/inventory/{uploadId} until status is COMPLETED.
Poll every 2 to 5 seconds. Most files complete within 30 seconds, but large Parquet files may take a few minutes.
4

Handle errors

If the upload fails, the response will include an error message explaining what went wrong.
If status is FAILED, do not use that uploadId to start a mapping job. Fix the issue and re-upload.

List your inventories

To see all previously uploaded inventories for your organization, use the list endpoint:

Cancel an in-progress upload

If you need to stop an upload that is still PENDING or PROCESSING, send a cancel request: