Skip to content
Skip to main content
OnArrival

Match hotel and room records across suppliers.

Know when five supplier records are really the same hotel and the same room. Use the mapping API on its own or with OnArrival booking, with shared IDs, confidence scores and review for the uncertain matches.

Illustration: a specialist in a blue cardigan at a bright desk merges two stacks of hotel record cards into one tidy tray, a wall of small labelled drawers behind and a warm desk lamp glowing
properties, mapped & deduplicated
2M+
duplicate listings, July 2026 graph
<0.1%
of records matched automatically
~97%
In short

Mapping, in four steps.

Suppliers describe the same hotel in different ways. We work out which records are the same place and the same room, and tell you how sure we are.

  1. Send

    Send a supplier’s hotel and room records, as a full file or one at a time.

  2. Compare

    We check location, address, phone, content and room details.

  3. Score

    Every match gets a confidence score, with the evidence behind it.

  4. Resolve

    Around 97% resolve automatically. Our supply team reviews the rest.

Sources

Different supplier records. One hotel ID.

The same hotel arrives from wholesalers, chains and hotel systems under different names, codes, room types and rate descriptions. Whatever the source, it leaves as one record.

BEDBANK

Bedbanks & wholesalers

HotelBeds, WebBeds, TBO and RateHawk-class pools. High-volume feeds where one independent hotel can hide behind a dozen supplier codes and creative spellings.

Batch + streaming ingest
CHAIN

Chains & direct

Marriott, Accor, Hilton and IHG feeds carry the cleanest content. When sources disagree, chain-direct details win.

Authoritative content
CHANNEL

Channel managers & PMS

Room and rate codes straight from the hotel’s own systems (its channel manager and property management system). The ground truth for room mapping across independent hotels.

Property-level truth
YOURS

Your own supply

Direct contracts, extranet loads and rate files go through the same pipeline, match against the same hotel IDs and stay flagged as yours.

Same pipeline, your data
How it works

Resolve a feed in one call.

Send a supplier’s hotel and room record. You get back the shared hotel ID, the matched room type and rate plan, and a confidence score for each match. Confident matches resolve in the response. Uncertain ones go to a human-review queue and come back by webhook. No booking is required, ever.

See the API call
POST /v1/mapping/resolve
{ "supplier": "hotelbeds",
  "property": { "code": "HB-88121",
    "name": "Grand Hyatt - Dubai DXB" },
  "room": { "code": "DBL-GV-1",
    "name": "Garden Facing Standard" } }

200 OK
{ "property_id": "prop_9f2c81",
  "room_id": "room_51b7",
  "confidence": 0.98,
  "status": "resolved" }
In depth

Matching is easy. Being right is hard.

Similar names are only a starting point. Compare location, property details and room attributes, then review uncertain matches before merging.

01

Property matching

Every listing is matched to one shared hotel ID using location, address, phone and content. Three suppliers send "Grand Hyatt Dubai", "Hyatt Grand, Dubai" and "Grand Hyatt - Dubai DXB"; the API returns one ID for all three. Across 2M+ properties, re-checked continuously, under 0.1% ever show up twice.

Match
02

Room-type mapping

A double room and a twin room are not the same room. Compare bed type, view, occupancy and size before matching. Similar names alone cannot confirm a match.

Rooms
03

Rate-plan mapping

Compare meal plans, cancellation terms, payment timing and inclusions in one format. Rates stay separate when their terms differ, even for the same room.

Rates
04

Content merge

Descriptions, photos and amenities come from the most reliable source for each field, on a list of 300+ amenity types in 14 languages. Chain-direct descriptions beat short wholesaler ones, and high-resolution photos replace duplicate thumbnails.

Content
05

Confidence scores, not guesses

Every match carries a score and the evidence behind it. You set the threshold for each use: merge high-confidence matches for display, and hold anything that touches a booking for review. Nothing below your line merges silently.

Trust
06

Human review for uncertain matches

The roughly 3% the model cannot settle goes to a review queue worked by our supply team, with an agreed turnaround (SLA) and a webhook when each record resolves. Every decision teaches the matcher, so the uncertain share keeps shrinking.

Ops
ROOM MAPPING · BEYOND THE NAMEDIFFERENT NAMESSUPPLIER AGarden View Double1 king bedGarden view2 adultsSUPPLIER BStandard, Garden1 king bedGarden view2 adultssame beds, view and guests: one roomSAME NAMESUPPLIER ADeluxe Room1 king bedCity view2 adultsSUPPLIER CDeluxe Room2 twin bedsCity view2 adultsthe beds differ: kept apartcompare the room, not the name
Capabilities

Mapping API capabilities

Matching
  • Shared property IDs
  • Location + address + phone signals
  • Alias & rebrand tracking
  • Continuous re-verification
  • Dedupe across 30+ suppliers
Rooms & rates
  • Room-type mapping
  • Rate plans in one format
  • Meal plan + occupancy
  • Bed configuration parsing
  • Cancellation terms in one format
Content
  • 300+ amenity types
  • Multilingual descriptions
  • Photo dedupe + ranking
  • Most-reliable-source field merge
  • Accessibility data
Integrate
  • Real-time lookup API
  • Batch file ingest
  • Per-field confidence thresholds
  • Review-queue webhooks
  • No booking dependency
The standalone case

Use the mapping engine behind our Hotels product with your own suppliers. Combine matching listings and review uncertain records while keeping your booking system.

— the same graph that powers Hotels, sold on its own
Properties mapped2M+
Suppliers merged30+
Duplicate rate<0.1%
Who it's for

Who uses Mapping?

OTA

Multi-supplier sellers

You buy from wholesalers yourself and keep your own booking path. We work out which listings are the same hotel and which rooms are the same room, so your results page stops showing duplicates.

EXAMPLE WORKFLOWMatch property records from several sources.
Wholesale

Bedbanks & aggregators

Clean the catalog before your buyers see it. Remove duplicate hotels, standardise rooms and rate plans, and stop refunding stays that were mapped to the wrong room.

EXAMPLE WORKFLOWCompare rooms without merging their rate terms.
Corporate

Booking tools & TMCs

Content from one system, negotiated rates from another, market rates from a third. Resolve all of it to one hotel card so travellers compare rates, not spellings.

EXAMPLE WORKFLOWReview uncertain matches before publishing.
Questions

Mapping: common questions

Something we haven’t covered? Talk to the team. We can help you work through your integration.

Illustration: a hotel concierge and a traveller study one clear floor plan together at a bright counter, a single room key resting beside it
Do I have to book through OnArrival to use this?

No. Mapping is a standalone service with its own API and contract. Send feeds, get shared hotel and room IDs back, and book through any supplier or bedbank you like. The API resolves identity; it never touches the booking.

How is this different from the mapping inside your Hotels product?

Same engine, different door. Hotels applies it behind the scenes to every search. Mapping gives it to you directly: your feeds in, shared property and room IDs out, whether or not you ever call our booking APIs.

How accurate is the matching, honestly?

Around 97% of records resolve automatically, every match carries a confidence score, and across the 2M+ property graph under 0.1% of listings ever show up twice. Below your chosen threshold nothing merges silently; it waits for review instead.

What happens to records the engine cannot settle?

They go to a human-review queue worked by our supply team. Each decision comes back by webhook and teaches the matcher, so the same question does not come back next quarter.

How do I send you a supplier feed?

Two ways: batch upload for full catalog files (CSV, JSON or the supplier’s own export), and a real-time lookup API for resolving records at search or import time. New suppliers are added as configuration, not code.

Can I map my own direct contracts and private supply?

Yes. Direct contracts, extranet loads and rate files go through the same pipeline, resolve against the same hotel IDs and stay flagged as yours in every response.

Related reading

All field notes →
Start building
Try Hotel & Room Mapping with sandbox access.