方法名称
hotel.order.update(废弃)
使用说明
1. 只能修改非担保的前台现付订单,并且是新单、已审和已确认、满房、特殊满房五个状态的订单
2. 最晚修改时间: 在新单、已审状态下为最晚到店时间,在已确认状态下为入住日的24点
4. 属性含义和规则都和提交订单接口相同,可以为空的属性,若不修改请设置为NULL
5. 修改订单的时候,请验证参数逻辑有效性。同时考虑房量(新增加的房量或新增加的日期的房量都是否可卖),减少修改失败
6. 修改订单时总价可能发生变化,请传入总价进行校验,成功后获取修改后订单的总价;如果修改后GuaranteeMoney大于0,则表示该订单已是担保订单
7. 不适用场景:仅离店日延期、增加房间数量;这时候建议创建新单,因为修改后的订单如果确认失败会导致整个订单失败。其他的预订内容变化,能用update接口实现的就不要使用create接口。
8. 须使用https访问本接口。
输入参数
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
OrderId | 订单编号 | Long | N | |
RoomTypeId | 房型编号 | String(10) | N | |
RatePlanId | 产品编号 | Int | N | 必须为现付产品。变更RatePlan时只能变更为同一hotelcode下的RatePlan。 |
ArrivalDate | 入住日期 | Date | N | |
DepartureDate | 离店日期 | Date | N | |
EarliestArrivalTime | 最早到店时间 | DateTime | N | |
LatestArrivalTime | 最晚到店时间 | DateTime | N | |
NumberOfRooms | 房间数量 | Int | N | |
NumberOfCustomers | 客人数量 | Int | N | |
TotalPrice | 订单总价 | Decimal | N | 校验传入的总价和系统修改后价格,若不相等则拒绝本次订单修改 |
Contact | 联系人 | Element | Y | hotel.order.create#Contact |
IsForceGuarantee | 是否强制担保 | Boolean | Y | 版本V1.08新增。 强制担保对应的担保金额是首晚,并且不可变更取消。 建议不要使用该字段。一般是产品无担保规则,酒店对某个特定订单要求临时增加担保的时候使用。客服会将设置强制担保属性,代理使用hotel.order.pay接口支付即可。 |
IsGuaranteeOrCharged | 是否已担保或已付款 | Boolean | N | 开通了公司担保业务的合作伙伴才能使用该属性 |
CreditCard | 信用卡 | Element | Y | 参考hotel.order.create#CreditCard |
DoveCorpCard | 第三方支付 | DoveCorpCard | Y | 担保订单和预付订单才须传第三方支付信息。 如果IsGuaranteeOrCharged为false,则一定不能传第三方支付信息。 参考DoveCorpCard节点 |
OrderRooms | 预订的房间数 | OrderRoom[] | N | 参考hotel.order.create#OrderRooms |
NoteToHotel | 客人对酒店的特殊要求 | string(100) | Y | 更新订单的时候,先看看原来填写了什么内容。这里传入的内容将追加在原内容之后。 |
响应结果
节点 | 名称 | 类型 | 可为空 | 说明 |
---|---|---|---|---|
OrderId | 订单编号 | Long | N | |
CancelTime | 最晚取消时间 | DateTime | N | |
GuaranteeAmount | 担保金额 | Decimal | Y | |
GuaranteeCurrencyCode | 担保金额的货币 | Enum | Y | RMB,HKD,MOP,TWD |
TotalPrice | 订单总价 | Decimal | N | 更新订单后总价可能改变 |
CurrencyCode | 总价的货币 | Enum | N | RMB,HKD,MOP,TWD |
IsInstantConfirm | 是否是即时确认 | boolean | Y | v1.19新增。采用这个属性,就不需要再请求hotel.order.instant接口了。 即时确认只说明这个库存确认方式,最终能否确认给客人还需要考虑订单是担保订单(担保订单需要担保成功后才能确认) |
PaymentDeadlineTime | 支付最后期限 | DateTime | Y | v1.19新增。如果担保订单,提交的信用卡因某种原因支付失败,系统可以保留一段时间继续支付。如果这个时间点还没有成功支付系统将自动取消订单。 继续支付请使用 hotel.order.pay接口 |
PaymentMessage | 支付错误信息 | string | Y | v1.19新增。 |
输入示例
https://api-test.elong.com/rest?format=json&method=hotel.order.update &user={userid}×tamp=1488508207&signature=1b34c24f5c31381a67c666f4dc211077 &data={"Version":"1.28","Local":"zh_CN","Request": {"OrderId":"1234567","RoomTypeId":"1043","RatePlanId":"8703", "ArrivalDate":"2017-3-7","DepartureDate":"2017-3-8","EarliestArrivalTime": "2017-3-7 14:00","LatestArrivalTime":"2017-3-7 17:00","NumberOfRooms":"1", "NumberOfCustomers":"1","IsGuaranteeOrCharged":"true","OrderRooms":"1044"}}
输出示例
{ "Code":"0", "Result":{ "OrderId":12345678, "CancelTime":"9999-12-30 00:00:00". "IsInstantConfirm":false } "Guid":"196d84d9-19b1-4aa2-8891-1c699e806a3c" }
常见错误码
错误码 | 解释 | 解决方法 |
---|---|---|
H000005 | 入住日期不能为空 | 可能是日期格式错误导致的,支持的日期时间格式:"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" |
H000018 | {0}含有非法字符 | 提交的信息不能包含如下9个特殊字符:'<', '>', '&', '\'', '"', ';', '\\', ':', '=' |
H000997 | 未知异常 | 重试,反复出现请联系技术支持人员 |
H001013 | 是否已担保或已付款必须填写 | 开通了公司担保业务,如果订单需要支付,则IsGuaranteeOrCharged必须为true,且不能传入信用卡信息。 |
H001037 | 信用卡失效或已担保或已支付业务已经失效 | 可能的原因有两个,一是没有开通虚拟卡业务的,那么就是传入的信用卡失效,让客户传入可用的信用卡;如果开通了虚拟卡业务,则是虚拟卡过期,联系商务解决。 |
H001039 | 预付或强制担保订单必须设置为已经担保或已经支付 | 开通了公司担保业务,如果订单需要支付,则IsGuaranteeOrCharged必须为true,且不能传入信用卡信息。 |
H001040 | 无支付或担保权限,不能设置为已经担保或已经支付 | 即没有开通虚拟卡业务,如要开通,需要联系商务。 |
H001041 | 使用已担保或已支付业务,不需要提供信用卡信息 | 开通了公司担保业务,如果订单需要支付,一定不要传入信用卡信息。 |
H001152 | 预付或强制担保订单使用虚拟卡业务,不需要提供信用卡信息与第三方支付信息 | 开通公司担保业务且未开通公司第三方支付,如果订单需要支付,一定不要传入信用卡信息与第三方支付信息。 |
H001153 | 预付或强制担保订单使用第三方支付业务,不需要提供信用卡信息 | 开通公司第三方支付,如果订单需要支付,一定不要传入信用卡信息。 |
H001154 | 预付或强制担保订单使用第三方支付业务,需要提供第三方支付信息 | 开通公司第三方支付,如果订单需要支付,需要提供第三方支付信息。 |
H001155 | 无支付或担保权限,不需要提供第三方支付信息 | 未开通公司第三方支付,一定不要提供第三方支付信息。 |
H001156 | 无法确认开通支付业务的权限类型(虚拟卡业务或第三方支付业务) | 担保业务与第三方支付业务不能同时开通,需联系商务解决。 |
H001083 | 获取产品信息失败,可能酒店、房型和RatePlan无效或未关联,也可能无对应库存或房价 | 遇到这个问题,首先检查HotelId、RoomTypeId和RatePlanId对应关系是否正确(HotelId不要传HotelCode,RoomTypeId不要传RoomId)。如果对应正确,那么可能是库存失效导致的,大部分原因是因为数据更新不及时,用户搜索得到结果后过了一段时间才下单,此时数据已发生变化,无库存、满房、无价、不符合预定规则。该问题不可能完全杜绝,离线数据模式可以通过及时更新数据来减少。 |
H001085 | 底层提交订单异常 | 重试,反复出现请联系技术人员解决。 |
H001086 | 尾房产品应该在合适的时间销售 | 参考hotel.data.rp接口中是否今日特价字段及其日期。 |
H099999999 | 未知错误 | 重试,反复出现请联系技术人员解决。 |
H100999 | 系统异常 | 重试,反复出现请联系技术人员解决。 |
H101093 | 底层提交订单保存异常,请重试 | 重试,反复出现请联系技术人员解决。 |
H001095 | 给酒店的备注不能包含:务必、一定、必须此类话语 | 主要是港澳酒店不允许出现。 |
H001044-3 | 计算订单价格失败 | 重试,反复出现请联系技术人员解决。 |
H001044-4 | 计算订单担保金额失败 | 重试,反复出现请联系技术人员解决。 |