<?phpnamespace App\Entity\Bus;use App\Entity\User;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;use JMS\Serializer\Annotation as JMS;/** * @ORM\Entity(repositoryClass="App\Repository\Bus\BookingSeatRepository") * @ORM\Table(name="bus_booking_seat") */class BookingSeat { /** * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Column(type="integer") */ private $id; /** * @Assert\NotBlank(message="Please enter passenger name") * @ORM\Column(type="string") */ private $passenger; /** * @Assert\NotBlank(message="Please enter phone number") * @ORM\Column(type="string") */ private $phone; /** * @Assert\NotBlank(message="Please select from") * @var Stop * @ORM\ManyToOne(targetEntity="App\Entity\Bus\Stop") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="origin", referencedColumnName="id") * }) * @JMS\MaxDepth(2) */ private Stop $origin; /** * @Assert\NotBlank(message="Please enter destination") * @var Stop * @ORM\ManyToOne(targetEntity="App\Entity\Bus\Stop") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="destination", referencedColumnName="id") * }) * * @JMS\MaxDepth(2) */ private Stop $destination; /** * @Assert\NotBlank(message="Please select seat") * @var Seat * @ORM\ManyToOne(targetEntity="App\Entity\Bus\Seat") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="seat_id", referencedColumnName="id", nullable=true) * }) * @JMS\MaxDepth(2) */ private Seat $seat; /** * @ORM\Column(type="time") * @JMS\Type("DateTime<'H:i'>") */ private \DateTimeInterface $departureTime; /** * @ORM\Column(type="time") * @JMS\Type("DateTime<'H:i'>") */ private \DateTimeInterface $eta; /** * @Assert\NotBlank(message="Please select amount") * @ORM\Column(type="integer") */ private $amount; /** * @Assert\NotBlank(message="Please enter payment method") * @ORM\Column(type="string") */ private $paidVia; /** * @var User * @ORM\ManyToOne(targetEntity="App\Entity\User") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="created_by", referencedColumnName="id") * }) * @JMS\MaxDepth(1) */ private $createdBy; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @return mixed */ public function getId() { return $this->id; } /** * @param mixed $id */ public function setId($id): void { $this->id = $id; } /** * @return Stop */ public function getOrigin(): Stop { return $this->origin; } /** * @param Stop $origin */ public function setOrigin(Stop $origin): void { $this->origin = $origin; } /** * @return Stop */ public function getDestination(): Stop { return $this->destination; } /** * @param Stop $destination */ public function setDestination(Stop $destination): void { $this->destination = $destination; } /** * @return Seat */ public function getSeat(): Seat { return $this->seat; } /** * @param Seat $seat */ public function setSeat(Seat $seat): void { $this->seat = $seat; } /** * @return mixed */ public function getAmount() { return $this->amount; } /** * @param mixed $amount */ public function setAmount($amount): void { $this->amount = $amount; } /** * @return mixed */ public function getPaidVia() { return $this->paidVia; } /** * @param mixed $paidVia */ public function setPaidVia($paidVia): void { $this->paidVia = $paidVia; } /** * @return User */ public function getCreatedBy(): User { return $this->createdBy; } /** * @param User $createdBy */ public function setCreatedBy(User $createdBy): void { $this->createdBy = $createdBy; } /** * @return mixed */ public function getCreatedAt() { return $this->createdAt; } /** * @param mixed $createdAt */ public function setCreatedAt($createdAt): void { $this->createdAt = $createdAt; } /** * @return mixed */ public function getPassenger() { return $this->passenger; } /** * @param mixed $passenger */ public function setPassenger($passenger): void { $this->passenger = $passenger; } /** * @return mixed */ public function getPhone() { return $this->phone; } /** * @param mixed $phone */ public function setPhone($phone): void { $this->phone = $phone; } public function getDepartureTime(): \DateTimeInterface { return $this->departureTime; } public function setDepartureTime(\DateTimeInterface $departureTime): void { $this->departureTime = $departureTime; } public function getEta(): \DateTimeInterface { return $this->eta; } public function setEta(\DateTimeInterface $eta): void { $this->eta = $eta; }}