I think the Calendar Enity should be modified as follows.
It should contain the following 4 properties:
event - Same as today. With implementation specific details on handling overlapping events. Maybe this should be deprecated in the future.
event_start - Next Start Event
event_end - Next End Event
events - List of Currently active Events
The Calendar Trigger should be modified to use the event_start and event_end properties as appropriate. It should support the specification
of multiple calendar entities (if it does not already).
The Calendar trigger variables should include:
trigger.calendar - The calendar object that owns the calendar event.
Useful when you have multiple calandars.
This will be breaking for existing users expecting behavior of overlapping events (i.e. all day events and a day event)
Currently if you have any overlapping events, you will not get a BEFORE and AFTER trigger for an automation for each Calandar event. You will get a BEFORE and AFTER for what the Calandar decides how to consolidate the overlaps.
Every Calendar event should trigger a START AND an END … they should not be lost because of an overlap.