Solutions to Solving 3 Common Booking Application Challenges
Rodrigo Nunez | April 2021
Does your application manage air or lodging bookings at any point? Were you thinking of contacting the Sabre support team before finding this article?
In either case, even if you just came here out of curiosity, I invite you to learn about 3 common challenges consumers of popular Sabre APIs experience, and our recommendations to address them.
- Ghost Tickets
- Missing Out Hotel Rates
- Cancellation of CSL Hotel Segments
Are your e-Ticket documents not visible in the PNR?
If ticketing is involved at some point of your workflow, you have probably heard of the so-called ghost tickets: e-Ticket documents that are not visible in the PNR and might lead to other issues (like issuing duplicate tickets if the client is not prepared for this possibility).
The causes behind them may vary but can be grouped into three main scenarios:
- The transaction was ignored
- The End Transaction API was not (directly or indirectly) called
- Or the End Transaction API was called but it returned some error that the client did not expect.
In order to be shielded from the above and other harmful practices, we recommend you moving to the latest version of the orchestrated API Enhanced Air Ticket to manage the ticketing workflow. It bundles the required operations to safely fulfill the reservation in a single call and its error handling logic includes the new ‘Ghost Ticket Check' functionality, which consists of a backend process to avoid the common causes for ghost tickets and also verifies that the newly issued tickets exist in the PNR.
Last but not least, remember that ghost tickets can also be found in the agency sales report with the Display Audit Trail API.
Missing out hotel rates
Could your client be missing some shopping options?
At this point, you have probably heard about the evolution of the low-level APIs for hotel reservations to the Content Services For Lodging APIs released in June 2019 and have already seen the “Looking at Lodging APIs” articles
I'm here to give you some guidance about one of the most frequent issues when calling the CSL shopping API, Get Hotel Avail missing rates, or should I say, leaving rates out?
Understanding how the pagination works is key to ensure your client is not missing better rates (or all the available pages).
To guarantee that we're all on the same page (pun not intended), I will start by reminding you that a geographical search with Get Hotel Avail will return up to 1000 properties with rates (indicated by ‘MaxSearchResults’ in the response) grouped by up to 200 results (which you can specify using ’SearchCriteria.PageSize’), and always preceded by a set of sponsored ones.
When the number of results exceeds the PageSize, the initial response will contain a ShopKey to identify your search and enables you to get the remaining pages by adding into a subsequent call, along with the corresponding ‘Offset’ number. That means that after my initial response, I would send my request adding ‘SearchCriteria.Offset:2’ and the ShopKey received (which takes precedence over the rest of the parameters) to see the second page of my search results. Please refer to the below example where you can also see that the 'PageSize' of my search was '40' (which is the recommended value when fetching GDS rates only).
In conclusion, the pagination of the result plays a major role in the Content Services for Lodging shopping APIs response and rates returned.
Cancellation of CSL hotel segments
How to avoid the error message: “CANNOT CANCEL SEGMENT SUMMARY-NOT AUTHORIZED”
You`ve migrated to Content Service for Lodging API and your application just got the following error when canceling a hotel booking when the hotel is booked via Content Services for Lodging: CANNOT CANCEL SEGMENT SUMMARY-NOT AUTHORIZED
Use the Booking Management API to cancel GDS and Content Services for Lodging segments, see example below:
The benefits of implementing a single API to cancel whatever type of segments in a stateless way translate to better deployment and response times, apart from the reduced development complexity and more.
I hope the above information helps you finding even better solutions and gives you more tools to address harder scenarios.