Creating Plot Twists
    Preparing search index...

    Type Alias NewScheduleOccurrence

    NewScheduleOccurrence: Pick<ScheduleOccurrence, "occurrence" | "start"> & Partial<
        Omit<ScheduleOccurrence, "occurrence" | "start" | "schedule" | "tags">,
    > & {
        tags?: NewTags;
        twistTags?: Partial<Record<Tag, boolean>>;
        unread?: boolean;
        contacts?: NewScheduleContact[];
        cancelled?: boolean;
    }

    Type for creating or updating schedule occurrences.

    Use cancelled: true to skip a single date in a recurring series (e.g. an upstream calendar reports one occurrence as cancelled). Internally this is translated into an addition to the parent schedule's recurrenceExdates; no occurrence schedule row is persisted for the cancelled date. For seeding the full exception list on the master at initial sync, use NewSchedule.recurrenceExdates instead.

    Use a normal occurrence record (without cancelled) for genuine overrides — time changes, RSVP differences, etc.

    Type Declaration

    • Optionaltags?: NewTags

      Tags for this occurrence

    • OptionaltwistTags?: Partial<Record<Tag, boolean>>

      Add or remove the twist's tags on this occurrence

    • Optionalunread?: boolean

      Whether this occurrence should be marked as unread

    • Optionalcontacts?: NewScheduleContact[]

      Contacts to upsert on this occurrence's schedule

    • Optionalcancelled?: boolean

      Mark this single date as cancelled. The runtime translates this into an addition to the parent schedule's recurrenceExdates and archives any pre-existing override row for the same date — no occurrence schedule row is created.