<?phpnamespace App\Entity;use DateTimeInterface;use Doctrine\ORM\Mapping as ORM;use App\Repository\BookingRepository;#[ORM\Entity(repositoryClass: BookingRepository::class)]#[ORM\InheritanceType('JOINED')]#[ORM\DiscriminatorColumn(name: "type", type: "string")]#[ORM\DiscriminatorMap(['visitReport' => BookingVisitReport::class, 'event' => BookingEvent::class])]class Booking{ use IdentifiableTrait; #[ORM\Column(type: 'datetime')] private ?DateTimeInterface $beginAt; #[ORM\Column(type: 'datetime', nullable: true)] private ?DateTimeInterface $endAt = null; #[ORM\Column(type: 'string', length: 255)] private string $title; #[ORM\ManyToOne(inversedBy: 'bookings')] private ?User $owner = null; #[ORM\Column(type: 'datetime_immutable')] private DateTimeInterface $updatedAt; #[ORM\Column(nullable: true)] private ?bool $isCancelled = null; #[ORM\Column(length: 255, nullable: true)] private ?string $cancellationReason = null; public function __construct() { } public function getId(): ?int { return $this->id; } public function getBeginAt(): ?DateTimeInterface { return $this->beginAt; } public function setBeginAt(DateTimeInterface $beginAt): self { $this->beginAt = $beginAt; return $this; } public function getEndAt(): ?DateTimeInterface { return $this->endAt; } public function setEndAt(?DateTimeInterface $endAt = null): self { $this->endAt = $endAt; return $this; } public function getTitle(): ?string { return $this->title; } public function setTitle(string $title): self { $this->title = $title; return $this; } public function getOwner(): ?User { return $this->owner; } public function setOwner(?User $owner): static { $this->owner = $owner; return $this; } public function getUpdatedAt(): DateTimeInterface { return $this->updatedAt; } public function setUpdatedAt(DateTimeInterface $updatedAt): void { $this->updatedAt = $updatedAt; } public function isIsCancelled(): ?bool { return $this->isCancelled; } public function setIsCancelled(?bool $isCancelled): static { $this->isCancelled = $isCancelled; return $this; } public function getCancellationReason(): ?string { return $this->cancellationReason; } public function setCancellationReason(?string $cancellationReason): static { $this->cancellationReason = $cancellationReason; return $this; }}