2.2.2.3 订单创建
约 757 字大约 3 分钟
2025-11-04
注意
- 必须
- klook目前单间订单最多支持8间房,如果接入方不支持单个订单多间房,请告知klook每张订单最多支持的房间数是多少,klook可以配置接入方级别拆单系数
- 下单接口只有在超时的情况下,会有重试机制,接入方需要保证下单接口幂等性,即同一订单号的下单请求,如果接入方已经处理过了,则不需要重复处理,只需要返回klook订单对应数据即可
URL
接入方自行定义并提供给klook
入参
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
hotelId | String | true | 接入方酒店 ID |
roomId | String | true | 接入方房型 ID |
ratePlanId | String | true | 接入方 Rate Plan ID |
orderCode | String | true | Klook 订单号(全局唯一) |
checkIn | String | true | 入住时间,格式:yyyy-MM-dd |
checkOut | String | true | 离店时间,格式:yyyy-MM-dd |
currency | String | true | 标准币种三字码 |
contact | Contact | true | 联系人信息 默认语言是 en_US |
specialRequest | String | false | 特殊要求 默认语言是 en_US |
occupancy | Occupancy | true | 房间入住信息(单间入住信息) |
rooms | List<Room> | true | 入住信息List size = 房间数量 |
price | Price | true | 价格信息 |
configData | String | false | 接入方验价返回的自定义数据 |
platform | String | true | 请求来源平台枚举:website, mobile |
Room
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
guests | List<Guest> | true | 入住人信息 |
Guest
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
firstName | String | true | 名 |
lastName | String | true | 姓 |
Occupancy
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
adultCount | Integer | true | 成人数 |
childCount | Integer | true | 儿童数 |
childrenAges | List<Integer> | false | 当儿童数 > 0 时,childrenAges 才会存在数据 |
Price
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
totalPrice | TotalPrice | true | 多房多晚总价 |
TotalPrice
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
amountBeforeTax | String | false | 税前价单位:元 |
amountAfterTax | String | true | 税后价单位:元 |
Contact
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
firstName | String | true | 名 |
lastName | String | true | 姓 |
email | String | true | 邮箱 |
phone | String | true | 电话 |
Base 入参扩展字段
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
supplierAccount | String | false | openApi 供应商账号数据 接入方自行定义账号数据1:账号是为了处理供应商不同账号下资源露出不同的问题,支持多账号2:若接入方无多账号,则传值为null3:长度不超过128字符串 |
入参示例
示例
{
"base": {
"requestId": "xxxx",
"requestTime": "xxx",
"requestAgent": "xxx",
"openApiSign": "xx",
"supplierAccount": "account1",
"version": "xxx"
},
"requestData": {
"hotelId": " ",
"roomId": "room1",
"ratePlanId": " ",
"orderCode": " ",
"checkIn": " ",
"checkOut": " ",
"currency": "CNY",
"contact": {
"firstName": " ",
"lastName": " ",
"email": " ",
"phone": " "
},
"specialRequest": " ",
"occupancy": {
"adultCount": 2,
"childCount": 1,
"childrenAges": [
8
]
},
"rooms": [
{
"guests": [
{
"firstName": " ",
"lastName": " "
}
]
}
],
"price": {
"totalPrice": {
"amountBeforeTax": "180.56",
"amountAfterTax": "195.48"
}
},
"platform": "website",
"configData": "AAAABBBDDDBBDDDDDDD"
}
}出参
Result
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
supplierOrderCode | String | true | 供应商订单号 |
supplierConfirmCode | String | false | 供应商确认号 |
hotelConfirmCode | String | false | 酒店确认号,如果有多个逗号分割 |
status | String | true | 订单状态 请参考3.1 订单状态说明 |
出参示例
示例
{
"success": true,
"error": {
"code": "",
"message": ""
},
"result": {
"supplierOrderCode": "",
"supplierConfirmCode": "",
"hotelConfirmCode": "",
"status": "bookSuccess"
}
}