Enhanced Features
Modified on: 2024-11-06 15:49
As part of our design update, the screenshots are currently being revised.
TABLE OF CONTENTS
Introduction
All these enhanced features are disabled by default. Please get in touch with our Client Manager or GO Help first to evaluate if it's feasible and suitable for your connections.
Features
#ID | Features | Features Description | Applicable Version |
---|---|---|---|
1 | Push Cancellation based on LOS | Including cancellation policy codes when pushing ARI to distributors | GO Distributor v4 Push |
2 | Multiple Languages for Static Information | Supports multiple languages for hotel static information | All GO v4 |
3 | Respond Room/Rate Name when ARI Shopping | Provides name and description of room types and rate plans within room rates when distributors shop ARI from GO | GO Distributor v4 Pull |
4 | Pending Booking Process | Add pending process in the book flow | All GO v4 |
Push Cancellation based on LOS
Notes: ① Currently available for Hilton Connection but can be extended for other suppliers if needed. ② Enable the feature will increase the push message size when push ARI to distirbutors' system.
In default, cancellation policy information is based on the hotel, date, and product level. However, Hilton provides it based on the hotel, date, product, and length of stay (LOS). To accommodate the case, GO added a new field "cancelPolicies" in the ARI Push request to provide cancellation policies based on LOS to distributors. If hotel suppliers do not provide cancellation policies in ARI totally, GO won’t push the information to distributors either. However, GO will fill in a default code "AD100P_100P," which means Non-refundable to ensure the data is complete if the cancel policy is missing from hotel suppliers for a few days.
LOS Pricing with Cancellation policies based on LOS:
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "messageType": "Delta", "hotelId": "GATHI", "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "currency": "USD", "losAris": [ { "roomId": "K1", "rateId": "BARB", "los": 1, "mealPlans": [ "BB", "BB", "RO", "BB" ], "inventories": [ 9, 0, 9, 9 ], "cancelPolicies": [ "4PM0D1N_100P", "4PM0D1N_100P", "4PM0D1N_100P", "4PM0D1N_100P" ], "rates": { "type": "OccupancyRate", "rates": [ { "adultCount": 1, "childCount": 0, "amountBeforeTax": [ 502.19, 502.19, 502.19, 502.19 ], "amountAfterTax": [ 623.23, 623.23, 623.23, 623.23 ] } ] } } ] }
Multiple Languages for Static Information
Notes: ① Only a few Chinese suppliers support both Chinese(zh) and English(en) ② The data will be sent in the requested language only if it is available in that language. If not, GO will send the data in the default available language, which is English. This logic will be applied at an individual field level. For example, if the hotel description is available in both English and Chinese but the cancellation policy is only in English, and the distributor makes a request for data in Chinese, then the response payload will have the hotel description in Chinese but the cancellation policy and fee information always in English on Hotel API.
GO added an optional parameter called "lang" to the header of Hotel API. This parameter will allow distributors to specify the language for the content in the response whenever multiple languages are available.
Request message snippet:
"header": { "distributorId": "GTA", "version": "v4", "lang": "en", "token": "18393849028490234" }
For APIs that use the GET method, GO provides an optional request parameter named "lang". This parameter is used to specify the language of the content in the response.
Request URL Pattern for BookingUSB - Hotel Products:
GET /hotel/{supplierId}/{hotelId}?distributorId={distributorId}&lang={language}
Returning content in Chinese
URL: https://xxx.xxx.xxx/api/go/bookingusb/v4/hotel/XXX/CNSZVABC?distributorId=XX&lang=zh
Response:
{ "longitude": "120.49", "latitude": "31.12", "city": "CN-32-5", "country": "CN", "state": "CN-32", "address": [ "苏州工业园区思安街 1888号 协鑫广场" ], "phone": { "phoneNumber": "86-512-11111111" }, "ariType": "Daily", "timezone": "Etc/GMT-8", "rateType": "Both", "maxChildAge": 11, "products": [ { "roomId": "SUITE", "rateId": "NEGIBS", "status": "Actived", "roomName": "行政套房及豪华客房连通房", "occupancy": { "maxAdult": 4, "maxChild": 2, "maxOccupancy": } }, { "roomId": "VEK", "rateId": "NEGHSB-Z", "status": "Actived", "roomName": "180度景观行政套房", "roomDescription": "180度景观行政套房-K", "occupancy": { "maxAdult": 3, "maxChild": 2, "maxOccupancy": 4 } } ], "hotelId": "CNSZABC", "hotelName": "苏州园区XX酒店", "supplierId": "XXX", "status": "Actived" }
Returning content in English
URL: https://xxx.xxx.xxx/api/go/bookingusb/v4/hotel/XXX/CNSZABC?distributorId=XX&lang=en
Response:
{ "longitude": "120.49", "latitude": "31.12", "city": "CN-32-5", "country": "CN", "state": "CN-32", "address": [ "Tower 2 of GCL Plaza, 1888 Si’an Street, Suzhou Industrial Park, Jiangsu Province, 215028, China" ], "phone": { "phoneNumber": "86-512-11111111" }, "ariType": "Daily", "timezone": "Etc/GMT-8", "rateType": "Both", "maxChildAge": 11, "products": [ { "roomId": "SUITE", "rateId": "NEGIBS", "status": "Actived", "roomName": "Suite room", "occupancy": { "maxAdult": 4, "maxChild": 2, "maxOccupancy": 6 } }, { "roomId": "VEK", "rateId": "NEGHSB-Z", "status": "Actived", "roomName": "Executive Suite", "roomDescription": "Executive Suite-K", "occupancy": { "maxAdult": 3, "maxChild": 2, "maxOccupancy": 4 } } ], "hotelId": "CNSZABC", "hotelName": "XX Hotel, Yuanqu, Suzhou ", "supplierId": "XXX", "status": "Actived" }
Responding to Room/Rate Name when ARI Shopping
Notes: The description fields can be very long. The max length of roomDescription and rateDescription is 500 characters and roomName and rateName is 100 characters. Any data larger than that will be truncated.
The response of ShoppingEngine - Shopping API supports providing rate plan name, rate plan description, room type name, and room type description if the distributor passes an extra parameter in the request using the extensions field. This is intended for those distributors that don’t want to rely on stored HotelAPI data to display room details to their customers.
Add an extra parameter in the request:
{ "header": { "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "hotels": [ { "supplierId": "HILTON", "hotelId": "GATHI", "status": "Actived", "isAfterPromotion": false, "promoteCode": "string" } ], "stayRange": { "checkin": "2018-01-01", "checkout": "2018-01-04" }, "roomCriteria": { "roomCount": 2, "adultCount": 1, "childCount": 2, "childAges": [ 4, 8 ] }, "iata": "string", "extensions": { "key1": "key1", "key2": "key2", "sendProductInformation": "true" } }
Response example:
{ "header": { "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "iata": "string", "availHotels": [ { "supplierId": "HILTON", "hotelId": "GATHI", "status": "Actived", "stayRange": { "checkin": "2018-01-01", "checkout": "2018-01-04" }, "iata": "string", "availRoomRates": [ { "roomId": "K1D", "rateId": "ODAD01", "roomName": "King Deluxe", "roomDescription": "Large room with a King bed and desk", "rateName": "Standard Rate", "rateDescription": "Standard Rate Includes Breakfast", "currency": "USD", "amountBeforeTax": [ 100, 100, 120 ], "amountAfterTax": [ 110, 110, 130 ], "mealPlan": "RO", "paymentType": "PayNow", "guarantee": { "guaranteeType": "CCG" }, "fees": [ { "dateRange": { "startDate": "2018-01-01", "endDate": "2018-01-04" }, "fee": { "name": "Service Charge", "type": "Exclusive", "amount": 10, "amountType": "Percent", "chargeType": "PerRoomPerNight", "effectivePerson": 2 } } ], "cancelPolicy": { "code": "12AM2D1N_1N", "description": "48 hrs prior to arrival ", "cancelPenalties": [ { "noShow": false, "cancellable": true, "cancelDeadline": { "offsetTimeDropType": "BeforeArrival", "offsetTimeUnit": "D", "offsetTimeValue": 2, "deadline": "12AM" }, "penaltyCharge": { "chargeBase": "NightBase", "nights": 1 } }, { "noShow": true, "penaltyCharge": { "chargeBase": "NightBase", "nights": 1 } } ] }, "roomCriteria": { "roomCount": 2, "adultCount": 1, "childCount": 2, "childAges": [ 4, 8 ] }, "inventory": 2, "isAfterPromotion": false, "promoteCode": "string" } ] } ] }
Pending Booking Process
GO has encountered a situation where some hotel suppliers cannot confirm a reservation within a specific timeframe due to the need to process the reservation on their internal systems. To address this, GO added a new reservation status called "Processing" to accommodate cases where the hotel supplier indicates success without providing a confirmation reservation ID. This change will impact two APIs: the Booking API and the Reservation Query API. When a reservation response from a supplier is successful but lacks a supplier reservation ID, GO will mark the reservation status as "Processing".
Please refer to the following workflow diagram for more details:
How It works
BookingUSB - Book API: GO will add the 'Processing' status into the extensions element when responding to distributors.
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "reservationIds": { "distributorResId": "C2084DFL0", "derbyResId": "D15F893D34DF", }, "extensions": { "reservationStatus": "Processing" } }
- BookingUSB - Query Reservation API: When distributors query for a pending reservation, GO will respond with "Processing" as the initial status. It's important to note that if the reservation status isn't Success, then distributors query the reservation from GO, and GO will hit the hotel suppliers system to retrieve the latest status and return it to distributors, for instance, if the reservation is confirmed success on hotel suppliers system, GO will return reservation success with a reservation confirmation number.
Response Example(HTTP Status 200)
{ "header": { "supplierId": "HILTON", "distributorId": "GTA", "version": "v4", "token": "18393849028490234" }, "reservations": [ { /* elements have been omitted*/ "status": "Confirmed", "result": "Successful" } } ] }
- BookingUSB - Modify/Cancel API:
If distributors query for a reservation that is pending or fails on hotel suppliers’ CRS/PMS. An error will be returned.
Response Example (HTTP Status 500)
{ "errorCode": "StatusPending", "errorMessage": "The reservation is being processed by the hotel and cannot be modified or canceled at this time" }
- GO Console - GO added a new status named 'Processing' to present the status of a reservation.
- GO added "Confirm Processing" status on Operation>>Reservation>>Distributor Reservation page.
- GO added “Processing” status in the reservation report.
Did you find it helpful? Yes No
Send feedback