$recurrence Raw ECP _EventRecurrence array. * @param list $category_ids tribe_events_cat term ids. * @param list $tag_names post_tag term names. TEC * registers WordPress' shared tag taxonomy for tribe_events, so * events carry tags as well as categories. Names rather than ids * because WebCalendar tags are flat and matched by name. * @param ?string $status The Events Calendar's own * Event Status ('canceled' / 'postponed'), verbatim and untrimmed, * or null when the event carries none. A cancelled event stays * published in TEC, so this is the only signal that it is off. */ public function __construct( public readonly int $id, public readonly string $title, public readonly string $description, public readonly int $author_id, public readonly string $start_local, public readonly string $end_local, public readonly string $timezone, public readonly bool $all_day, public readonly ?int $venue_id, public readonly ?int $organizer_id, public readonly ?int $thumbnail_id, public readonly ?array $recurrence, public readonly array $category_ids, public readonly array $tag_names = array(), /** * Events Calendar Pro Additional Field values, keyed by meta key. * * @var array */ public readonly array $extras = array(), // Appended so existing callers keep working. public readonly ?string $status = null, ) { } }