Our scheduler supports iCal recurrence rules but somewhat messes up periods with event start and end dates.
AFAIK, iCal would allows to specify the end date (and time) of an event by either providing the end date (and time) or duration of the event (but not both). Additionally, periods could be used. In particular together with rrules.
Our scheduler, however, uses the end date internally, e.g. events have a start datetime and end datetime. But when rrules are used, the end datetime magically mutates into the end of the period (rather than the actual event).
While this is not a big issue, it causes problems when trying to check the validity of arguments.
See https://tools.ietf.org/html/rfc5545 for more details about iCal.