Submit an async room mapping job

What it does: Starts a background mapping job for one hotel (jobId to poll).

Workflow role: Step 1 — create or refresh hotel mappings.

Use when: Hotel onboarding, catalog refresh, or sending trusted attributes (supplierRooms, optional referenceRooms, attributeDetail).

Do not use when: You only need instant sync scores — use POST /rooms/match.

Details, examples, limits, and result codes: Implementation Workflow (doc page: implementation-workflow).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Non-empty hotel identifier

referenceRooms
array of objects
length ≤ 500

Optional. Allowed mapping targets (the catalog). Omit or send empty to score against our hotel catalog, which the service resolves automatically. When supplied, the caller's list wins. Rejected above 500 rooms; the same limit applies to the catalog resolved on your behalf. Attributes are optional per room.

referenceRooms
supplierRooms
array of objects
required
length between 1 and 100

Supplier rooms to map. Blank names are dropped and normalized duplicates removed; max 100 after deduplication. Name-only objects are valid. Every job is audited with attributes on both sides: our catalog attributes are added to the references, and facets stated in room names are derived on both sides.

supplierRooms*
string
required

Supplier room name.

string
length ≤ 128

Source supplier for this room (for example expedia, booking.com, agoda, or any raw provider token). Overrides the job-level provider for this room. Copied to the room's final.p field. Providers are stored as a sorted, deduplicated, |-joined set, so a | is rejected here.

attributes
object

Optional structured evidence about a room. Omitted fields mean the source did not state them, never that the room lacks them. Values are free-form: known variants are canonicalised (structure synonyms, both/either, m2/m²/sqft), the rest are lower-cased and trimmed and kept rather than rejected. Only unusable input is refused: negative counts, a non-positive size, a size without a unit, empty bed types and duplicate feature keys. At most 4 KiB per room's attributes and 256 KiB across a list.

string
length ≤ 128

Source supplier of the submitted room names (for example expedia, booking.com, hotelbeds). Copied to every decision's final.p field, echoed on the job and on the 202 response, and persisted only when the job writes an isolated customer cache. supplierRooms[].provider overrides it per room. When the mapping already carries a provider, the supplied one is merged into that set. Must not contain |. Leave unset to keep the previous behaviour.

string
enum
Defaults to summary

How much attribute context the audit receives. none sends names only; summary (default) sends structure, tier, bedrooms, beds, bedRelation, occupancy, size, views and accessibility; full adds features and amenities. Applies to both supplier and reference attributes. The full request is always stored on the job.

Allowed:
Responses

401

Unauthorized

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json