period) { RecurrencePeriod::Immediate => 'T0S', RecurrencePeriod::Hours => "T{$this->interval}H", RecurrencePeriod::Days => "{$this->interval}D", RecurrencePeriod::Weeks => ($this->interval * 7) . 'D' }; return new DateInterval("P$period"); } public function jsonSerialize(): mixed { $values = ['period' => $this->period->value]; if (isset($this->interval)) $values['interval'] = $this->interval; return $values; } }