文档中心 > 酒店客栈

酒店试单请求详解

更新时间:2023/12/04 访问次数:44350

验证价格库存接口(商家封装服务)

  • 场景
  1. 用户进入预定页面之前,会通过此接口到直连商家确认产品是否可售
  •  要求
  1. 响应时间2秒以内(超时认为试单通过)
  2. 有明确的成功或失败结果
  3. 价格、担保、退改规则有变化有正确的反馈

 第三方系统根据此接口定义实现试单方法,并暴露成服务。去啊系统在用户下单时调用第三方的试单服务来确认产品是否可售。

接收阿里旅行调用接口方式
1. 由第三方提供一个接收阿里请求的服务地址(注意:所有的接口请求均用这个相同的地址),以及用于验证的用户名和密码。
2. 第三方根据请求参数中的xml父节点区分业务请求类型,根据文档要求开发接收请求数据和返回相应的数据

 

  • 请求参数

名称

类型

是否必须

最大长度/取值范围

描述

示例值

Username

String

100

第三方系统接口调用需要校验时的用户名。

taobao

Password

String

100

第三方系统接口调用需要校验时的密码

taobao

CreateToken

String

255

单次请求token

taobao1387784033263-1387784033266

TaoBaoHotelId

long

 

淘宝酒店id

123456789

HotelId

String

64

OTA酒店id,即第三方系统中的酒店id

80

TaoBaoRoomTypeId

long

 

淘宝房型id

123456978

RoomTypeId

String

64

OTA房型id,即第三方系统中的房型id

1205

 

TaoBaoRatePlanId

long

 

淘宝价格计划id

123000123

 

RatePlanCode

String

64

OTA价格计划id,即第三方系统中的价

格计划id

VIP

 

TaoBaoGid

long

 

淘宝酒店商品id

123456789

0

 

 

CheckIn

Date

yyyy-MM-dd

入住时间

2013-12-24

 

CheckOut

Date

yyyy-MM-dd

离店日期。

注:小时房默认离店日期等同于入住日

期,如有特殊需求请联系技术支持

2013-12-26

 

RoomNum

int

取值:1-9

房间数量(最大为9)

1

 

CustomerNumber

int

取值:1-9

入住人数

3

 

Occupancy

Occupancy

 否  

不支持儿童价的商家,不显示此字段

支持儿童价的商家,此字段会显示

 
Occupancy.AdultNumber  int  否 取值:1-9

成人数量

不支持儿童价的商家,不显示此字段

支持儿童价的商家,此字段会显示

2

Occupancy.ChildrenNumber

 int 否   

儿童数量

不支持儿童价的商家,不显示此字段

支持儿童价的商家,此字段会显示

Occupancy.ChildrenAge

 List<Integer>  否  

儿童年龄列表

不支持儿童价的商家,不显示此字段

支持儿童价的商家,此字段会显示

 

Occupancy.ChildrenAge.Age

 int 否   

儿童年龄

不支持儿童价的商家,不显示此字段

支持儿童价的商家,此字段会显示

 

PaymentType

int

取值:1、5、6

支付方式1预付5面付6信用住

5

 

Extensions

 

String

 

扩展字段json,用于处理特殊OTA个

性需求添加的扩展字段

{"key":"value"}

 

Supplier

String

  供应商 taobao  

TotalPrice

Long

 

订单总价,单位分

包含儿童价部分

10000 

DailyInfos

DailyInfos

  每日价格   

CurrencyCode

String

  币种  CNY 

示例:

<ValidateRQ>

  <AuthenticationToken>

    <Username>taobao</Username>

    <Password>B75!jaJb[eO8</Password>

    <CreateToken>22251178182015010620150107497867981843210904377</CreateToken>

  </AuthenticationToken>

  <TaoBaoHotelId>1357757818</TaoBaoHotelId>

  <HotelId>3FENY3V11P</HotelId>

  <TaoBaoRoomTypeId>5501264818</TaoBaoRoomTypeId>

  <RoomTypeId>3FENY3V11P-RT1241</RoomTypeId>

  <TaoBaoRatePlanId>4978679818</TaoBaoRatePlanId>

  <RatePlanCode>3FENY3V11P-RT1241-RP846</RatePlanCode>

  <TaoBaoGid>3824371818</TaoBaoGid>

  <CheckIn>2015-01-06</CheckIn>

  <CheckOut>2015-01-07</CheckOut>

  <RoomNum>1</RoomNum>

  <CustomerNumber>4</CustomerNumber>

  <Occupancy>

    <AdultNumber>2</AdultNumber>

    <ChildrenNumber>2></ChildrenNumber>

    <ChildrenAge>

      <Age>12</Age>

      <Age>9</Age>

    </ChildrenAge>

  </Occupancy>

  <PaymentType>1</PaymentType>

  <Extensions>{"searchid":"22251178182015010620150107497867981843210904377"}        </Extensions>

  <TotalPrice>7949</TotalPrice>

  <DailyInfos>

    <DailyInfo>

      <Day>2019-12-30</Day>

      <Price>7949</Price>

      <BreakFast>2</BreakFast>

     </DailyInfo>

  </DailyInfos>

  <CurrencyCode>CNY</CurrencyCode>

</ValidateRQ>

返回结果(成功)

名称

类型

是否必须

限制范围

描述

示例值

Message

String

300

试单可能需要返回的一些描述信息

123456

CreateOrderValidateKey

String

512

该返回值用于接入方需要在下单时传入的试单信息(如试单Key或ID等等,接入方自己定义格式,淘宝会把该返回值原封不动透传到“订单创建”接口参数Extensions字段中,Key为CreateOrderValidateKey)

abc73772883333

ResultCode

String

取值:0

处理结果,0成功

0

InventoryPrice

String

请求期间价格库存日历

价格日历

其中Price是总价

price=roomPrice+tax+serviceFee

 roomPrice是房费(儿童加价应包含在内)

 tax是税费

 serviceFee是服务费

如果没有拆分房费税费服务费只需要传price值,拆分了且需要传的话,必须保证三者都有值,quota是剩余真实库存

如果试单请求中的RatePlanCode属于底价加价的价格计划,价格日历中仅填充price字段

[{"date":"2015-01-01","price":21000,"roomPrice":19000,
"tax":2000,"serviceFee":0,"quota":4},
{"date":"2015-01-02","price":22000,"roomPrice":20000,
"tax":2000,"serviceFee":0,"quota":4},
{"date":"2015-01-03","price":25000,"roomPrice":23000,
"tax":2000,"serviceFee":0,"quota":5}]

CurrencyCode

 String  否  

如果是外币,此项为必填,如不返回,默认为CNY

 CNY,USD,HKD

示例:

<?xml version="1.0" encoding="utf-8"?>

<Result>

  <Message></Message>

  < CreateOrderValidateKey></ CreateOrderValidateKey>

  <ResultCode>0</ResultCode>

<InventoryPrice>

[{"date":"2015-01-01","price":21000,"roomPrice":19000,"tax":2000,"serviceFee":0,"quota":4},{"date":"2015-01-02","price":22000,"roomPrice":20000,"tax":2000,"serviceFee":0,"quota":4},{"date":"2015-01-03","price":25000,"roomPrice":23000,"tax":2000,"serviceFee":0,"quota":5}]

</InventoryPrice>

<CurrencyCode>CNY</CurrencyCode>

</Result>

返回结果(失败)

名称

类型

是否必须

限制范围

描述

示例值

Message

String

 

错误原因

满房

ResultCode

String

取值:-1,-2,-3, -4

错误码

-1:表示满房(请求日期段库存都为0,不可预定)

-2:标识RP失效

-3:房量不足(请求日期端库存不全部为0,部分可售)

-4: 其他不可预定(发生异常等)

-1

InventoryPrice

String

请求期间价格库存日历

价格日历

[{"date":"2015-01-01","price":21000,"quota":4},{"date":"2015-01-02","price":22000,"quota":4},{"date":"2015-01-03","price":25000,"quota":5}]

示例:

<!--满房-->

<?xml version="1.0" encoding="utf-8"?>

<Result>

  <Message>满房</Message>

  <ResultCode>-1</ResultCode>

</Result>

 

<!--房量不足-->

<?xml version="1.0" encoding="utf-8"?>

<Result>

  <Message>房量不足</Message>

  <ResultCode>-3</ResultCode>

<InventoryPrice>

[{"date":"2015-01-01","price":21000,"quota":0},{"date":"2015-01-02","price":22000,"quota":4},{"date":"2015-01-03","price":25000,"quota":0}]

</InventoryPrice>

</Result>

返回结果定义表

以下是第三方接到支付成功请求后,处理成功或失败时应该返回的结果。此表已定义结果类型不会修改,但可能会根据业务情况进行增补。

ResultCode

Message

备注

0

处理成功

 

-1

处理失败-满房

请求日期段库存都为0,返回满房。系统会清空对应日历的库存报价

-2

处理失败-价格计划问题

失效对应的价格计划

-3

处理失败-房量不足

房量不足(请求日期端库存不全部为0,部分可售)

-4

其他失败

例如发生异常等

 注:1、除了以上4种状态,不允许返回其余错误信息。所有第三方系统原因的错误都由系统商自行消化。返回明确的结果。

2、试单如果需要返回退订政策、担保信息的商家。请与阿里技术联系解决方案。

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部