51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
namespace KTXF\Chrono\Event;
|
|
|
|
use DateInterval;
|
|
use DateTime;
|
|
use DateTimeImmutable;
|
|
use DateTimeZone;
|
|
use KTXF\Json\JsonSerializableObject;
|
|
|
|
class EventCommonObject extends JsonSerializableObject {
|
|
|
|
public int|null $sequence = null;
|
|
public DateTimeZone|null $timeZone = null;
|
|
public DateTime|DateTimeImmutable|null $startsOn = null;
|
|
public DateTimeZone|null $startsTZ = null;
|
|
public DateTime|DateTimeImmutable|null $endsOn = null;
|
|
public DateTimeZone|null $endsTZ = null;
|
|
public DateInterval|null $duration = null;
|
|
public bool|null $timeless = false;
|
|
public string|null $label = null;
|
|
public string|null $description = null;
|
|
public EventLocationPhysicalCollection $locationsPhysical;
|
|
public EventLocationVirtualCollection $locationsVirtual;
|
|
public EventAvailabilityTypes|null $availability = null;
|
|
public EventSensitivityTypes|null $sensitivity = null;
|
|
public int|null $priority = null;
|
|
public string|null $color = null;
|
|
public EventTagCollection $tags;
|
|
public EventOrganizerObject $organizer;
|
|
public EventParticipantCollection $participants;
|
|
public EventNotificationCollection $notifications;
|
|
|
|
public function __construct() {
|
|
$this->participants = new EventParticipantCollection();
|
|
$this->locationsPhysical = new EventLocationPhysicalCollection();
|
|
$this->locationsVirtual = new EventLocationVirtualCollection();
|
|
$this->notifications = new EventNotificationCollection();
|
|
$this->organizer = new EventOrganizerObject();
|
|
$this->tags = new EventTagCollection();
|
|
}
|
|
|
|
}
|