Thursday, October 08, 2009

My guide to X-MICROSOFT-CDO-TZID


I was finishing up a project for Nokia Siemens Networks the other day which dealt with Microsoft Outlook iCalendar Invitations but we were running into a wall dealing with a myriad of timezones issues.


Typically, when you are generating an .ICS file using HTML, the timezone the meeting invite comes from does not change... but with this project, the originating timezone could be any one of the 78 time zones found around the world.

Here's the issue: If you search Google on how to create an Outlook Calendar email notification/ics file, you might stumble across this page which has a generic template you could use. Or you might send yourself an invitation and look at the source code for the ICS file.

Either way you'll see the following lines within the VTIMEZONE block:
TZID:(GMT-05.00) Eastern Time (US & Canada) 
X-MICROSOFT-CDO-TZID
:10
Notice the strange X-MICROSOFT-CDO-TZID line... it simply has a number, "10". Well, according to Microsoft the number 10 represents the Eastern Time Zone here in America. Searching Google you might see more examples of this strange number/location mapping but you'll be hard pressed to find a complete listing of all the mappings. 11 is Central Time, 12 is Mountain Time, 13 is Pacific Time, but 38 is Mountain Time for Arizona...?

We spent 5 hours searching Google for the information to no avail. I suggested we call Microsoft and ask them personally for more information about this strange line, completely kidding of course, when my boss Shelley reaches over to her phone and says, "that's a great idea!"

She actually knows people who work at Microsoft in their Outlook Exchange Server group. We called her friend, told him what our issue was, and he went off to search internal documents for the proper X-MICROSOFT-CDO-TZID mapping. An hour later he found the information we were seeking deep within a MSDN website: http://msdn.microsoft.com/en-us/library/aa563018(loband).aspx

Ta-da!

I know this information will only be useful to a few people over the coming years, but the extreme LACK of information on Google, Yahoo!, and Bing was astounding.

So in conclusion, here are some keywords which I sincerely hope Google indexes ASAP so other people don't waste 5+ hours of their lives searching for something that almost doesn't exist:

Outlook iCalendar Invite
VTIMEZONE
VZID
X-MICROSOFT-CDO-TZID
ZOMG, WHY DOESN'T GOOGLE KNOW THE ANSWER
ARRRGH!

Give into the peer pressure, post a comment