Struct representing a calendar event with explicit date, time, and timezone fields.
Using separate Date and Time structs (rather than a DateTime) avoids the need for a timezone database dependency — the timezone string is passed through to calendar providers as-is.