id; } public function getUser(): IUser { return $this->user; } public function getStartDate(): int { return $this->startDate; } public function getEndDate(): int { return $this->endDate; } public function getShortMessage(): string { return $this->shortMessage; } public function getMessage(): string { return $this->message; } public function getReplacementUserId(): ?string { return $this->replacementUserId; } public function getReplacementUserDisplayName(): ?string { return $this->replacementUserDisplayName; } public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'userId' => $this->getUser()->getUID(), 'startDate' => $this->getStartDate(), 'endDate' => $this->getEndDate(), 'shortMessage' => $this->getShortMessage(), 'message' => $this->getMessage(), 'replacementUserId' => $this->getReplacementUserId(), 'replacementUserDisplayName' => $this->getReplacementUserDisplayName(), ]; } }