We need to develop a good description of how timezones are used here.
User defined timezones
Some systems convert all timezones to a standard set - bedework has a standard set of saystem timezones but also allows users to define their own.
They may do this without relaizing it when using other (CalDAV) clients or importing via ics.
They need to be able to set the timezone information.
Floating times have no timezone. For example, if a user wants an alarm to go off 8am every weekday, they probably want that to happen whatever timezone they are in.
Db searches need to change. The value stored in the db for start/end is generally the UTC time. For floating times it si the time of the start/end. The search needs to use the UTC time fo the required range fro non-floating an the clock-time of the range for floating.