2.2.2.37.1 Recurrence Patterns

Recurrence patterns for recurring calendar items are represented within the Recurrence element (section 2.2.2.37). The Type element (section 2.2.2.45), which is a child of the Recurrence element, specifies the unit of the occurrence (daily, weekly, monthly, or yearly); additional child elements of the Recurrence element, such as Occurrences (section 2.2.2.32) and DayOfWeek (section 2.2.2.15), are also used to fully define the recurrence pattern over time.

The following lists specify whether elements are required or optional for each value of the Type element. It also describes the relationship between the elements, and their meaning for different values of the Type element.

For all values of the Type element, the following elements are optional:

  • Occurrences (section 2.2.2.32) or Until (section 2.2.2.47). Either the Occurrences or Until element is required to specify an end date. If neither value is set, the event has no end date.

  • FirstDayOfWeek (section 2.2.2.24).

When the Type element is set to zero (0), meaning a daily occurrence, the following elements are supported:

  • Interval (section 2.2.2.25). Optional.

  • DayOfWeek.<3> Optional. If the DayOfWeek element is not set, the recurrence is a daily occurrence, occurring n days apart, where n is the value of the Interval element. If the DayOfWeek element is set, the recurrence is a weekly occurrence, occurring on the day specified by the DayOfWeek element, and the value of the Interval element indicates the number of weeks between occurrences.

When the Type element is set to 1, meaning a weekly occurrence, the following elements are supported:

  • Interval. Optional.

  • DayOfWeek. Required.

When the Type element is set to 2, meaning a monthly occurrence, the following elements are supported:

  • Interval. Optional.

  • DayOfMonth (section 2.2.2.14). Required.

  • CalendarType (section 2.2.2.10). Optional.

When the Type element is set to 3, meaning a monthly occurrence on the nth day, the following elements are supported:

  • Interval. Optional.

  • WeekOfMonth (section 2.2.2.48). Required. If the DayOfWeek element is set to 127, the WeekOfMonth element indicates the day of the month that the event occurs. If the DayOfWeek element is set to 62, to specify weekdays, the WeekOfMonth element indicates the nth weekday of the month, where n is the value of WeekOfMonth element. If the DayOfWeek element is set to 65, to specify weekends, the WeekOfMonth element indicates the nth weekend day of the month, where n is the value of WeekOfMonth element.

  • DayOfWeek. Required.

  • CalendarType. Optional.

When the Type element is set to 5, meaning a yearly occurrence, the following elements are supported:

  • Interval. Optional.

  • DayOfMonth. Required.

  • MonthOfYear (section 2.2.2.29). Required.

  • CalendarType. Optional.

  • IsLeapMonth (section 2.2.2.26). Optional

When the Type element is set to 6, meaning a yearly occurrence on the nth day, the following elements are supported:

  • Interval. Optional.

  • WeekOfMonth. Required.

  • DayOfWeek. Optional.

  • MonthOfYear. Required

  • CalendarType. Optional.

  • IsLeapMonth. Optional

For examples of common recurrence patterns, see section 4.4.

Items that equate to the same sequence on the calendar can be represented by different recurrence patterns, as described in section 4.5.