<?php
namespace App\Entity;
use App\Repository\BookingVisitReportRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: BookingVisitReportRepository::class)]
class BookingVisitReport extends Booking
{
use IdentifiableTrait;
public const VISIT_TYPE_PHYSICAL = "in-person";
public const VISIT_TYPE_TELEPHONE = "phone";
public const VISIT_TYPE_VISIO = "video";
#[ORM\OneToOne(mappedBy: 'booking', cascade: ['persist', 'remove'])]
private ?VisitReport $visitReport = null;
#[ORM\ManyToOne(inversedBy: 'bookings')]
#[ORM\JoinColumn(nullable: false)]
private ?BookingMethod $method = null;
public function getVisitReport(): ?VisitReport
{
return $this->visitReport;
}
public function setVisitReport(?VisitReport $visitReport): static
{
// unset the owning side of the relation if necessary
if ($visitReport === null && $this->visitReport !== null) {
$this->visitReport->setBooking(null);
}
// set the owning side of the relation if necessary
if ($visitReport !== null && $visitReport->getBooking() !== $this) {
$visitReport->setBooking($this);
}
$this->visitReport = $visitReport;
return $this;
}
public function getId(): ?int
{
return $this->id;
}
public function getMethod(): ?BookingMethod
{
return $this->method;
}
public function setMethod(?BookingMethod $method): static
{
$this->method = $method;
return $this;
}
}