Push ARI Signal

When the ARI changes, the notification signal of the corresponding hotel will be pushed. After receiving the signal, the distributor needs to call Price and Restrictions interface and Inventory Query interface to obtain the real-time house price according to the message content. refer to Enumeration Dictionary

Push Protocol#

https POST

Huazhu side request timeout request.timeout = 3s


Description#

  1. when the regular price room inventory changes, the promotion room inventory must change, so the docking party needs to pull the corresponding promotion room inventory of the hotel
  2. when the regular price room price changes, the promotion price must change, so the docking party needs to pull the corresponding promotion room price of the hotel
  3. In the early stage of GDS, there will be redundant room inventory change push situation when the regular room inventory becomes 0, so the docking party needs to pull the time rental room inventory.

Push parameters#

ParameterTypeRequiredMaximum lengthExampleDescription
hotelIdStringY3212 * * 567Hotel ID
startDateY-Start date, format: yyyy-MM-dd HH: mm: ss
endDateY-Start date, format: yyyy-MM-dd HH: mm: ss,The change time does not include the day of end (start is required if the start end is the same day)
typeStringY20Push data type, Enumeration Dictionary
roomTypeIdStringN20Room Id
activityIdStringN9Promotion ID, positive price change field is empty
timestampDateY-Change timestamp, format: yyyy-MM-dd HH: mm: ss.fff
echoTokenStringY20UUID is used by both parties to locate the problem

[failure retry]:
1. after the request fails for the first time, it will be retried immediately
2. if the request fails for two consecutive times, it will enter the failure message queue and delay sending
3. tasks in the failure queue will increase the call interval one by one according to the number of retries, and will not be retried after more than 10 times. The docking party should consider judging whether the current message is the latest data according to the timestamp (timestamp) to avoid historical messages overwriting the latest status.

Response parameters#

ParameterTypeRequiredMaximum lengthExampleDescription
statusStringY101Status code, 1 successful,-1 failed
errorcodestringN50defined by the interfacing party
errormsgstringN500The docking party defines it by itself and needs to clearly describe the cause of the problem

Message example#

Case1: Change of Positive Price of Specified Room Type#

Request Example#

{
"hotelId": "2011032 ",
"start": "2019-10-01 00:00:00 ",
"end": "2019-10-10 00:00:00 ",
"type": "Inventory ",
"roomTypeId": "TR ",
"activityId ": "",
"timestamp": "2019-09-20 18:35:32.489 ",
"echoToken": "0525082e5fe04938ac688167ac4b9d2c"
}

Case2: All room types and normal prices have changed#

Request Example#

{
"hotelId": "2011032 ",
"start": "2019-10-01 00:00:00 ",
"end": "2019-10-10 00:00:00 ",
"type": "price ",
"roomTypeId ": "",
"activityId ": "",
"timestamp": "2019-09-20 18:35:32.283 ",
"echoToken": "0525082e5fe04938ac688167ac4b9d2c"
}

Case3: Changes in designated room type, designated activity and promotion room inventory#

Request Example#

{
"hotelId": "2011032 ",
"start": "2019-10-01 00:00:00 ",
"end": "2019-10-10 00:00:00 ",
"type": "promotionInventory ",
"roomTypeId": "TR ",
"activityId": "30300001 ",
"timestamp": "2019-09-20 18:35:32.230 ",
"echoToken": "0525082e5fe04938ac688167ac4b9d2c"
}

Case4: All room types, all activities, promotional rates change#

Request Example#

{
"hotelId": "2000505 ",
"start": "2019-10-01 00:00:00 ",
"end": "2019-10-10 00:00:00 ",
"type": "promotionprice ",
"roomTypeId ": "",
"activityId ": "",
"timestamp": "2019-09-20 18:35:32.324 ",
"echoToken": "0525082e5fe04938ac688167ac4b9d2c"
}

Case5: Change in designated room type and amount of rented rooms#

Request Example#

{
"hotelId": "2000014 ",
"start": "2021-04-19 00:00:00 ",
"end": "2021-04-19 00:00:00 ",
"type": "hourRentRoomInventory ",
"roomTypeId": "FR1 ",
"timestamp": "2021-04-19 17:53:50.585 ",
"echoToken": "hgds_2000014_1618826030585"
}

Example of Receiving Results#

Receive successful push example#

{
"status": 1,
"errorcode ": "",
"errormsg ": ""
}

End Push Failure Example#

{
"status": -1,
"errorcode": "12 ",
"errormsg": "Hotel not available"
}