退改签申请接口
(华住商旅退改签申请接口对接前,请先联系商务开通接口权限)
新建超时取消/提前离店申请单
功能描述:(1)处于特殊情况下的订单取消,创建超时取消单,只能申请未入住订单。
(2)已入住未离店订单的提前离店,创建提前离店申请单,只能申请已入住未离店且预订单只预订一间房的订单
接口地址:order/discrepantReservationCancel
请求方式:POST
请求参数说明:
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
cardId | String | 客户卡号 | Y |
cardpassWord | String | 客户验证码 | Y |
orderId | String | 华住订单号 | Y |
applyReason | String | 需使用中文描述提交差异申请原因 | Y |
applyType | String | 申请类型 CANCEL 申请取消 EARLY_DEPARTURE 申请提前离店 默认为 CANCEL 申请取消 | N |
adjustCheckOutDate | Date | 申请提前离店日期 日期格式:yyyy-MM-dd 如果申请类型为“申请提前离店” 则这个字段必填 | N |
请求示例:
{
"cardId": "VCENTCRM0002224829",
"cardpassWord": "123321a",
"orderId": "R2000311106135470001",
"applyReason": "出行目的地有变化,申请提前离店!",
"applyType":"CANCEL",
"adjustCheckOutDate":"2024-07-19"
}
返回参数说明:
参数名 | 参数类型 | 备注 |
---|---|---|
code | code | 状态码 200 成功! 500 应用程序繁忙,请稍后再试! 3081:订单未超过最晚取消时间,不可取消 3024:订单已取消 6201:Reservation not found:订单不存在 6202:Invalid reservation status:订单状态异常 6203:Invalid discrepant reservation status:差异单状态异常 6204:Discrepant reservation not support:渠道不支持差异单 6205:Invalid reservation for distributorId:订单不属于该渠道 10508:ds service error:调用gds推送服务失败 |
message | String | 响应消息 |
content | DiscrepantReservationCancelResponseDTO | DiscrepantReservationCancelResponseDTO |
DiscrepantReservationCancelResponseDTO:
参数 | 类型 | 描述 |
---|---|---|
orderId | String | 订单号 |
discrepancyNo | String | 差异单单号 |
requestNo | String | 下单请求号 |
返回示例:
{
"code": 200,
"content": {
"discrepancyNo": "bdf045dd1a4344e5a7e829c1e1e87064",
"orderId": "R2000311106135470001"
},
"message": "成功",
"echoToken": "aeed2c5f-2943-4834-beb3-65191b26868a"
}
撤销取消单/提前离店申请
功能描述:撤销创建完成的超时取消申请单,撤销提前离店申请单
接口地址:order/discrepantReservationRevocation
请求方式:POST
请求参数说明:
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
cardId | String | 客户卡号 | Y |
cardpassWord | String | 客户验证码 | Y |
orderId | String | 华住订单号 | Y |
cancelReason | String | 撤销原因 | Y |
applyType | String | 申请类型 CANCEL 申请取消 EARLY_DEPARTURE 申请提前离店 默认为 CANCEL 申请取消 | N |
请求示例:
{
"cardId": "VCENTCRM0002224829",
"cardpassWord": "123321a",
"orderId": "R2000311106135470001",
"cancelReason": "有其他安排,申请取消订单"
}
返回参数说明:
参数名 | 参数类型 | 备注 |
---|---|---|
code | code | 状态码 200 成功! code不为200,表示撤销差异单失败 500 应用程序繁忙,请稍后再试! |
message | String | 响应消息 |
content | boolean | 布尔结果或通过状态码判断 |
返回示例:
{
"code": 200,
"content": true,
"message": "成功",
"echoToken": "aeed2c5f-2943-4834-beb3-65191b26868a"
}
查询取消/提前离店申请单详情
功能描述:可查询取消单/提前离店申请单详情。发起取消/提前离店申请之后,通过对接回调接口可以获得结果通知。为防止通知失败,客户也可以在发起申请之后主动调用此接口查询。
接口地址:order/discrepantReservationDetail
请求方式:POST
请求参数说明:
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
cardId | String | 客户卡号 | Y |
cardpassWord | String | 客户验证码 | Y |
orderId | String | 华住订单号 | Y |
applyType | String | 申请类型 CANCEL 申请取消 EARLY_DEPARTURE 申请提前离店 默认为 CANCEL 申请取消 | N |
请求示例:
{
"cardId": "VCENTCRM0002224829",
"cardpassWord": "123321a",
"orderId": "R2000311106135470001"
}
返回参数说明:
参数名 | 参数类型 | 备注 |
---|---|---|
code | code | 状态码 200 成功! 500 应用程序繁忙,请稍后再试! |
message | String | 响应消息 |
content | List<DiscrepantReservationDetailResponseDTO> | 申请单详情 |
DiscrepantReservationDetailResponseDTO
参数 | 类型 | 描述 |
---|---|---|
hotelId | String | 酒店ID |
hotelName | String | 酒店名称 |
orderId | String | 订单号 |
outerNo | String | 渠道单号 |
discrepancyNo | String | 差异单单号 |
modifyType | Integer | 差异单调整类型:0是超时取消,1是提前离店 |
name | String | 预订人姓名 |
memberLevel | String | 会员等级 |
roomType | String | 预订房型 |
roomCount | String | 预订房间数 |
checkIn | String | 入住日期 格式:yyyy-MM-dd |
checkOut | String | 离店日期 格式:yyyy-MM-dd |
nightCount | Integer | 间夜 |
orderTotalPrice | BigDecimal | 房费总金额 |
createDate | String | 差异单创建日期 格式:yyyy-MM-dd HH:mm:ss |
reviewDate | String | 差异单审核日期 格式:yyyy-MM-dd HH:mm:ss |
reviewStatus | Integer | 差异单审核状态(1待处理,2已同意,3已拒绝 5已撤销) |
applyReason | String | 需使用中文描述提交差异申请原因 |
refuseReason | String | 差异单拒绝原因 1、提交申请后,默认30分钟内,无任何操作,系统会自动拒绝,内容是review timeout 2、提交申请后,30分钟内,店长操作申请拒绝,必须填写原因,内容是审核人填写的 |
discrepancyInfo | DiscrepancyInfoDTO | 差异信息 |
DiscrepancyInfoDTO
参数 | 类型 | 描述 |
---|---|---|
totalOriginalRoomNights | Integer | 总原间夜数 |
totalAdjustedRoomNights | Integer | 总调整后间夜数 |
totalOriginalRoomPrice | BigDecimal | 原房间总价(不含税点差) |
totalOriginalRoomTaxPrice | BigDecimal | 原房间总价(含税点差) |
totalAdjustedRoomPrice | BigDecimal | 调整后房间总价(不含税点差) |
totalAdjustedRoomTaxPrice | BigDecimal | 调整后房间总价(含税点差) |
dailyDiscrepancies | List<DailyDiscrepancy> | 每日差异信息 |
实际退款金额=totalAdjustedRoomTaxPrice-totalOriginalRoomTaxPrice
线上退款日期:预订单中的离店日期+1天退款,若退款失败则可通过月结账单的差异单线下处理
DailyDiscrepancy
参数 | 类型 | 描述 |
---|---|---|
bizDate | String | 日期 格式:yyyy-MM-dd HH:mm:ss |
originalRoomCount | Integer | 原房间数 |
adjustedRoomCount | Integer | 调整后房间数 |
marketPrice | BigDecimal | 门市价 |
originalRoomPrice | BigDecimal | 原房间单价(不含税点差) |
originalRoomTaxPrice | BigDecimal | 原房间单价(含税点差) |
adjustedRoomPrice | BigDecimal | 调整后房价(不含税点差) |
adjustedRoomTaxPrice | BigDecimal | 调整后房价(含税点差) |
originalDailyAmount | BigDecimal | 原当天房费总计(不含税点差) |
originalDailyTaxAmount | BigDecimal | 原当天房费总计(含税点差) |
adjustedDailyAmount | BigDecimal | 调整后房费总计)(不含税点差) |
adjustedDailyTaxAmount | BigDecimal | 调整后房费总计(含税点差) |
additionalDailyAmount | BigDecimal | 调整后差价 |
返回示例:
{
"code": 1000,
"content": [
{
"hotelId": "7000014",
"hotelName": "测试",
"orderId": "R2000311106135470001",
"outerNo": "",
"discrepancyNo": "bdf045dd1a4344e5a7e829c1e1e87064",
"modifyType": "0",
"name": "李四",
"phoneNumber": "13163357638",
"memberLevel": "1",
"roomCount": "1",
"checkIn": "1647311473",
"checkOut": "16473114789",
"nightCount": "1",
"serviceComment": "",
"orderTotalPrice": 299.00,
"initiator": "Distributor",
"initiatorId": "李四",
"reviewer": "",
"reviewerId": "",
"createDate": "1647311473",
"reviewDate": "1647311473",
"reviewStatus": "0",
"applyReason": "出行目的地有变化,申请提前离店!",
"refuseReason": "",
"discrepancyInfo": {
"totalOriginalRoomNights": 1,
"totalAdjustedRoomNights": 1,
"totalOriginalRoomPrice": 299.00,
"totalAdjustedRoomPrice": 299.00,
"dailyDiscrepancies": {
"bizDate": "1647311473",
"roomCount": 12,
"marketPrice": 299.00,
"originalRoomPrice": 299.00,
"adjustedRoomPrice": 299.00,
"originalDailyAmount": 299.00,
"adjustedDailyAmount": 299.00,
"additionalDailyAmount": 299.00
}
}
}
],
"message": "成功",
"echoToken": "aeed2c5f-2943-4834-beb3-65191b26868a"
}
取消/提前离店申请单结果通知
请求参数:
参数名 | 参数类型 | 备注 |
---|---|---|
hotelId | String | 酒店id |
orderId | String | 订单号 |
discrepancyNo | String | 申请单号 |
result | bool | 申请单结果(true审批通过,false审批拒绝) |
resultDesc | String | 申请结果描述 1、提交申请后,默认30分钟内,无任何操作,系统会自动拒绝,内容是review timeout 2、提交申请后,30分钟内,店长操作申请拒绝,必须填写原因,内容是审核人填写的 |
请求示例:
{
"hotelId": "2000014",
"orderId": "R20000141000001232123",
"discrepancyNo": "123111111",
"result": true,
"resultDesc": "同意取消"
}
返回要求
需要http返回码为200 即可
提前离店预审
接口地址:order/checkDiscrepantEarlyDeparture
请求方式:POST
请求参数说明:
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
cardId | String | 客户卡号 | Y |
cardpassWord | String | 客户验证码 | Y |
orderId | String | 华住订单号 | Y |
adjustCheckOutDate | Date | 提前离店时间 日期格式:yyyy-MM-dd | Y |
请求示例:
{
"cardId": "VCENTCRM1032595964",
"cardpassWord": "7174ADC6-7A72-482B-80CD-35E52CB2D288",
"orderId": "R3100052121789221001",
"applyReason": "出行目的地有变化,申请提前离店!",
"adjustCheckOutDate": "2023-07-12"
}
返回参数说明:
参数名 | 参数类型 | 备注 |
---|---|---|
code | code | 状态码 200 成功! 500 应用程序繁忙,请稍后再试! |
message | String | 响应消息 |
content | DiscrepancyInfoDTO | 预审信息 |
DiscrepancyInfoDTO
参数 | 类型 | 描述 |
---|---|---|
totalOriginalRoomNights | Integer | 总原间夜数 |
totalAdjustedRoomNights | Integer | 总调整后间夜数 |
totalOriginalRoomPrice | BigDecimal | 原房间总价(不含税点差) |
totalOriginalRoomTaxPrice | BigDecimal | 原房间总价(含税点差) |
totalAdjustedRoomPrice | BigDecimal | 调整后房间总价(不含税点差) |
totalAdjustedRoomTaxPrice | BigDecimal | 调整后房间总价(含税点差) |
dailyDiscrepancyList | List<DailyDiscrepancy> | 每日差异信息 |
实际退款金额=totalAdjustedRoomTaxPrice-totalOriginalRoomTaxPrice
线上退款日期:预订单中的离店日期+1天退款,若退款失败则可通过月结账单的差异单线下处理
DailyDiscrepancy
参数 | 类型 | 描述 |
---|---|---|
bizDate | String | 日期 |
originalRoomCount | Integer | 原房间数 |
adjustedRoomCount | Integer | 调整后房间数 |
marketPrice | BigDecimal | 门市价 |
originalRoomPrice | BigDecimal | 原房间单价(不含税点差) |
originalRoomTaxPrice | BigDecimal | 原房间单价(含税点差) |
adjustedRoomPrice | BigDecimal | 调整后房价(不含税点差) |
adjustedRoomTaxPrice | BigDecimal | 调整后房价(含税点差) |
originalDailyAmount | BigDecimal | 原当天房费总计(不含税点差) |
originalDailyTaxAmount | BigDecimal | 原当天房费总计(含税点差) |
adjustedDailyAmount | BigDecimal | 调整后房费总计(不含税点差) |
adjustedDailyTaxAmount | BigDecimal | 调整后房费总计(含税点差) |
additionalDailyAmount | BigDecimal | 调整后差价 |
返回示例:
{
"code": "200",
"message": "成功!",
"content": {
"totalOriginalRoomNights": 3,
"totalAdjustedRoomNights": 1,
"totalOriginalRoomPrice": 823,
"totalOriginalRoomTaxPrice": 823,
"totalAdjustedRoomPrice": 297,
"totalAdjustedRoomTaxPrice": 297,
"dailyDiscrepancyList": [
{
"bizDate": "2023-08-08",
"originalRoomCount": 1,
"adjustedRoomCount": 1,
"marketPrice": 149,
"originalRoomPrice": 297,
"originalRoomTaxPrice": 297,
"adjustedRoomPrice": 297,
"adjustedRoomTaxPrice": 297,
"originalDailyAmount": 297,
"originalDailyTaxAmount": 297,
"adjustedDailyAmount": 297,
"adjustedDailyTaxAmount": 297,
"additionalDailyAmount": 0
},
{
"bizDate": "2023-08-09",
"originalRoomCount": 1,
"adjustedRoomCount": 0,
"marketPrice": 149,
"originalRoomPrice": 263,
"originalRoomTaxPrice": 263,
"adjustedRoomPrice": 0,
"adjustedRoomTaxPrice": 0,
"originalDailyAmount": 263,
"originalDailyTaxAmount": 263,
"adjustedDailyAmount": 0,
"adjustedDailyTaxAmount": 0,
"additionalDailyAmount": 0
},
{
"bizDate": "2023-08-10",
"originalRoomCount": 1,
"adjustedRoomCount": 0,
"marketPrice": 149,
"originalRoomPrice": 263,
"originalRoomTaxPrice": 263,
"adjustedRoomPrice": 0,
"adjustedRoomTaxPrice": 0,
"originalDailyAmount": 263,
"originalDailyTaxAmount": 263,
"adjustedDailyAmount": 0,
"adjustedDailyTaxAmount": 0,
"additionalDailyAmount": 0
}
]
},
"echoToken": "604054d2-b39f-4287-93ab-f065b32ef501"
}