What Time Is Tomorrow? Tales From The Time Zone

Oct 29, 2014

If you ask most people when today becomes tomorrow, they generally answer midnight. It's like asking what time is the midnight buffet on a cruise ship; people look at you funny.

If you've ever dealt with business that crossed time zones, it's not funny at all.

At my previous job at a well-known travel company, sadly now taken over by our biggest rival, dealing with things happening in all parts of the world was always interesting.

Imagine for a moment you have a smart phone at home and it is not updating the time automatically. Imagine now you drive through another time zone from where you live. Add more imaginement that you want to book a hotel in the next time zone for the evening (I guess you are driving a really fast car). Now you will be booking that hotel at some online travel company with an app which has servers in, you guessed it, yet another time zone. Finally imagine it's really late at night.

OK the first thing you do is select the date to book the room, which is today, and it's a Wednesday. No problem. Well, not an easy problem. You see the system only lets you book for the current date or later, because if you book for the next date it will be, well, tomorrow night. Wait, you say, it's not midnight here in the garden of good and evil, so we need that room for today, not tomorrow, or at least we want to sleep tonight which starts today but of course we might only get in the room tomorrow.

Sure, your head is exploding about now. The question of when is it still tonight and when it is tomorrow night is not an easy thing to handle unless you are really careful, or you don't care at all.

You see while you know what time it is where you are, the poor smart phone still thinks it's the time at your house, the hotel knows the time at the front desk, and the server knows the local time at the data center. Oh wait, booking actually happens at the hotel's server in its data center which could also be a different time zone.

So when does tomorrow become today, or rather today becomes tomorrow, or something? It depends on where and that's where it gets complicated.

When we were still dealing with our technology stack, I asked the question "if I book a room for the evening at 8 P.M. in Honolulu what happens?" Despite volunteering to fly there and test it I really didn't get a good explanation (and no ticket either).

As a digression, airline reservations don't have a timezone problem, as flight departures and arrivals always use the local time of the airport. Generally reservations can be made up to 4 hours before the departure and what time zone you are in is meaningless as you can't fly if you can't get to the airport. The assumption is that the plane leaves at a specific point in time and you have a specific seat to put your butt into. Unless the flight is horribly late or overbooked (of course that never happens) it represents a hard point in time and space you have to intersect.

Hotels are a much softer target. You can actually check into a hotel at any time during the day and often even after midnight if you've had a lot of bad gin. But the concept of the date of check-in is firmly the whole day and that's generally what a travel booking company considers the date of booking. It's today dammit; tomorrow is a whole day later. At what point one moves into the other is the question I keep wanting to get to before tomorrow.

If you consider the current date the location of the customer, it might be tomorrow at the hotel, or it could be yesterday if you want to add more confusion. Today of course you don't book at the hotel, you book at the hotel's server, which our (sigh) server communicated with by instructions from the smart phone you ran our app on which you the user punched buttons on. Each of these systems may have a concept of what time it is now at the moment of booking. Since only the date desired for check-in was sent in the request, each system has to consider what that means in terms of do you want to sleep now or 24 hours from now? My gut feeling was that there was no totally correct choice each system developer could make that wouldn't make someone unhappy.

If you use the time at the hotel and you book west of the hotel (in time zones) you can't book for sleeping this day if it is already tomorrow at the hotel at the time of booking; otherwise the hotel doesn't know when you will show up. Someone might already be sleeping in your bed, or even worse if you are the hotel, the bed might go empty. If the hotel uses the time of the booker (or more precisely the time of the bookers device) the same can happen if several time zones are involved; the booker is expecting to book the following date but you assume they still mean the current date. Add a couple of servers and similar problems happen especially if they don't agree, one system might say sure it's still today and the other makes the booking for tomorrow and an angry sleepless person might result. Or possibly strange bedfellows. It's basically a problem of consistency across multiple independent systems.

Our customer service people ran into variations of these problems all the time, you really can't win no matter what choices are made. Thankfully it's not a common problem, people rarely drive 1000 mph cars or even planes; usually if you need a hotel right now you are booking one nearby in the same timezone, though you might book for someone else who is not nearby. Of course if the servers don't agree you still might be surprised late at night. If you go to a hotel at 1 A.M. most will let you check-in if there is room and make it a booking for "yesterday". The further apart all these things are the more you are going to run into these kind of time zone problems.

So thank you for taking time out and reading this post before it becomes tomorrow's.

As a related aside, you can find some flights that leave Guam and arrive at Hawaii the day before. Sadly this does not get you an extra day in paradise. Ah, time zones, so much fun.