I am trying to write an ICS file for a set of events that are related but do not have a set relationship e.g. weekly or monthly (so I cannot easily use RRULE).
e.g. 2nd October 9am-11am, 3rd October 3pm-4pm, and 4th October 5pm-6:30pm.
Is there a way to generate a single ICS file to represent the creation of these with a single UID, so that if necessary I can create a single ICS file with the same UID and "METHOD:CANCEL" so that I can cancel all the events from one file if needed? Users book onto all 3 events at once, which is why I would need one ICS file - e.g. if the course is cancelled, I'd need to send them an email them so that they can remove the events easily.
You can use
RDATEinstead ofRRULEand write an exceptionVEVENTwith aRECURRENCE-IDfor any instance where you need to override the event further.Users will have the option to say 'yes to all' but they can also only confirm individual events.