<?php
namespace Diplix\KMGBundle\Entity;
use Diplix\KMGBundle\Entity\Accounting\CoopMember;
use Diplix\KMGBundle\Entity\Accounting\Rate;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="customers", indexes={@ORM\Index(name="be_deleted",columns={"be_deleted"})})
* @ORM\Entity(repositoryClass="Diplix\KMGBundle\Repository\CustomerRepository")
*/
class Customer extends BasicEntity
{
/**
* @ORM\Column(type="integer",name="id")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $name;
/**
* @ORM\Column(type="string")
*/
protected $customerNo = "";
/**
* @ORM\ManyToMany(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
*/
protected $priceLists;
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
* @ORM\JoinColumn( nullable=true)
*/
protected $defaultPriceList;
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
* @ORM\JoinColumn( nullable=true)
*/
protected $taxiPriceList;
/**
* @ORM\Column(type="string")
*/
protected $customSlug = "";
/**
* @ORM\Column(type="string")
*/
protected $customTitle="";
/**
* @ORM\Column(type="boolean");
*/
protected $emphasizedItems = false;
/**
* @ORM\Column(type="integer");
* in Tagen, 0 = keine Ablaufdatum
*/
protected $maxPasswordAge = 0;
/**
* @ORM\ManyToMany(targetEntity="Diplix\KMGBundle\Entity\PaymentType")
*/
protected $paymentTypes;
/**
* @ORM\Column(type="boolean",options={"default" = 1});
*/
protected $creditCardFields = true;
/**
* @ORM\Column(type="boolean",options={"default" = 1});
*/
protected $showCostCenter = true;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $requireCostCenter = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $showEmailInAddress = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $mobileNumberRequiredForPassenger = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $passengerNameRequired = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $privateAddressbookIsSharedWithAll = false;
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PaymentType")
*/
protected $defaultPaymentType;
/**
* @ORM\Column(type="text")
*/
protected $additionalOrderComment = "";
/**
* @ORM\Column(type="text")
*/
protected $landingPageTitle = "";
/**
* @ORM\Column(type="text")
*/
protected $landingPageText = "";
/**
* @ORM\Column(type="string", length=32, nullable=false)
*/
protected $defaultLocale = "de";
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $invoiceAddress = "";
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $pdfInfoText = "";
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $pdfAgb = "";
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $pdfDefaultHeader = '';
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $pdfDefaultFooter = '';
/**
* @ORM\Column(type="boolean")
*/
protected $showAdditionalBlumFields = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $showRating = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $allowInstantPayment = false;
/**
* @ORM\Column(type="text")
*/
protected $taxNo='';
/**
* @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
*/
protected $accWaitPrice = 0.0;
/**
* @ORM\Column(type="string")
*/
protected $accWaitPriceAccNumber = '';
/**
* @ORM\Column(type="decimal", nullable=false, precision=5, scale=2,options={"unsigned":false})
*/
protected $accCommissionPercent = 0.0;
/**
* @ORM\Column(type="json")
*/
protected $accRates = [ ];
/**
* @ORM\Column(type="json")
*/
protected $tamiOptions = [];
/**
* @ORM\Column(type="integer",options={"unsigned":true})
*/
protected $freeServiceTimeDefaultMinutes = 0;
/**
* @ORM\Column(type="integer",options={"unsigned":true} )
*/
protected $freeServiceTimeFraMinutes = 0;
/**
* @ORM\Column(type="text",nullable=false)
*/
protected $invoiceMailText = '';
/**
* @ORM\Column(type="text")
*/
protected $invoiceEmail = '';
/**
* @ORM\Column(type="text")
*/
protected $invoiceEmailCC = '';
/**
* @ORM\Column(type="text")
*/
protected $invoiceEmailBCC = '';
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $accIgnoreExtraCost = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $accDisableSupplementalSheet = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $accDisplayWaitingTimeAsDispoHours = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $accExcludeFromAnalysis = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $creditCardCustomer = false;
/**
* @ORM\Column(type="boolean")
*/
protected bool $enableUserSelfRegistration = false;
/**
* @ORM\Column(type="json")
*/
protected ?array $selfRegistrationDomainWhitelist = [];
/**
* @ORM\Column(type="string", nullable=true, unique=true)
*/
protected ?string $selfRegistrationSlug = null;
/**
* @ORM\Column(type="string", nullable=true)
*/
protected ?string $selfRegistrationCode = null;
/**
* @ORM\Column(type="string")
*/
protected $xchgPlatformUrl = '';
/**
* @ORM\Column(type="string")
*/
protected $xchgLoginAsMember = '';
/**
* @ORM\Column(type="string")
*/
protected $xchgLoginPassword = '';
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $suppressOrderMails = false;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $enableDispositionsAccounting = false;
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\File", fetch="EAGER")
* @ORM\JoinColumn(referencedColumnName="id",nullable=true)
*/
protected $pdfLogo;
/**
* @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
*/
protected $optionalExtraCharge = 0.0;
/**
* @ORM\Column(type="boolean",options={"default" = 0});
*/
protected $enableSmsNotifications = false;
/**
* @ORM\Column(type="json")
*/
protected $discountOptions = [];
/**
* @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
*/
protected $vipExtraChargeFixed = 0.0;
/**
* @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
*/
protected $vipExtraChargePercent = 0.0;
/**
* @ORM\Column(type="boolean",options={"default" = 1});
*/
protected bool $active = true;
public function __construct()
{
$this->paymentTypes= new ArrayCollection();
$this->priceLists = new ArrayCollection();
}
public function __clone()
{
$this->id = null;
$this->name = "Kopie von ".$this->name;
$this->customerNo = "";
$this->customSlug = "";
$this->customTitle = "";
if ($this->selfRegistrationDomainWhitelist === null) $this->selfRegistrationDomainWhitelist = [];
if ($this->discountOptions === null) $this->discountOptions = [];
$this->enableUserSelfRegistration = false;
}
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return mixed
*/
public function getCustomerNo()
{
return $this->customerNo;
}
/**
* @param mixed $customerNo
*/
public function setCustomerNo($customerNo)
{
$this->customerNo = $customerNo;
}
public function __toString()
{
return $this->id."|".$this->name;
}
/**
* @return mixed
*/
public function getCustomSlug()
{
return $this->customSlug;
}
/**
* @param mixed $customSlug
*/
public function setCustomSlug($customSlug)
{
$this->customSlug = $customSlug;
}
/**
* @return mixed
*/
public function getCustomTitle()
{
return $this->customTitle;
}
/**
* @param mixed $customTitle
*/
public function setCustomTitle($customTitle)
{
$this->customTitle = $customTitle;
}
/**
* @return mixed
*/
public function getEmphasizedItems()
{
return $this->emphasizedItems;
}
/**
* @param mixed $emphasizedItems
*/
public function setEmphasizedItems($emphasizedItems)
{
$this->emphasizedItems = $emphasizedItems;
}
/**
* @return mixed
*/
public function getMaxPasswordAge()
{
return $this->maxPasswordAge;
}
/**
* @param mixed $maxPasswordAge
*/
public function setMaxPasswordAge($maxPasswordAge)
{
$this->maxPasswordAge = $maxPasswordAge;
}
/**
* @return mixed
*/
public function getPaymentTypes()
{
return $this->paymentTypes;
}
/**
* @param mixed $paymentTypes
*/
public function setPaymentTypes($paymentTypes)
{
$this->paymentTypes = $paymentTypes;
}
/**
* @return mixed
*/
public function getCreditCardFields()
{
return $this->creditCardFields;
}
/**
* @param mixed $creditCardFields
*/
public function setCreditCardFields($creditCardFields)
{
$this->creditCardFields = $creditCardFields;
}
/**
* @return mixed
*/
public function getShowCostCenter()
{
return $this->showCostCenter;
}
/**
* @param mixed $showCostCenter
*/
public function setShowCostCenter($showCostCenter)
{
$this->showCostCenter = $showCostCenter;
}
/**
* @return mixed
*/
public function getShowEmailInAddress()
{
return $this->showEmailInAddress;
}
/**
* @param mixed $showEmailInAddress
*/
public function setShowEmailInAddress($showEmailInAddress)
{
$this->showEmailInAddress = $showEmailInAddress;
}
/**
* @return PaymentType|null
*/
public function getDefaultPaymentType()
{
return $this->defaultPaymentType;
}
/**
* @param mixed $defaultPaymentType
*/
public function setDefaultPaymentType($defaultPaymentType)
{
$this->defaultPaymentType = $defaultPaymentType;
}
/**
* @return mixed
*/
public function getAdditionalOrderComment()
{
return $this->additionalOrderComment;
}
/**
* @param mixed $additionalOrderComment
*/
public function setAdditionalOrderComment($additionalOrderComment)
{
$this->additionalOrderComment = $additionalOrderComment;
}
/**
* @return mixed
*/
public function getLandingPageText()
{
return $this->landingPageText;
}
/**
* @param mixed $landingPageText
*/
public function setLandingPageText($landingPageText)
{
$this->landingPageText = $landingPageText;
}
/**
* @return mixed
*/
public function getLandingPageTitle()
{
return $this->landingPageTitle;
}
/**
* @param mixed $landingPageTitle
*/
public function setLandingPageTitle($landingPageTitle)
{
$this->landingPageTitle = $landingPageTitle;
}
/**
* @return ArrayCollection
*/
public function getPriceLists()
{
return $this->priceLists;
}
/**
* @param mixed $priceLists
*/
public function setPriceLists($priceLists)
{
$this->priceLists = $priceLists;
}
/**
* @return mixed
*/
public function getMobileNumberRequiredForPassenger()
{
return $this->mobileNumberRequiredForPassenger;
}
/**
* @param mixed $mobileNumberRequiredForPassenger
*/
public function setMobileNumberRequiredForPassenger($mobileNumberRequiredForPassenger)
{
$this->mobileNumberRequiredForPassenger = $mobileNumberRequiredForPassenger;
}
/**
* @return mixed
*/
public function getPrivateAddressbookIsSharedWithAll()
{
return $this->privateAddressbookIsSharedWithAll;
}
/**
* @param mixed $privateAddressbookIsSharedWithAll
*/
public function setPrivateAddressbookIsSharedWithAll($privateAddressbookIsSharedWithAll)
{
$this->privateAddressbookIsSharedWithAll = $privateAddressbookIsSharedWithAll;
}
/**
* @return mixed
*/
public function getDefaultLocale()
{
return $this->defaultLocale;
}
/**
* @param mixed $defaultLocale
*/
public function setDefaultLocale($defaultLocale)
{
$this->defaultLocale = $defaultLocale;
}
/**
* @return null|PriceList
*/
public function getDefaultPriceList()
{
return $this->defaultPriceList;
}
/**
* @param mixed $defaultPriceList
*/
public function setDefaultPriceList($defaultPriceList)
{
$this->defaultPriceList = $defaultPriceList;
}
/**
* @return mixed
*/
public function getInvoiceAddress()
{
return $this->invoiceAddress;
}
/**
* @param mixed $invoiceAddress
*/
public function setInvoiceAddress($invoiceAddress)
{
$this->invoiceAddress = $invoiceAddress;
}
/**
* @return mixed
*/
public function getPdfInfoText()
{
return $this->pdfInfoText;
}
/**
* @param mixed $pdfInfoText
*/
public function setPdfInfoText($pdfInfoText)
{
$this->pdfInfoText = $pdfInfoText;
}
/**
* @return mixed
*/
public function getShowAdditionalBlumFields()
{
return $this->showAdditionalBlumFields;
}
/**
* @param mixed $showAdditionalBlumFields
*/
public function setShowAdditionalBlumFields($showAdditionalBlumFields)
{
$this->showAdditionalBlumFields = $showAdditionalBlumFields;
}
/**
* @return mixed
*/
public function getPdfAgb()
{
return $this->pdfAgb;
}
/**
* @param mixed $pdfAgb
*/
public function setPdfAgb($pdfAgb)
{
$this->pdfAgb = $pdfAgb;
}
/**
* @return mixed
*/
public function getShowRating()
{
return $this->showRating;
}
/**
* @param mixed $showRating
*/
public function setShowRating($showRating)
{
$this->showRating = $showRating;
}
/**
* @return mixed
*/
public function getAllowInstantPayment()
{
return $this->allowInstantPayment;
}
/**
* @param mixed $allowInstantPayment
*/
public function setAllowInstantPayment($allowInstantPayment)
{
$this->allowInstantPayment = $allowInstantPayment;
}
/**
* @return mixed
*/
public function getTaxNo()
{
return $this->taxNo;
}
/**
* @param mixed $taxNo
*/
public function setTaxNo($taxNo)
{
$this->taxNo = $taxNo;
}
/**
* @return mixed
*/
public function getAccWaitPrice()
{
return $this->accWaitPrice;
}
/**
* @param mixed $accWaitPrice
*/
public function setAccWaitPrice($accWaitPrice)
{
$this->accWaitPrice = $accWaitPrice;
}
/**
* @return mixed
*/
public function getAccCommissionPercent()
{
return $this->accCommissionPercent;
}
/**
* @param mixed $accCommissionPercent
*/
public function setAccCommissionPercent($accCommissionPercent)
{
$this->accCommissionPercent = $accCommissionPercent;
}
/**
* @return array|Rate[]
*/
public function getAccRates()
{
$ro = [];
foreach ( $this->accRates as $row)
{
$ro[]= Rate::fromArray($row);
}
return $ro;
}
/**
* @param array $accRates
*/
public function setAccRates($accRates)
{
$this->accRates = json_decode(json_encode($accRates), true); // ugly way to convert array of object to array of assoc-array
}
/**
* @return array
*/
public function getTamiOptions()
{
return $this->tamiOptions;
}
/**
* @param array $tamiOptions
*/
public function setTamiOptions($tamiOptions)
{
$this->tamiOptions = $tamiOptions;
}
/**
* @return int
*/
public function getFreeServiceTimeDefaultMinutes()
{
return $this->freeServiceTimeDefaultMinutes;
}
/**
* @param int $freeServiceTimeDefaultMinutes
*/
public function setFreeServiceTimeDefaultMinutes($freeServiceTimeDefaultMinutes)
{
$this->freeServiceTimeDefaultMinutes = $freeServiceTimeDefaultMinutes;
}
/**
* @return int
*/
public function getFreeServiceTimeFraMinutes()
{
return $this->freeServiceTimeFraMinutes;
}
/**
* @param int $freeServiceTimeFraMinutes
*/
public function setFreeServiceTimeFraMinutes($freeServiceTimeFraMinutes)
{
$this->freeServiceTimeFraMinutes = $freeServiceTimeFraMinutes;
}
/**
* @return string
*/
public function getInvoiceMailText()
{
return $this->invoiceMailText;
}
/**
* @param string $invoiceMailText
*/
public function setInvoiceMailText($invoiceMailText)
{
$this->invoiceMailText = $invoiceMailText;
}
/**
* @return string
*/
public function getInvoiceEmail()
{
return $this->invoiceEmail;
}
/**
* @param string $invoiceEmail
*/
public function setInvoiceEmail($invoiceEmail)
{
$this->invoiceEmail = $invoiceEmail;
}
/**
* @return string
*/
public function getInvoiceEmailCC()
{
return $this->invoiceEmailCC;
}
/**
* @param string $invoiceEmailCC
*/
public function setInvoiceEmailCC($invoiceEmailCC)
{
$this->invoiceEmailCC = $invoiceEmailCC;
}
/**
* @return string
*/
public function getInvoiceEmailBCC()
{
return $this->invoiceEmailBCC;
}
/**
* @param string $invoiceEmailBCC
*/
public function setInvoiceEmailBCC($invoiceEmailBCC)
{
$this->invoiceEmailBCC = $invoiceEmailBCC;
}
/**
* @return bool
*/
public function isAccIgnoreExtraCost()
{
return $this->accIgnoreExtraCost;
}
/**
* @param bool $accIgnoreExtraCost
*/
public function setAccIgnoreExtraCost($accIgnoreExtraCost)
{
$this->accIgnoreExtraCost = $accIgnoreExtraCost;
}
/**
* @return bool
*/
public function isAccDisableSupplementalSheet(): bool
{
return $this->accDisableSupplementalSheet;
}
/**
* @param bool $accDisableSupplementalSheet
*/
public function setAccDisableSupplementalSheet(bool $accDisableSupplementalSheet): void
{
$this->accDisableSupplementalSheet = $accDisableSupplementalSheet;
}
/**
* @return bool
*/
public function isAccDisplayWaitingTimeAsDispoHours(): bool
{
return $this->accDisplayWaitingTimeAsDispoHours;
}
/**
* @param bool $accDisplayWaitingTimeAsDispoHours
*/
public function setAccDisplayWaitingTimeAsDispoHours(bool $accDisplayWaitingTimeAsDispoHours): void
{
$this->accDisplayWaitingTimeAsDispoHours = $accDisplayWaitingTimeAsDispoHours;
}
/**
* @return bool
*/
public function isAccExcludeFromAnalysis(): bool
{
return $this->accExcludeFromAnalysis;
}
/**
* @param bool $accExcludeFromAnalysis
*/
public function setAccExcludeFromAnalysis(bool $accExcludeFromAnalysis): void
{
$this->accExcludeFromAnalysis = $accExcludeFromAnalysis;
}
/**
* @return bool
*/
public function isCreditCardCustomer(): bool
{
return $this->creditCardCustomer;
}
/**
* @param bool $creditCardCustomer
*/
public function setCreditCardCustomer(bool $creditCardCustomer): void
{
$this->creditCardCustomer = $creditCardCustomer;
}
/**
* @return bool
*/
public function isEnableUserSelfRegistration(): bool
{
return $this->enableUserSelfRegistration;
}
/**
* @param bool $enableUserSelfRegistration
*/
public function setEnableUserSelfRegistration(bool $enableUserSelfRegistration): void
{
$this->enableUserSelfRegistration = $enableUserSelfRegistration;
}
/**
* @return array
*/
public function getSelfRegistrationDomainWhitelist(): array
{
if ($this->selfRegistrationDomainWhitelist===null)
{
return [];
}
return $this->selfRegistrationDomainWhitelist;
}
/**
* @param array $selfRegistrationDomainWhitelist
*/
public function setSelfRegistrationDomainWhitelist(array $selfRegistrationDomainWhitelist): void
{
$this->selfRegistrationDomainWhitelist = array_values($selfRegistrationDomainWhitelist);
}
/**
* @return string|null
*/
public function getSelfRegistrationCode(): ?string
{
return $this->selfRegistrationCode;
}
/**
* @param string|null $selfRegistrationCode
*/
public function setSelfRegistrationCode(?string $selfRegistrationCode): void
{
$this->selfRegistrationCode = $selfRegistrationCode;
}
/**
* @return string|null
*/
public function getSelfRegistrationSlug(): ?string
{
return $this->selfRegistrationSlug;
}
/**
* @param string|null $selfRegistrationSlug
*/
public function setSelfRegistrationSlug(?string $selfRegistrationSlug): void
{
$this->selfRegistrationSlug = $selfRegistrationSlug;
}
/**
* @return string
*/
public function getXchgPlatformUrl(): string
{
return $this->xchgPlatformUrl;
}
/**
* @param string $xchgPlatformUrl
*/
public function setXchgPlatformUrl(string $xchgPlatformUrl): void
{
$this->xchgPlatformUrl = $xchgPlatformUrl;
}
/**
* @return string
*/
public function getXchgLoginAsMember(): string
{
return $this->xchgLoginAsMember;
}
/**
* @param string $xchgLoginAsMember
*/
public function setXchgLoginAsMember(string $xchgLoginAsMember): void
{
$this->xchgLoginAsMember = $xchgLoginAsMember;
}
/**
* @return string
*/
public function getXchgLoginPassword(): string
{
return $this->xchgLoginPassword;
}
/**
* @param string $xchgLoginPassword
*/
public function setXchgLoginPassword(string $xchgLoginPassword): void
{
$this->xchgLoginPassword = $xchgLoginPassword;
}
/**
* @return bool
*/
public function isSuppressOrderMails(): bool
{
return $this->suppressOrderMails;
}
/**
* @param bool $suppressOrderMails
*/
public function setSuppressOrderMails(bool $suppressOrderMails): void
{
$this->suppressOrderMails = $suppressOrderMails;
}
/**
* @return mixed
*/
public function getTaxiPriceList()
{
return $this->taxiPriceList;
}
/**
* @param mixed $taxiPriceList
*/
public function setTaxiPriceList($taxiPriceList): void
{
$this->taxiPriceList = $taxiPriceList;
}
/**
* @return string
*/
public function getAccWaitPriceAccNumber(): string
{
return $this->accWaitPriceAccNumber;
}
/**
* @param string $accWaitPriceAccNumber
*/
public function setAccWaitPriceAccNumber(string $accWaitPriceAccNumber): void
{
$this->accWaitPriceAccNumber = $accWaitPriceAccNumber;
}
/**
* @return bool
*/
public function isRequireCostCenter(): bool
{
return $this->requireCostCenter;
}
/**
* @param bool $requireCostCenter
*/
public function setRequireCostCenter(bool $requireCostCenter): void
{
$this->requireCostCenter = $requireCostCenter;
}
/**
* @return string
*/
public function getPdfDefaultHeader(): string
{
return $this->pdfDefaultHeader;
}
/**
* @param string $pdfDefaultHeader
*/
public function setPdfDefaultHeader(string $pdfDefaultHeader): void
{
$this->pdfDefaultHeader = $pdfDefaultHeader;
}
/**
* @return string
*/
public function getPdfDefaultFooter(): string
{
return $this->pdfDefaultFooter;
}
/**
* @param string $pdfDefaultFooter
*/
public function setPdfDefaultFooter(string $pdfDefaultFooter): void
{
$this->pdfDefaultFooter = $pdfDefaultFooter;
}
/**
* @return bool
*/
public function isEnableDispositionsAccounting(): bool
{
return $this->enableDispositionsAccounting;
}
/**
* @param bool $enableDispositionsAccounting
*/
public function setEnableDispositionsAccounting(bool $enableDispositionsAccounting): void
{
$this->enableDispositionsAccounting = $enableDispositionsAccounting;
}
/**
* @return mixed
*/
public function getPdfLogo()
{
return $this->pdfLogo;
}
/**
* @param mixed $pdfLogo
*/
public function setPdfLogo($pdfLogo): void
{
$this->pdfLogo = $pdfLogo;
}
/**
* @return float
*/
public function getOptionalExtraCharge(): float
{
return $this->optionalExtraCharge;
}
/**
* @param float $optionalExtraCharge
*/
public function setOptionalExtraCharge(float $optionalExtraCharge): void
{
$this->optionalExtraCharge = $optionalExtraCharge;
}
/**
* @return bool
*/
public function isPassengerNameRequired(): bool
{
return $this->passengerNameRequired;
}
/**
* @param bool $passengerNameRequired
*/
public function setPassengerNameRequired(bool $passengerNameRequired): void
{
$this->passengerNameRequired = $passengerNameRequired;
}
/**
* @return bool
*/
public function isEnableSmsNotifications(): bool
{
return $this->enableSmsNotifications;
}
/**
* @param bool $enableSmsNotifications
*/
public function setEnableSmsNotifications(bool $enableSmsNotifications): void
{
$this->enableSmsNotifications = $enableSmsNotifications;
}
/**
* @return array
*/
public function getDiscountOptions(): array
{
if ($this->discountOptions === null) {
return [];
}
return $this->discountOptions;
}
/**
* @param array $discountOptions
*/
public function setDiscountOptions(array $discountOptions): void
{
$this->discountOptions = array_values($discountOptions);
}
/**
* @return float
*/
public function getVipExtraChargeFixed(): float
{
return $this->vipExtraChargeFixed;
}
/**
* @param float $vipExtraChargeFixed
*/
public function setVipExtraChargeFixed(float $vipExtraChargeFixed): void
{
$this->vipExtraChargeFixed = $vipExtraChargeFixed;
}
/**
* @return float
*/
public function getVipExtraChargePercent(): float
{
return $this->vipExtraChargePercent;
}
/**
* @param float $vipExtraChargePercent
*/
public function setVipExtraChargePercent(float $vipExtraChargePercent): void
{
$this->vipExtraChargePercent = $vipExtraChargePercent;
}
/**
* @return bool
*/
public function isActive(): bool
{
return $this->active;
}
/**
* @param bool $active
*/
public function setActive(bool $active): void
{
$this->active = $active;
}
}