JSON shape for rule options:
dtstart
until
tzid
freq
starts
ends
Optional
Optional frequency. When omitted, the rule is a continuous span and must omit duration.
duration
JSON shape for rule options:
dtstart/until/tzidremoved.freqis optional: • present → recurring rule (RRULE-based), • absent → continuous span rule (no recurrence).starts/endsin the configured UnixTimeUnit for domain clamping.freqis present, RRStack maps it to rrule's numeric enum internally.