We have a service with a calendar component. There is a global pool of events, which can change (date, location, description, being removed, etc), and each user has their own calendar which consists of a subset of that global pool. The system is implemented in such a way that there are a number of different ways a particular event could move into or out of a user’s calendar, and the same event could appear and disappear from a user’s calendar multiple times.
We would like to be able to support having a user import their calendar into another calendar client, such as google calendar or outlook, and having it update when there are changes to the calendar. However, we are uncertain of the specifics of how to represent such changes, especially with the possibility of an individual event entering and leaving a user’s calendar multiple times.
I have read through a decent portion of RFC 2445 (the iCalendar specification), as well as done searching over questions that have already been asked, and, while I have some ideas on what might be correct, everything I have read feels like it is talking about calendars that are significantly less dynamic than ours, which gives me a low degree of confidence in my knowledge.