FlyerTalk Forums - View Single Post - A Fix for the New "Elevated" Award Booking Engine
Old Sep 5, 2022 | 12:36 am
  #44  
jaytw
10 Countries Visited20 Countries Visited30 Countries Visited15 Years on Site
 
Join Date: Apr 2010
Location: Taipei, Taiwan
Programs: IHG Diamond Ambassador, Accor Plus Platinum, Caesar's Diamond, Hilton Gold, Marriott Gold,
Posts: 124
Originally Posted by Fly Me To The Moon
jaytw, something for you to check...

I tried searching today for TPE-YVR. Your search tool gave me J2 for CX 479 on 26 Aug 2023 connecting to CX 888 on 27 Aug 2023. Proceeding forward with the booking, I could not snag these two seats; there was an error message.

I called Cathay, and they said that award availability has only been released up to 24 Aug 2023.

Is there a reason why your tool can see further in advance, or is there an issue to fix?
Hey Fly Me To The Moon, when you said you proceeded with the booking, do you mean you attempted to do so on the website? If so, at what stage does the error message appear? Did the flights show up in a white box on Cathay's native results? I just searched now for CX479 + CX888 on 08-26-2023 and was able to get as far as passenger details entry, which usually indicates it is bookable, but I didn't try to go further. Does the error happen beyond that point?

TL;DR: The current Cathay engine is the same one as they used when they still had Choice and Tailored awards, which opened up 360 days before departure, as opposed to regular awards which opened up 353 days prior. It may be possible that the tool is showing seat availability that is not actually "bookable" yet for regular awards, because it ignores the “bookable” flag for, well, reasons. If anyone’s interested in the technical reason it ignores the “bookable” flag, as well as a bit of insight into how the tool works, read on.

The way the tool works is that it bypasses the Cathay on-page form and sends search parameters directly to Cathay's engines. That means we are no longer limited to the destinations that the form arbitrarily allows us to input. It also turns off the "flexible dates" flag, which throws errors on many dates, and gets stuck on an un-styled page that says it will redirect you to a fixed date search but never does (I'm sure you guys have seen that one if you've searched enough on the native engine).

The script then takes the response and reads the available flights from it. On direct flights it shows the number of seats available on that single segment, while on connecting flights it reads availability on both segments and shows the lower value between the two. There is one additional flag that shows whether the flight combination is "bookable" but as far as I had observed it always correlated with the the two flights both having enough seats, so the script ignores that and just shows available seats instead. The reason for ignoring that is that the "bookable" flag actually correlates to whether the flights have enough seats in the class originally specified (The API very kindly returns availability numbers for all classes, regardless of what class was specified).That means that to get an accurate "bookable" parameter for every class, I would have to call the same date 4 times. Since I don't want us to be hitting Cathay's API servers any more often than necessary, I thought it would be a sensible trade-off to just show availability by seats.

So, it would not be outside the realm of possibility that some far out flights could hypothetically show available seats, but actually return a bookable=false flag, which the script does not process. However, if that were the case, the Cathay native engine should show a grey box instead of a white one, so you shouldn't be able to get to any stage where you could see a booking error. I just checked that flag for business on 8/26 and it returns bookable=true, but that could be because it is now Sep 5, 354 days prior, and the seats have legit been released now.

I have been informed by some testers that the same thing may happen in reverse in some cases, where for some dates the tool will show no availability for F, but actually have white boxes on the native engine when searching F, because the engine will allow a F+J booking for that combination. When I have time, I’ll evaluate if I can support showing such “bookable” flights.
Originally Posted by kkl
any chance of a calender to select dates ?

thanks for the script! super
I’ll take a note of that! I’ll probably add it if I can get it working using browser native functions, because using a third party plugin will make the script require additional permissions. I’m also hesitant to introduce more potential points of failure, as compatibility across browsers is not something I particularly want to deal with.
Originally Posted by SimonACB
Ah! Nice, that seems to work. Not sure why the other two don't though.....

jaytw thank you, this is incredible. And the batch booking function is unreal! (also shows just how stingy Cathay are with their award seats these days.... ). Coffee on its way to you!
Thanks, SimonACB! Much appreciated!
jaytw is offline