Schemas / I/O
rig.calendar.recurrence
v0.31.0 · draft 5 fields 1 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
frequency |
enumdaily · weekly · monthly · yearly | required | daily / weekly / monthly / yearly |
interval |
integer1 – * | optional | Optional. Every N periods; absent = 1 |
count |
integer1 – * | optional | Optional. How many occurrences; omit if the series uses untilDate |
untilDate |
string | optional | Optional. Last day an occurrence may fall (YYYY-MM-DD) |
byWeekday |
array<boolean>7 items | optional | Optional. Which weekdays fire; index 0 = Sunday ... 6 = Saturday |
How an event repeats. Format when present.
Field meanings follow the elements of RFC 5545 RRULE (FREQ, INTERVAL, COUNT, UNTIL, BYDAY) - not an RRULE string. Do not encode FREQ=WEEKLY;BYDAY=TU.
frequency is required. Prefer count or untilDate, not both.
Compose onto the same entity as rig.calendar.event. The event's startDate / startMinutes are the first occurrence. Dark days of a series are rig.calendar.exception entities, not EXDATE strings.
BYMONTHDAY, BYSETPOS, WKST, RDATE, and RECURRENCE-ID stay in the iCalendar source. A host that needs them keeps the .ics as fulfillment.
JSON Schema
Resolves at https://rig.works/schemas/rig.calendar.recurrence.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.calendar.recurrence.schema.json",
"title": "rig.calendar.recurrence",
"type": "object",
"additionalProperties": false,
"properties": {
"frequency": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly",
"yearly"
]
},
"interval": {
"type": "integer",
"minimum": 1
},
"count": {
"type": "integer",
"minimum": 1
},
"untilDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "ISO 8601 calendar date."
},
"byWeekday": {
"type": "array",
"items": {
"type": "boolean"
},
"minItems": 7,
"maxItems": 7
}
},
"required": [
"frequency"
]
}