Recurrence Rule Object

Defines when a Door Exception Object on a Door Exception Calendar should repeat.

The data model is based on the "Recurrence Rule" value type as defined by the iCalendar standard (RFC 5545). Limitations of the Verkada Recurrence Rule Object compared to the more generic iCalendar "Recurrence Rule" are called out in-line below.

AttributeTypeDescription
frequencyStringFrequency type of the recurrence (see FREQ in RFC 5545).

Supported values are: “DAILY”, “WEEKLY”, “MONTHLY”, “YEARLY”.
intervalIntegerInterval at which the recurrence should repeat according to the frequency type (see INTERVAL in RFC 5545).
by_day List(String)For recurrences where frequency is WEEKLY, MONTHLY, or YEARLY. List of weekdays that the recurrence should include every week (see BYDAY in RFC 5545).

Supported values are: “SU”, “MO”, “TU”, “WE”, “TH”, “FR”, “SA”

If specified, it is required to at least include the weekday of the parent Door Exception object’s date.

Note: Required if frequency is WEEKLY, and can include one or more values. If frequency is MONTHLY or YEARLY, only allowed if by_set_pos is not null and can only include a single value. Not supported otherwise.
by_month_day IntegerFor recurrences where frequency is MONTHLY or YEARLY. The day of the month that the recurrence should include every month or year (see BYMONTHDAY in RFC 5545).

Supported values are integers from 1-31. If the value is set to 29-31 and a month does not include a day with that value, the recurrence will be ignored for that month.

Note: Either by_month_day or by_set_pos is required if frequency is WEEKLY or YEARLY (only one is allowed), not supported otherwise.
by_set_pos StringFor recurrences where frequency is MONTHLY or YEARLY. The position of the weekday specified in by_day in the month that the recurrence should include every month or year (see BYMONTHDAY in RFC 5545).

For example, by_set_pos would be set to 3 and by_day set to “TU”, to specify the 3rd Tuesday of a month.

Supported values are integers from 1-5. If value is set to 5 and the month does not include a 5th instance of the weekday in by_day, the recurrence will be ignored for that month.

Note: Either by_month_day or by_set_pos is required if frequency is WEEKLY or YEARLY (only one is allowed), not supported otherwise.
by_month IntegerFor recurrences where frequency is YEARLY. The number of the month that the recurrence should include every year. (see BYMONTH in RFC 5545).

Supported values are integers from 1-12.

Note: Required if frequency is YEARLY, not supported otherwise.
countIntegerThe total number of times that the recurrence should repeat before ending (see COUNT in RFC 5545).

Note: Only one of count or until is allowed, but not both.
until (optional)StringThe final date on which the recurrence should occur before ending, formatted as YYYY-MM-DD (according to ISO 8601). Also see UNTIL in RFC 5545.

Note: Only one of count or until is allowed, but not both.
excluded_dates List(String)A list of dates to exclude for recurrence formatted as YYYY-MM-DD (according to ISO 8601). Also see EXDATE in RFC 5545.

Recurrence Rule Object

{
  "by_day": LIST[STR],
  "by_month": STR,
  "by_month_day": INT,
  "by_set_pos": STR,
  "count": INT,
  "excluded_dates": LIST[STR],
  "frequency": STR,
  "interval": INT,
  "until": STR
}

Example

{
  "by_day": null,
  "by_month": null,
  "by_month_day": 3,
  "by_set_pos": null,
  "count": null,
  "excluded_dates": [
  		"02-10-25",
  		"03-15-25"
  ],
  "frequency": "MONTHLY",
  "interval": 1,
  "until": null
}