Match supplier rooms to a reference catalog
What it does: For each supplier room, returns the best reference room match with confidence scores and ranked alternatives.
Workflow role: Optional step 0 — quick sync scoring before async hotel jobs.
Use when: You need an immediate answer with suppliers. Either send references yourself, or omit references and set hotelId so the service resolves the catalog (room_mapping_catalog → LiteAPI data API; your references win if supplied; max 500 rooms).
Do not use when: You need persisted mappings, audit reasons, or room attributes — use POST /rooms/match/async. Not for clustering without a catalog — use POST /rooms/group.
If references is omitted: missing hotelId or unresolvable catalog → 400; Redis or data API failure → 500; suppliers×references over upstream cap → 413 when configured.
Details, examples, limits, and result codes: Implementation Workflow (doc page: implementation-workflow).
Request
- Base URLhttps://api.liteapi.travel/v3.0
- URLhttps://api.liteapi.travel/v3.0/rooms/match
- AuthAPI key in header X-API-Key
Request body
Example request
{
"hotelId": "lpfc771",
"chunkKey": "chunk-1",
"threshold": 0.5,
"topK": 3,
"references": [
{
"name": "King Room"
}
],
"suppliers": [
{
"name": "Deluxe King"
}
]
}Response
OK
Example response
{
"data": {
"hotelId": "lpfc771",
"results": [
{
"i": 0,
"name": "Deluxe King",
"status": "mapped",
"selected": {
"id": "ref-1",
"name": "King Room",
"scoreCalibrated": 0.87,
"predictedLabel": 1
},
"candidates": [
{
"id": "ref-1",
"name": "King Room",
"scoreCalibrated": 0.87,
"predictedLabel": 1
},
{
"id": "ref-3",
"name": "Junior Suite",
"scoreCalibrated": 0.31,
"predictedLabel": 0
},
{
"id": "ref-2",
"name": "Twin Room",
"scoreCalibrated": 0.21,
"predictedLabel": 0
}
]
},
{
"i": 1,
"name": "Standard Twin Room",
"status": "mapped",
"selected": {
"id": "ref-2",
"name": "Twin Room",
"scoreCalibrated": 0.91,
"predictedLabel": 1
},
"candidates": [
{
"id": "ref-2",
"name": "Twin Room",
"scoreCalibrated": 0.91,
"predictedLabel": 1
},
{
"id": "ref-1",
"name": "King Room",
"scoreCalibrated": 0.34,
"predictedLabel": 0
},
{
"id": "ref-3",
"name": "Junior Suite",
"scoreCalibrated": 0.18,
"predictedLabel": 0
}
]
},
{
"i": 2,
"name": "1 King Junior Suite",
"status": "mapped",
"selected": {
"id": "ref-3",
"name": "Junior Suite",
"scoreCalibrated": 0.88,
"predictedLabel": 1
},
"candidates": [
{
"id": "ref-3",
"name": "Junior Suite",
"scoreCalibrated": 0.88,
"predictedLabel": 1
},
{
"id": "ref-1",
"name": "King Room",
"scoreCalibrated": 0.42,
"predictedLabel": 0
},
{
"id": "ref-2",
"name": "Twin Room",
"scoreCalibrated": 0.19,
"predictedLabel": 0
}
]
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.