* Neueste Design-Änderungen aufgenommen * Sortierung auf Reiseübersichtsseiten * Fehler bei Suche behoben git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3285 f459cee4-fb09-11de-96c3-f9c5f16c3c76
1516 lines
30 KiB
PHP
1516 lines
30 KiB
PHP
<?php
|
|
|
|
namespace AppBundle\Entity;
|
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
|
|
/**
|
|
* TravelProgram
|
|
*
|
|
* @ORM\Table(name="travel_program", indexes={@ORM\Index(name="FK_travel_program_travel_organizer", columns={"organizer"}), @ORM\Index(name="FK_travel_program_travel_insurance", columns={"insurance_1"}), @ORM\Index(name="FK_travel_program_travel_insurance_2", columns={"insurance_2"}), @ORM\Index(name="FK_travel_program_travel_category", columns={"category_id"}), @ORM\Index(name="FK_travel_program_travel_arrival_point", columns={"travel_arrival_point_id"})})
|
|
* @ORM\Entity(repositoryClass="AppBundle\Entity\TravelProgramRepository")
|
|
*/
|
|
class TravelProgram
|
|
{
|
|
const ORGANIZED_PROGRAM_TYPE = 0;
|
|
const MEDIATED_PROGRAM_TYPE = 1;
|
|
|
|
/**
|
|
* @var float
|
|
*
|
|
* @ORM\Column(name="profit_margin", type="float", precision=10, scale=2, nullable=true)
|
|
*/
|
|
private $profitMargin = '20.00';
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="program_code", type="string", length=255, nullable=true)
|
|
*/
|
|
private $programCode;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="program_duration", type="integer", nullable=true)
|
|
*/
|
|
private $programDuration;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="is_seasonal", type="boolean", nullable=true)
|
|
*/
|
|
private $isSeasonal;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="youth", type="boolean", nullable=true)
|
|
*/
|
|
private $youth = '0';
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="title", type="string", length=255, nullable=true)
|
|
*/
|
|
private $title;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="subtitle", type="string", length=255, nullable=true)
|
|
*/
|
|
private $subtitle;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="program_type", type="integer", nullable=true)
|
|
*/
|
|
private $programType;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="status", type="boolean", nullable=true)
|
|
*/
|
|
private $status;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="included", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $included;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="class_description", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $classDescription;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="excluded", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $excluded;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="advices", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $advices;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="notes", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $notes;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="url", type="string", length=255, nullable=true)
|
|
*/
|
|
private $url;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="max_age_for_children", type="integer", nullable=true)
|
|
*/
|
|
private $maxAgeForChildren;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="html_description", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $htmlDescription;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="in_slider", type="boolean", nullable=false)
|
|
*/
|
|
private $inSlider = '0';
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="show_map", type="boolean", nullable=false)
|
|
*/
|
|
private $showMap = '1';
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="map_html", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $mapHtml;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="map_image", type="string", length=255, nullable=false)
|
|
*/
|
|
private $mapImage = '';
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="map_image_ext", type="string", length=255, nullable=false)
|
|
*/
|
|
private $mapImageExt = '';
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="travel_country", type="integer", nullable=true)
|
|
*/
|
|
private $travelCountry;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="travel_category", type="integer", nullable=true)
|
|
*/
|
|
private $travelCategory;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="travel_agenda", type="integer", nullable=true)
|
|
*/
|
|
private $travelAgenda;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="netto_prices_in_euro", type="boolean", nullable=true)
|
|
*/
|
|
private $nettoPricesInEuro = '0';
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="text_right", type="text", length=65535, nullable=true)
|
|
*/
|
|
private $textRight;
|
|
|
|
/**
|
|
* @var float
|
|
*
|
|
* @ORM\Column(name="default_flight_price", type="float", precision=10, scale=2, nullable=true)
|
|
*/
|
|
private $defaultFlightPrice;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="weekdays", type="string", length=255, nullable=true)
|
|
*/
|
|
private $weekdays;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="position", type="smallint", nullable=true)
|
|
*/
|
|
private $position;
|
|
|
|
/**
|
|
* @var float
|
|
*
|
|
* @ORM\Column(name="discount", type="float", precision=10, scale=0, nullable=true)
|
|
*/
|
|
private $discount;
|
|
|
|
/**
|
|
* @var boolean
|
|
*
|
|
* @ORM\Column(name="discount_is_percent_value", type="boolean", nullable=true)
|
|
*/
|
|
private $discountIsPercentValue;
|
|
|
|
/**
|
|
* @var integer
|
|
*
|
|
* @ORM\Column(name="id", type="integer")
|
|
* @ORM\Id
|
|
* @ORM\GeneratedValue(strategy="IDENTITY")
|
|
*/
|
|
private $id;
|
|
|
|
/**
|
|
* @var \AppBundle\Entity\TravelArrivalPoint
|
|
*
|
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelArrivalPoint")
|
|
* @ORM\JoinColumns({
|
|
* @ORM\JoinColumn(name="travel_arrival_point_id", referencedColumnName="id")
|
|
* })
|
|
*/
|
|
private $travelArrivalPoint;
|
|
|
|
/**
|
|
* @var \AppBundle\Entity\TravelOrganizer
|
|
*
|
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelOrganizer")
|
|
* @ORM\JoinColumns({
|
|
* @ORM\JoinColumn(name="organizer", referencedColumnName="id")
|
|
* })
|
|
*/
|
|
private $organizer;
|
|
|
|
/**
|
|
* @var \AppBundle\Entity\TravelInsurance
|
|
*
|
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelInsurance")
|
|
* @ORM\JoinColumns({
|
|
* @ORM\JoinColumn(name="insurance_1", referencedColumnName="id")
|
|
* })
|
|
*/
|
|
private $insurance1;
|
|
|
|
/**
|
|
* @var \AppBundle\Entity\TravelInsurance
|
|
*
|
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelInsurance")
|
|
* @ORM\JoinColumns({
|
|
* @ORM\JoinColumn(name="insurance_2", referencedColumnName="id")
|
|
* })
|
|
*/
|
|
private $insurance2;
|
|
|
|
/**
|
|
* @var \AppBundle\Entity\TravelCategory
|
|
*
|
|
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelCategory")
|
|
* @ORM\JoinColumns({
|
|
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
|
|
* })
|
|
*/
|
|
private $category;
|
|
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TravelPeriod", mappedBy="program")
|
|
*/
|
|
private $periods;
|
|
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TravelDeparturePoint", mappedBy="program")
|
|
*/
|
|
private $departures;
|
|
|
|
/**
|
|
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\TravelCountry", inversedBy="programs")
|
|
* @ORM\JoinTable(name="travel_program_country",
|
|
* joinColumns={@ORM\JoinColumn(name="program_id", referencedColumnName="id")},
|
|
* inverseJoinColumns={@ORM\JoinColumn(name="country_id", referencedColumnName="id")}
|
|
* )
|
|
*/
|
|
private $countries;
|
|
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TravelProgramImage", mappedBy="program")
|
|
*/
|
|
private $images;
|
|
|
|
/**
|
|
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\TravelOption")
|
|
* @ORM\JoinTable(name="travel_program_option",
|
|
* joinColumns={@ORM\JoinColumn(name="program_id", referencedColumnName="id")},
|
|
* inverseJoinColumns={@ORM\JoinColumn(name="option_id", referencedColumnName="id")}
|
|
* )
|
|
*/
|
|
private $options;
|
|
|
|
/**
|
|
* @var array|TravelDate[]
|
|
*/
|
|
private $travelDateByKey = [];
|
|
|
|
/**
|
|
* Set profitMargin
|
|
*
|
|
* @param float $profitMargin
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setProfitMargin($profitMargin)
|
|
{
|
|
$this->profitMargin = $profitMargin;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get profitMargin
|
|
*
|
|
* @return float
|
|
*/
|
|
public function getProfitMargin()
|
|
{
|
|
return $this->profitMargin;
|
|
}
|
|
|
|
/**
|
|
* Set programCode
|
|
*
|
|
* @param string $programCode
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setProgramCode($programCode)
|
|
{
|
|
$this->programCode = $programCode;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get programCode
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getProgramCode()
|
|
{
|
|
return $this->programCode;
|
|
}
|
|
|
|
/**
|
|
* Set programDuration
|
|
*
|
|
* @param integer $programDuration
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setProgramDuration($programDuration)
|
|
{
|
|
$this->programDuration = $programDuration;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get programDuration
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getProgramDuration()
|
|
{
|
|
return $this->programDuration;
|
|
}
|
|
|
|
/**
|
|
* Set isSeasonal
|
|
*
|
|
* @param boolean $isSeasonal
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setIsSeasonal($isSeasonal)
|
|
{
|
|
$this->isSeasonal = $isSeasonal;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get isSeasonal
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getIsSeasonal()
|
|
{
|
|
return $this->isSeasonal;
|
|
}
|
|
|
|
/**
|
|
* Set youth
|
|
*
|
|
* @param boolean $youth
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setYouth($youth)
|
|
{
|
|
$this->youth = $youth;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get youth
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getYouth()
|
|
{
|
|
return $this->youth;
|
|
}
|
|
|
|
/**
|
|
* Set title
|
|
*
|
|
* @param string $title
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTitle($title)
|
|
{
|
|
$this->title = $title;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get title
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTitle()
|
|
{
|
|
return $this->title;
|
|
}
|
|
|
|
/**
|
|
* Set subtitle
|
|
*
|
|
* @param string $subtitle
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setSubtitle($subtitle)
|
|
{
|
|
$this->subtitle = $subtitle;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get subtitle
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getSubtitle()
|
|
{
|
|
return $this->subtitle;
|
|
}
|
|
|
|
/**
|
|
* Set programType
|
|
*
|
|
* @param integer $programType
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setProgramType($programType)
|
|
{
|
|
$this->programType = $programType;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get programType
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getProgramType()
|
|
{
|
|
return $this->programType;
|
|
}
|
|
|
|
/**
|
|
* Set status
|
|
*
|
|
* @param boolean $status
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setStatus($status)
|
|
{
|
|
$this->status = $status;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get status
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getStatus()
|
|
{
|
|
return $this->status;
|
|
}
|
|
|
|
/**
|
|
* Set included
|
|
*
|
|
* @param string $included
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setIncluded($included)
|
|
{
|
|
$this->included = $included;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get included
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getIncluded()
|
|
{
|
|
return $this->included;
|
|
}
|
|
|
|
/**
|
|
* Set classDescription
|
|
*
|
|
* @param string $classDescription
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setClassDescription($classDescription)
|
|
{
|
|
$this->classDescription = $classDescription;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get classDescription
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getClassDescription()
|
|
{
|
|
return $this->classDescription;
|
|
}
|
|
|
|
/**
|
|
* Set excluded
|
|
*
|
|
* @param string $excluded
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setExcluded($excluded)
|
|
{
|
|
$this->excluded = $excluded;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get excluded
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getExcluded()
|
|
{
|
|
return $this->excluded;
|
|
}
|
|
|
|
/**
|
|
* Set advices
|
|
*
|
|
* @param string $advices
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setAdvices($advices)
|
|
{
|
|
$this->advices = $advices;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get advices
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getAdvices()
|
|
{
|
|
return $this->advices;
|
|
}
|
|
|
|
/**
|
|
* Set notes
|
|
*
|
|
* @param string $notes
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setNotes($notes)
|
|
{
|
|
$this->notes = $notes;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get notes
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getNotes()
|
|
{
|
|
return $this->notes;
|
|
}
|
|
|
|
/**
|
|
* Set url
|
|
*
|
|
* @param string $url
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setUrl($url)
|
|
{
|
|
$this->url = $url;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get url
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getUrl()
|
|
{
|
|
return $this->url;
|
|
}
|
|
|
|
/**
|
|
* Set maxAgeForChildren
|
|
*
|
|
* @param integer $maxAgeForChildren
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setMaxAgeForChildren($maxAgeForChildren)
|
|
{
|
|
$this->maxAgeForChildren = $maxAgeForChildren;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get maxAgeForChildren
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getMaxAgeForChildren()
|
|
{
|
|
return $this->maxAgeForChildren;
|
|
}
|
|
|
|
/**
|
|
* Set htmlDescription
|
|
*
|
|
* @param string $htmlDescription
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setHtmlDescription($htmlDescription)
|
|
{
|
|
$this->htmlDescription = $htmlDescription;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get htmlDescription
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getHtmlDescription()
|
|
{
|
|
return $this->htmlDescription;
|
|
}
|
|
|
|
/**
|
|
* Set inSlider
|
|
*
|
|
* @param boolean $inSlider
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setInSlider($inSlider)
|
|
{
|
|
$this->inSlider = $inSlider;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get inSlider
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getInSlider()
|
|
{
|
|
return $this->inSlider;
|
|
}
|
|
|
|
/**
|
|
* Set showMap
|
|
*
|
|
* @param boolean $showMap
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setShowMap($showMap)
|
|
{
|
|
$this->showMap = $showMap;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get showMap
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getShowMap()
|
|
{
|
|
return $this->showMap;
|
|
}
|
|
|
|
/**
|
|
* Set mapHtml
|
|
*
|
|
* @param string $mapHtml
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setMapHtml($mapHtml)
|
|
{
|
|
$this->mapHtml = $mapHtml;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get mapHtml
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getMapHtml()
|
|
{
|
|
return $this->mapHtml;
|
|
}
|
|
|
|
/**
|
|
* Set mapImage
|
|
*
|
|
* @param string $mapImage
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setMapImage($mapImage)
|
|
{
|
|
$this->mapImage = $mapImage;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get mapImage
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getMapImage()
|
|
{
|
|
return $this->mapImage;
|
|
}
|
|
|
|
/**
|
|
* Set mapImageExt
|
|
*
|
|
* @param string $mapImageExt
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setMapImageExt($mapImageExt)
|
|
{
|
|
$this->mapImageExt = $mapImageExt;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get mapImageExt
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getMapImageExt()
|
|
{
|
|
return $this->mapImageExt;
|
|
}
|
|
|
|
/**
|
|
* Set travelCountry
|
|
*
|
|
* @param integer $travelCountry
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTravelCountry($travelCountry)
|
|
{
|
|
$this->travelCountry = $travelCountry;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get travelCountry
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getTravelCountry()
|
|
{
|
|
return $this->travelCountry;
|
|
}
|
|
|
|
/**
|
|
* Set travelCategory
|
|
*
|
|
* @param integer $travelCategory
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTravelCategory($travelCategory)
|
|
{
|
|
$this->travelCategory = $travelCategory;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get travelCategory
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getTravelCategory()
|
|
{
|
|
return $this->travelCategory;
|
|
}
|
|
|
|
/**
|
|
* Set travelAgenda
|
|
*
|
|
* @param integer $travelAgenda
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTravelAgenda($travelAgenda)
|
|
{
|
|
$this->travelAgenda = $travelAgenda;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get travelAgenda
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getTravelAgenda()
|
|
{
|
|
return $this->travelAgenda;
|
|
}
|
|
|
|
/**
|
|
* Set nettoPricesInEuro
|
|
*
|
|
* @param boolean $nettoPricesInEuro
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setNettoPricesInEuro($nettoPricesInEuro)
|
|
{
|
|
$this->nettoPricesInEuro = $nettoPricesInEuro;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get nettoPricesInEuro
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getNettoPricesInEuro()
|
|
{
|
|
return $this->nettoPricesInEuro;
|
|
}
|
|
|
|
/**
|
|
* Set textRight
|
|
*
|
|
* @param string $textRight
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTextRight($textRight)
|
|
{
|
|
$this->textRight = $textRight;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get textRight
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTextRight()
|
|
{
|
|
return $this->textRight;
|
|
}
|
|
|
|
/**
|
|
* Set defaultFlightPrice
|
|
*
|
|
* @param float $defaultFlightPrice
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setDefaultFlightPrice($defaultFlightPrice)
|
|
{
|
|
$this->defaultFlightPrice = $defaultFlightPrice;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get defaultFlightPrice
|
|
*
|
|
* @return float
|
|
*/
|
|
public function getDefaultFlightPrice()
|
|
{
|
|
return $this->defaultFlightPrice;
|
|
}
|
|
|
|
/**
|
|
* Set weekdays
|
|
*
|
|
* @param string $weekdays
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setWeekdays($weekdays)
|
|
{
|
|
$this->weekdays = $weekdays;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get days
|
|
*
|
|
* @return array|int[]
|
|
*/
|
|
public function getWeekdays()
|
|
{
|
|
return $this->weekdays == null ? null : explode(',', $this->weekdays);
|
|
}
|
|
|
|
/**
|
|
* @param int $weekday Weekday as returned by date format 'w'
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getIsAvailWeekday($weekday)
|
|
{
|
|
if ($this->weekdays == null)
|
|
{
|
|
return false;
|
|
}
|
|
return in_array($weekday, explode(',', $this->weekdays));
|
|
}
|
|
|
|
/**
|
|
* Set position
|
|
*
|
|
* @param integer $position
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setPosition($position)
|
|
{
|
|
$this->position = $position;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get position
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getPosition()
|
|
{
|
|
return $this->position;
|
|
}
|
|
|
|
/**
|
|
* Set discount
|
|
*
|
|
* @param float $discount
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setDiscount($discount)
|
|
{
|
|
$this->discount = $discount;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get discount
|
|
*
|
|
* @return float
|
|
*/
|
|
public function getDiscount()
|
|
{
|
|
return $this->discount;
|
|
}
|
|
|
|
/**
|
|
* Set discountIsPercentValue
|
|
*
|
|
* @param boolean $discountIsPercentValue
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setDiscountIsPercentValue($discountIsPercentValue)
|
|
{
|
|
$this->discountIsPercentValue = $discountIsPercentValue;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get discountIsPercentValue
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function getDiscountIsPercentValue()
|
|
{
|
|
return $this->discountIsPercentValue;
|
|
}
|
|
|
|
/**
|
|
* Get id
|
|
*
|
|
* @return integer
|
|
*/
|
|
public function getId()
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
/**
|
|
* Set travelArrivalPoint
|
|
*
|
|
* @param \AppBundle\Entity\TravelArrivalPoint $travelArrivalPoint
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setTravelArrivalPoint(\AppBundle\Entity\TravelArrivalPoint $travelArrivalPoint = null)
|
|
{
|
|
$this->travelArrivalPoint = $travelArrivalPoint;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get travelArrivalPoint
|
|
*
|
|
* @return \AppBundle\Entity\TravelArrivalPoint
|
|
*/
|
|
public function getTravelArrivalPoint()
|
|
{
|
|
return $this->travelArrivalPoint;
|
|
}
|
|
|
|
/**
|
|
* Set organizer
|
|
*
|
|
* @param \AppBundle\Entity\TravelOrganizer $organizer
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setOrganizer(\AppBundle\Entity\TravelOrganizer $organizer = null)
|
|
{
|
|
$this->organizer = $organizer;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get organizer
|
|
*
|
|
* @return \AppBundle\Entity\TravelOrganizer
|
|
*/
|
|
public function getOrganizer()
|
|
{
|
|
return $this->organizer;
|
|
}
|
|
|
|
/**
|
|
* Set insurance1
|
|
*
|
|
* @param \AppBundle\Entity\TravelInsurance $insurance1
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setInsurance1(\AppBundle\Entity\TravelInsurance $insurance1 = null)
|
|
{
|
|
$this->insurance1 = $insurance1;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get insurance1
|
|
*
|
|
* @return \AppBundle\Entity\TravelInsurance
|
|
*/
|
|
public function getInsurance1()
|
|
{
|
|
return $this->insurance1;
|
|
}
|
|
|
|
/**
|
|
* Set insurance2
|
|
*
|
|
* @param \AppBundle\Entity\TravelInsurance $insurance2
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setInsurance2(\AppBundle\Entity\TravelInsurance $insurance2 = null)
|
|
{
|
|
$this->insurance2 = $insurance2;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get insurance2
|
|
*
|
|
* @return \AppBundle\Entity\TravelInsurance
|
|
*/
|
|
public function getInsurance2()
|
|
{
|
|
return $this->insurance2;
|
|
}
|
|
|
|
/**
|
|
* Set category
|
|
*
|
|
* @param \AppBundle\Entity\TravelCategory $category
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function setCategory(\AppBundle\Entity\TravelCategory $category = null)
|
|
{
|
|
$this->category = $category;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get category
|
|
*
|
|
* @return \AppBundle\Entity\TravelCategory
|
|
*/
|
|
public function getCategory()
|
|
{
|
|
return $this->category;
|
|
}
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->periods = new \Doctrine\Common\Collections\ArrayCollection();
|
|
$this->countries = new \Doctrine\Common\Collections\ArrayCollection();
|
|
$this->departures = new \Doctrine\Common\Collections\ArrayCollection();
|
|
$this->travelDateByKey = [];
|
|
}
|
|
|
|
/**
|
|
* Add period
|
|
*
|
|
* @param \AppBundle\Entity\TravelPeriod $period
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function addPeriod(\AppBundle\Entity\TravelPeriod $period)
|
|
{
|
|
$this->periods[] = $period;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove period
|
|
*
|
|
* @param \AppBundle\Entity\TravelPeriod $period
|
|
*/
|
|
public function removePeriod(\AppBundle\Entity\TravelPeriod $period)
|
|
{
|
|
$this->periods->removeElement($period);
|
|
}
|
|
|
|
/**
|
|
* Get periods
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection|TravelPeriod[]
|
|
*/
|
|
public function getPeriods()
|
|
{
|
|
return $this->periods;
|
|
}
|
|
|
|
public function getIsMediated()
|
|
{
|
|
return $this->programType == TravelProgram::MEDIATED_PROGRAM_TYPE;
|
|
}
|
|
|
|
/**
|
|
* Add departure
|
|
*
|
|
* @param \AppBundle\Entity\TravelDeparturePoint $departure
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function addDeparture(\AppBundle\Entity\TravelDeparturePoint $departure)
|
|
{
|
|
$this->departures[] = $departure;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove departure
|
|
*
|
|
* @param \AppBundle\Entity\TravelDeparturePoint $departure
|
|
*/
|
|
public function removeDeparture(\AppBundle\Entity\TravelDeparturePoint $departure)
|
|
{
|
|
$this->departures->removeElement($departure);
|
|
}
|
|
|
|
/**
|
|
* Get departures
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection
|
|
*/
|
|
public function getDepartures()
|
|
{
|
|
return $this->departures;
|
|
}
|
|
|
|
/**
|
|
* Add country
|
|
*
|
|
* @param \AppBundle\Entity\TravelCountry $country
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function addCountry(\AppBundle\Entity\TravelCountry $country)
|
|
{
|
|
$this->countries[] = $country;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove country
|
|
*
|
|
* @param \AppBundle\Entity\TravelCountry $country
|
|
*/
|
|
public function removeCountry(\AppBundle\Entity\TravelCountry $country)
|
|
{
|
|
$this->countries->removeElement($country);
|
|
}
|
|
|
|
/**
|
|
* Get countries
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection
|
|
*/
|
|
public function getCountries()
|
|
{
|
|
return $this->countries;
|
|
}
|
|
|
|
/**
|
|
* Add image
|
|
*
|
|
* @param \AppBundle\Entity\TravelProgramImage $image
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function addImage(\AppBundle\Entity\TravelProgramImage $image)
|
|
{
|
|
$this->images[] = $image;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove image
|
|
*
|
|
* @param \AppBundle\Entity\TravelProgramImage $image
|
|
*/
|
|
public function removeImage(\AppBundle\Entity\TravelProgramImage $image)
|
|
{
|
|
$this->images->removeElement($image);
|
|
}
|
|
|
|
/**
|
|
* Get images
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection|TravelProgramImage[]
|
|
*/
|
|
public function getImages()
|
|
{
|
|
return $this->images;
|
|
}
|
|
|
|
private function assertTravelDateNotDefinedYet($key)
|
|
{
|
|
if (isset($this->travelDateByKey[$key]))
|
|
{
|
|
throw new \Exception('Travel period with key '. $key .' already exists');
|
|
}
|
|
}
|
|
|
|
public function addTravelDateFromNonSeasonTravelPeriod($key, TravelPeriod $travelPeriod,
|
|
FlightPeriod $flightPeriod = null, $currencyFactor)
|
|
{
|
|
$this->assertTravelDateNotDefinedYet($key);
|
|
$this->travelDateByKey[$key] = TravelDate::createForNonSeasonTravelPeriod($key, $travelPeriod, $flightPeriod,
|
|
$currencyFactor);
|
|
}
|
|
|
|
public function addTravelDateFromSeasonTravelPeriod($key, TravelPeriod $travelPeriod, $index, \DateTime $start,
|
|
\DateTime $end = null, FlightPeriod $flightPeriod = null, $currencyFactor)
|
|
{
|
|
$this->assertTravelDateNotDefinedYet($key);
|
|
$this->travelDateByKey[$key] = TravelDate::createForSeasonTravelPeriod($key, $travelPeriod, $index, $start,
|
|
$end, $flightPeriod, $currencyFactor);
|
|
}
|
|
|
|
public function addTravelDate($key, TravelPeriod $travelPeriod, FlightPeriod $flightPeriod = null, $currencyFactor,
|
|
\DateTime $start = null, \DateTime $end = null, $index = null)
|
|
{
|
|
$this->assertTravelDateNotDefinedYet($key);
|
|
$this->travelDateByKey[$key] = new TravelDate($key, $travelPeriod, $flightPeriod, $currencyFactor, $start, $end,
|
|
$index);
|
|
}
|
|
|
|
public function hasTravelDate($key)
|
|
{
|
|
return isset($this->travelDateByKey[$key]);
|
|
}
|
|
|
|
public function getTravelDate($key)
|
|
{
|
|
return $this->travelDateByKey[$key] ?? null;
|
|
}
|
|
|
|
/**
|
|
* @return TravelDate[]|array
|
|
*/
|
|
public function getTravelDates()
|
|
{
|
|
return $this->travelDateByKey;
|
|
}
|
|
|
|
public function getIsPossibleStartDate(\DateTime $startDate)
|
|
{
|
|
return $this->getIsAvailWeekday(intval($startDate->format('w')));
|
|
}
|
|
|
|
public function getLowestPrice()
|
|
{
|
|
$lowestPrice = -1;
|
|
foreach ($this->getTravelDates() as $travelDate)
|
|
{
|
|
$curLowestPrice = $travelDate->getLowestPrice();
|
|
if ($lowestPrice < 0 || $curLowestPrice < $lowestPrice)
|
|
{
|
|
$lowestPrice = $curLowestPrice;
|
|
}
|
|
}
|
|
return $lowestPrice;
|
|
}
|
|
|
|
/**
|
|
* Add option
|
|
*
|
|
* @param \AppBundle\Entity\TravelOption $option
|
|
*
|
|
* @return TravelProgram
|
|
*/
|
|
public function addOption(\AppBundle\Entity\TravelOption $option)
|
|
{
|
|
$this->options[] = $option;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Remove option
|
|
*
|
|
* @param \AppBundle\Entity\TravelOption $option
|
|
*/
|
|
public function removeOption(\AppBundle\Entity\TravelOption $option)
|
|
{
|
|
$this->options->removeElement($option);
|
|
}
|
|
|
|
/**
|
|
* Get options
|
|
*
|
|
* @return \Doctrine\Common\Collections\Collection
|
|
*/
|
|
public function getOptions()
|
|
{
|
|
return $this->options;
|
|
}
|
|
|
|
public function getPreviewImage()
|
|
{
|
|
foreach ($this->getImages() as $image)
|
|
{
|
|
if ($image->getType() == 2)
|
|
{
|
|
return $image;
|
|
}
|
|
}
|
|
return $this->getImages()[0];
|
|
}
|
|
}
|