Looking through the graph api and I can list appointments with the start time and end time in the calendars time-zone.
Can I find the calendar's time-zone without looking at an existing appointment? I would expect it to be in the bookingBusinesses/{id} resource.
We have several calendars in several timezones and working through an algorithm to figure out available timeslots. Obviously "Day 0" is the worst - no appointment = no timezone data. We can work around it by creating one appointment. Is there a better way though?
You cannot fetch the time zone of the Calendar however you can fetch the time zone of User mailbox that owns the Calendars. AFAIK calendars don't even have their own independent time zone settings but refer the parent user mailbox's time zone setting.
The User.mailboxSettings API can be used to fetch timezone preference of the Calendar
Here is the official documentation. https://learn.microsoft.com/en-us/graph/api/resources/mailboxsettings?view=graph-rest-1.0
It is worth noting that the timezone values format follows Windows Timezones. Your programming platform may not be following the same and might be using IANA timezone format, then you would need to translate windows timezone to IANA timezone