CalDav: Time offsets do not sync correctly for events starting and ending in different time zones

I use gSyncit 64-bit for Microsoft Outlook v4.2.275.0 to synchronize Outlook 2010 (Version: 14.0.7177.500, 64-bit) to Nextcloud 11.0.1

When synchronizing an appointment (a transatlantic flight) set up in Outlook starting in a time zone -0500 GMT and ending (the next day) in a time zone +0100 GMT the time offsets are not correctly synchronized:

Departure: 27FEB, 21:15 (time zone -0500 GMT)

Arrival: 28FEB, 14:15 (time zone +0100 GMT)

Outlook correctly displays the starting time as 28FEB 03:15 as I’m in Europe.

Nextcloud incorrectly displays starting time as 28FEB 09:15 (which probably results from incorrectly assuming that the “28FEB 03:15” entry corresponds to the origin -0500 GMT time zone).

I contacted the gSyncit developer and he says:

"I checked the gSyncit source code and we do split the start/end time zone information when we submit the event to the CalDav server…

Based on the data you have provided….

The Outlook event shows the correct information …

DTEND;TZID=“W. Europe Standard Time”:20170228T141500
DTSTART;TZID=“SA Pacific Standard Time”:20170227T211500

gSyncit will map these time zones to…

OutlookTimeZone id=“W. Europe Standard Time” ical="Europe/Berlin"
OutlookTimeZone id=“SA Pacific Standard Time” ical=“America/Bogota”

But in nextCloud they appear as …

Originating a test appointment in Nextcloud and transfering it to Outlook results in the mirrored effect. That is, it is displayed correctly in Nextcloud and incorrectly in Outlook (but differently: the appointment doesn’t seem to contain any time zone information).

Will appreciate any help on correcting this behavior



For the records: CadDav Synchronizer ( correctly deals with the described mapping of time zones. As stated in the excellent post by jospoortvliet it might be because "What is also happening is that the synchronizer will take the idiosyncracies of our calendar and contacts apps into account."
It still hope to get a solution for gSyncit as I use it to sync ToDo tasks to Toodledo (