<?php
namespace App\Entity\Bus;
use App\Entity\Station;
use App\Entity\User;
use App\Entity\Vehicle;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
/**
* @ORM\Entity(repositoryClass="App\Repository\Bus\TripRepository")
* @ORM\Table(name="bus_trip")
*/
class Trip {
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var Route
*
* @ORM\ManyToOne(targetEntity="App\Entity\Bus\Route")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="route_id", referencedColumnName="id")
* })
*
* @JMS\MaxDepth(1)
*/
private Route $route;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="date")
*/
private $tripDate;
/**
* @ORM\Column(name="departure_time", type="datetime", nullable=true)
*/
private $departureTime;
/**
* @ORM\Column(type="datetime")
*/
private $eta;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Bus\Seat", mappedBy="trip", cascade={"persist", "remove"})
*/
private $seats;
/**
* @var Station
* @ORM\ManyToOne(targetEntity="App\Entity\Station")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="origin", referencedColumnName="id")
* })
* @JMS\MaxDepth(1)
*/
private $origin;
/**
* @var Station
* @ORM\ManyToOne(targetEntity="App\Entity\Station")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="destination", referencedColumnName="id")
* })
* @JMS\MaxDepth(1)
*/
private $destination;
/**
* @ORM\Column(type="integer")
*/
private $fare;
/**
* @ORM\Column(type="integer")
*/
private $tripIndex;
/**
* @var User
* @ORM\ManyToOne(targetEntity="App\Entity\User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="created_by", referencedColumnName="id")
* })
* @JMS\MaxDepth(1)
*/
private User $createdBy;
/**
* @var Vehicle
* @ORM\ManyToOne(targetEntity="App\Entity\Vehicle")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="vehicle", referencedColumnName="id")
* })
* @JMS\MaxDepth(1)
*/
private $vehicle;
/**
* @ORM\Column(type="boolean")
*/
private $vehicleIsApproved;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*/
public function setId($id): void
{
$this->id = $id;
}
/**
* @return mixed
*/
public function getRoute()
{
return $this->route;
}
/**
* @param mixed $route
*/
public function setRoute($route): void
{
$this->route = $route;
}
/**
* @return mixed
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* @param mixed $createdAt
*/
public function setCreatedAt($createdAt): void
{
$this->createdAt = $createdAt;
}
/**
* @return mixed
*/
public function getTripDate()
{
return $this->tripDate;
}
/**
* @param mixed $tripDate
*/
public function setTripDate($tripDate): void
{
$this->tripDate = $tripDate;
}
/**
* @return mixed
*/
public function getSeats()
{
return $this->seats;
}
/**
* @param mixed $seats
*/
public function setSeats($seats): void
{
$this->seats = $seats;
}
/**
* @return mixed
*/
public function getTripIndex()
{
return $this->tripIndex;
}
/**
* @param mixed $tripIndex
*/
public function setTripIndex($tripIndex): void
{
$this->tripIndex = $tripIndex;
}
public function getOrigin(): Station
{
return $this->origin;
}
public function setOrigin(Station $origin): void
{
$this->origin = $origin;
}
public function getDestination(): Station
{
return $this->destination;
}
public function setDestination(Station $destination): void
{
$this->destination = $destination;
}
/**
* @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 getFare()
{
return $this->fare;
}
/**
* @param mixed $fare
*/
public function setFare($fare): void
{
$this->fare = $fare;
}
public function getVehicle(): Vehicle
{
return $this->vehicle;
}
public function setVehicle(Vehicle $vehicle): void
{
$this->vehicle = $vehicle;
}
/**
* @return mixed
*/
public function getVehicleIsApproved()
{
return $this->vehicleIsApproved;
}
/**
* @param mixed $vehicleIsApproved
*/
public function setVehicleIsApproved($vehicleIsApproved): void
{
$this->vehicleIsApproved = $vehicleIsApproved;
}
/**
* @return mixed
*/
public function getDepartureTime()
{
return $this->departureTime;
}
/**
* @param mixed $departureTime
*/
public function setDepartureTime($departureTime): void
{
$this->departureTime = $departureTime;
}
/**
* @return mixed
*/
public function getEta()
{
return $this->eta;
}
/**
* @param mixed $eta
*/
public function setEta($eta): void
{
$this->eta = $eta;
}
}