Thursday, May 29, 2008

Hotwire.com: Bad Technology, Worse Customer Service

We just returned from a fantastic 5,000 mile family vacation across the southern and southwestern US. The trip included visits with extended family members we rarely see plus planned and unplanned detours to explore whatever we found interesting (map thumbnails courtesy of my wife--who now has enough pictures to supply her photo-a-day blog for about a decade!).

trip-map

Most nights we stayed with family. On days when we found no welcoming hearth to rest our travel-weary bones, I used Hotwire to book last-minute accomodations. I've used both Priceline and Hotwire in the past with mostly good results. However, after my last experience with Hotwire, I think I'll stick with Priceline. A bug in Hotwire's site caused me to accidentally book a hotel in the wrong city, and Hotwire refused to take any responsibility for the issue. I usually refrain from complaining about incompetent companies on this blog because such writing is often tedious and boring to read. But I'm making an exception in this case because software quality and usability are topics near and dear to my heart. Plus I've recommended Hotwire to dozens of friends and relatives in the past, and I want to very visibly retract my recommendation.

Here's what happened: At one point we were unsure whether to stay in Austin or San Antonio. So I opened up two Firefox browser windows to search Hotwire for hotel availability in both cities. In the first browser window I searched for hotels in Austin. Below is the hotel search screen. Clicking "Find a hotel" displays the search results for your selected city:

01 

Below are the search results for Austin. As you can see the city is clearly labeled. Clicking "Continue" on a hotel listing displays the details for that hotel:

02

In the screen below, I've selected a 3-star hotel in Austin priced at $79 per night:

 03

Clicking "Continue" again on the hotel details page (above) displays a screen to select the primary hotel guest (below). Note that the below screen still indicates I'm booking an Austin hotel. At this point I switched to the second Firefox window (not pictured), searched for hotels in San Antonio, and viewed the details for a specific San Antonio hotel. I then returned to the first Firefox window (below) to finish booking an Austin hotel:

04

Clicking "Continue" on the above screen displays the final confirmation screen (below). Notice anything strange about this confirmation screen? I've circled the important bits in red as they are otherwise easy to miss:

05

Give up? The price of the "Austin" hotel has changed from $79 to $73 per night. It's hard to tell for sure that this is an Austin hotel because Hotwire doesn't bother to list the city of the hotel on the final confirmation screen after showing it on most other screens. The final confirmation screen shows only the city-area name--using a normal, unbolded font no less. These design issues are bad enough, but there's a worse problem: the hotel is described as a "3-star hotel in Riverwalk South and Market Square Area". Eh? Do both Austin and San Antonio have riverwalks, you ask? Well, sort of, but Austin's is more plan than reality at this point. The real problem is that my Austin hotel was quietly replaced with the San Antonio hotel I had viewed in a different browser window! I didn't catch this error before booking the trip and so purchased a hotel in the wrong city!

I immediately contacted Hotwire customer support via their web site to explain the issue and request a cancellation (at that point it was nearly midnight). At 2 AM Hotwire responded with an email asking me to call customer support and be prepared to answer specific questions about my operating system, browser, ISP, etc.--in other words, typical bug report stuff. The next day I dashed off another response answering their technical questions, describing the bug in greater detail, and reiterating that the hotel booking should be canceled. Being in the midst of a busy vacation, I dropped the issue at that point and did not contact Hotwire again until I returned from vacation two weeks later.

When I finally spoke with a Hotwire support rep (name unknown) and her supervisor, Chad, their response could be summed up as:

  1. The erroneous booking was completely my fault--no acknowledgement of the Hotwire application bug that changed my selected hotel.
  2. They might have refunded my credit card charges if I had called them right away to cancel the booking--the two requests for cancellation submitted via their Web site didn't count.
  3. They definitely would not refund any portion of my charges because Hotwire had already paid the hotel vender--even though they could and did verify that I never actually stayed at the San Antonio hotel.

I'm a software developer myself, so I can appreciate that bugs will unavoidably slip through testing and into production applications. But there are some warning signs here that Hotwire is not a first-class organization. First, without getting into the technical details, this bug appears to be the result of a deep design flaw in the application. I doubt Hotwire is unaware of the issue (unless they are completely incompetent on the technical side) and the fact that they haven't yet fixed it indicates unwillingness to put application quality on a par with new-feature development (the site has, after all been around for eight years). This does not bode well for their future success. Second, they were unwilling to acknowledge the correctness of a detailed bug report from a customer who understands the technology involved. I'm not sure that the front-line support folks even understood that I was reporting a bug--and I was never connected with a technical support person who could make such a determination, despite contacting Hotwire three separate times about the issue.

UPDATE: I emailed Hotwire customer support a link to this post and Judith B responded with the following:

I understand that your booking was for the wrong city due to your having
two browser windows up at the time of booking and choosing the wrong
one.
You having two browser windows up would not be a bug on Hotwire's
website.

Just in case there is any doubt after reading this post, I did not accidentally choose the wrong browser window when making my reservation. I replicated the described session-corruption bug at least half-a-dozen times while capturing screenshots for this post.

UPDATE II: Mastercard apparently found my arguments here more convincing than Hotwire. They've refunded all charges related to this disputed booking, and the waiting period has now passed without Hotwire reposting the charges. Nice job, Hotwire: Your arrogant and obtuse customer no-service is documented here for posterity, and you still had to give the money back anyway!

2 comments:

Anonymous said...

You call that an error by Hotwire? You were using a website that like many websites uses cookies to track what you are looking at, searching, etc. When you have two windows up doing the same thing, you are bound to screw up the cookies. You also did not call in when asked _before_ the day of the hotel stay. Why should a company pay because you could not be inconvenienced to contact a company that asked you to contact them to address the issue. After the fact, after a hotel held a room for you, you expect them to refund your money? Good luck with that.

AT said...

Hello anonymous Hotwire employee!

First, cookie based session management does not limit the number of browsers open to a site. If your standard for mass-market Web application design is 1998, rather than 2008, you may consider this behavior acceptable. But why don't you browse over to Ebay and see if you can accidentally corrupt your session and bid on the wrong item this way. Or Expedia and try to corrupt your session while buying a plane ticket or hotel. Or Etrade and see if you can accidentally purchase the wrong stock or transfer money to the wrong person by having two browsers open. Couldn't do it, huh? That's because the cookie is just an index into a server side data structure that represents your session. There are several ways to allow multiple browser instances to share the same server session--such as keeping all session state in the browser page or keeping a unique key in the page and using it as an index back into your server-side session data.

Second, the reservation was made around 11:30 PM the day before the hotel stay. I sent an email clearly requesting cancellation (complete with itinerary number) within 5 minutes and another email several hours later. Why should I spend my vacation time waiting on the phone because your company can't design robust Web apps and refuses to fully utilize their email support channel?