RRule, or Recurrence Rule, is another syntax used to specify recurring events. It is defined by several properties:

FREQ= ; INTERVAL= ; UNTIL= ; COUNT= ; BYxxx= ; WKST= ; RDATE= ; EXDATE=
  • FREQ: Defines the frequency of the event. Possible values are SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY.
  • INTERVAL: Defines the interval between each FREQ. For example, FREQ=DAILY;INTERVAL=2 means the event occurs every other day.
  • UNTIL: Defines the date-time after which the recurrence rule stops. For example, FREQ=DAILY;UNTIL=20231231T000000Z means the event occurs daily until the end of 2023.
  • COUNT: Defines the number of occurrences at which to stop the recurrence. For example, FREQ=DAILY;COUNT=10 means the event occurs daily for 10 days.
  • BYxxx: Defines specific instances for the recurrence rule. BYxxx could be one of the following: BYSECOND, BYMINUTE, BYHOUR, BYDAY, BYMONTHDAY, BYYEARDAY, BYWEEKNO, BYMONTH, BYSETPOS.
  • WKST: Specifies the day on which the workweek starts. Possible values are MO, TU, WE, TH, FR, SA, SU.
  • RDATE: Defines the list of dates to be included within the repeating dates. These dates can be a date-time or just a date.
  • EXDATE: Defines the list of dates to be excluded within the repeating dates. These dates can be a date-time.

For example, FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR means the event occurs every weekday.