src/Diplix/KMGBundle/Entity/Customer.php line 12

Open in your IDE?
  1. <?php
  2. namespace Diplix\KMGBundle\Entity;
  3. use Diplix\KMGBundle\Entity\Accounting\CoopMember;
  4. use Diplix\KMGBundle\Entity\Accounting\Rate;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8.  * @ORM\Table(name="customers", indexes={@ORM\Index(name="be_deleted",columns={"be_deleted"})})
  9.  * @ORM\Entity(repositoryClass="Diplix\KMGBundle\Repository\CustomerRepository")
  10.  */
  11. class Customer extends BasicEntity
  12. {
  13.     /**
  14.      * @ORM\Column(type="integer",name="id")
  15.      * @ORM\Id()
  16.      * @ORM\GeneratedValue(strategy="AUTO")
  17.      */
  18.     protected $id;
  19.     /**
  20.      * @ORM\Column(type="string")
  21.      */
  22.     protected $name;
  23.     /**
  24.      * @ORM\Column(type="string")
  25.      */
  26.     protected $customerNo "";
  27.     /**
  28.      * @ORM\ManyToMany(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
  29.      */
  30.     protected $priceLists;
  31.     /**
  32.      * @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
  33.      * @ORM\JoinColumn( nullable=true)
  34.      */
  35.     protected $defaultPriceList;
  36.     /**
  37.      * @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PriceList", fetch="EAGER")
  38.      * @ORM\JoinColumn( nullable=true)
  39.      */
  40.     protected $taxiPriceList;
  41.     /**
  42.      * @ORM\Column(type="string")
  43.      */
  44.     protected $customSlug "";
  45.     /**
  46.      * @ORM\Column(type="string")
  47.      */
  48.     protected $customTitle="";
  49.     /**
  50.      * @ORM\Column(type="boolean");
  51.      */
  52.     protected $emphasizedItems false;
  53.      /**
  54.      * @ORM\Column(type="integer");
  55.      * in Tagen, 0 = keine Ablaufdatum
  56.      */
  57.     protected $maxPasswordAge 0;
  58.     /**
  59.      * @ORM\ManyToMany(targetEntity="Diplix\KMGBundle\Entity\PaymentType")
  60.      */
  61.     protected $paymentTypes;
  62.     /**
  63.      * @ORM\Column(type="boolean",options={"default" = 1});
  64.      */
  65.     protected $creditCardFields true;
  66.     /**
  67.      * @ORM\Column(type="boolean",options={"default" = 1});
  68.      */
  69.     protected $showCostCenter true;
  70.     /**
  71.      * @ORM\Column(type="boolean",options={"default" = 0});
  72.      */
  73.     protected $requireCostCenter false;
  74.     /**
  75.      * @ORM\Column(type="boolean",options={"default" = 0});
  76.      */
  77.     protected $showEmailInAddress false;
  78.     /**
  79.      * @ORM\Column(type="boolean",options={"default" = 0});
  80.      */
  81.     protected $mobileNumberRequiredForPassenger false;
  82.     /**
  83.      * @ORM\Column(type="boolean",options={"default" = 0});
  84.      */
  85.     protected $passengerNameRequired false;
  86.     /**
  87.      * @ORM\Column(type="boolean",options={"default" = 0});
  88.      */
  89.     protected $privateAddressbookIsSharedWithAll false;
  90.      /**
  91.      * @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\PaymentType")
  92.      */
  93.     protected $defaultPaymentType;
  94.     /**
  95.      * @ORM\Column(type="text")
  96.      */
  97.     protected $additionalOrderComment "";
  98.     /**
  99.      * @ORM\Column(type="text")
  100.      */
  101.     protected $landingPageTitle "";
  102.     /**
  103.      * @ORM\Column(type="text")
  104.      */
  105.     protected $landingPageText "";
  106.      /**
  107.      * @ORM\Column(type="string", length=32, nullable=false)
  108.      */
  109.     protected $defaultLocale "de";
  110.     /**
  111.      * @ORM\Column(type="text",nullable=false)
  112.      */
  113.     protected $invoiceAddress "";
  114.     /**
  115.      * @ORM\Column(type="text",nullable=false)
  116.      */
  117.     protected $pdfInfoText "";
  118.     /**
  119.      * @ORM\Column(type="text",nullable=false)
  120.      */
  121.     protected $pdfAgb "";
  122.     /**
  123.      * @ORM\Column(type="text",nullable=false)
  124.      */
  125.     protected $pdfDefaultHeader '';
  126.     /**
  127.      * @ORM\Column(type="text",nullable=false)
  128.      */
  129.     protected $pdfDefaultFooter '';
  130.     /**
  131.      * @ORM\Column(type="boolean")
  132.      */
  133.     protected $showAdditionalBlumFields false;
  134.     /**
  135.      * @ORM\Column(type="boolean",options={"default" = 0});
  136.      */
  137.     protected $showRating false;
  138.     /**
  139.      * @ORM\Column(type="boolean",options={"default" = 0});
  140.      */
  141.     protected $allowInstantPayment false;
  142.     /**
  143.      * @ORM\Column(type="text")
  144.      */
  145.     protected $taxNo='';
  146.     /**
  147.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  148.      */
  149.     protected $accWaitPrice 0.0;
  150.     /**
  151.      * @ORM\Column(type="string")
  152.      */
  153.     protected $accWaitPriceAccNumber '';
  154.     /**
  155.      * @ORM\Column(type="decimal", nullable=false, precision=5, scale=2,options={"unsigned":false})
  156.      */
  157.     protected $accCommissionPercent 0.0;
  158.     /**
  159.      * @ORM\Column(type="json")
  160.      */
  161.     protected $accRates = [ ];
  162.     /**
  163.      * @ORM\Column(type="json")
  164.      */
  165.     protected $tamiOptions = [];
  166.     /**
  167.      * @ORM\Column(type="integer",options={"unsigned":true})
  168.      */
  169.     protected $freeServiceTimeDefaultMinutes 0;
  170.     /**
  171.      * @ORM\Column(type="integer",options={"unsigned":true} )
  172.      */
  173.     protected $freeServiceTimeFraMinutes 0;
  174.     /**
  175.      * @ORM\Column(type="text",nullable=false)
  176.      */
  177.     protected $invoiceMailText '';
  178.     /**
  179.      * @ORM\Column(type="text")
  180.      */
  181.     protected $invoiceEmail '';
  182.     /**
  183.      * @ORM\Column(type="text")
  184.      */
  185.     protected $invoiceEmailCC '';
  186.     /**
  187.      * @ORM\Column(type="text")
  188.      */
  189.     protected $invoiceEmailBCC '';
  190.     /**
  191.      * @ORM\Column(type="boolean",options={"default" = 0});
  192.      */
  193.     protected $accIgnoreExtraCost false;
  194.     /**
  195.      * @ORM\Column(type="boolean",options={"default" = 0});
  196.      */
  197.     protected $accDisableSupplementalSheet false;
  198.     /**
  199.      * @ORM\Column(type="boolean",options={"default" = 0});
  200.      */
  201.     protected $accDisplayWaitingTimeAsDispoHours false;
  202.     /**
  203.      * @ORM\Column(type="boolean",options={"default" = 0});
  204.      */
  205.     protected $accExcludeFromAnalysis false;
  206.     /**
  207.      * @ORM\Column(type="boolean",options={"default" = 0});
  208.      */
  209.     protected $creditCardCustomer false;
  210.     /**
  211.      * @ORM\Column(type="boolean")
  212.      */
  213.     protected bool $enableUserSelfRegistration false;
  214.     /**
  215.      * @ORM\Column(type="json")
  216.      */
  217.     protected ?array $selfRegistrationDomainWhitelist = [];
  218.     /**
  219.      * @ORM\Column(type="string", nullable=true, unique=true)
  220.      */
  221.     protected ?string $selfRegistrationSlug null;
  222.     /**
  223.      * @ORM\Column(type="string", nullable=true)
  224.      */
  225.     protected ?string $selfRegistrationCode null;
  226.     /**
  227.      * @ORM\Column(type="string")
  228.      */
  229.     protected $xchgPlatformUrl '';
  230.     /**
  231.      * @ORM\Column(type="string")
  232.      */
  233.     protected $xchgLoginAsMember '';
  234.     /**
  235.      * @ORM\Column(type="string")
  236.      */
  237.     protected $xchgLoginPassword '';
  238.     /**
  239.      * @ORM\Column(type="boolean",options={"default" = 0});
  240.      */
  241.     protected $suppressOrderMails false;
  242.     /**
  243.      * @ORM\Column(type="boolean",options={"default" = 0});
  244.      */
  245.     protected $enableDispositionsAccounting false;
  246.     /**
  247.      * @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\File", fetch="EAGER")
  248.      * @ORM\JoinColumn(referencedColumnName="id",nullable=true)
  249.      */
  250.     protected $pdfLogo;
  251.     /**
  252.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  253.      */
  254.     protected $optionalExtraCharge 0.0;
  255.     /**
  256.      * @ORM\Column(type="boolean",options={"default" = 0});
  257.      */
  258.     protected $enableSmsNotifications false;
  259.     /**
  260.      * @ORM\Column(type="json")
  261.      */
  262.     protected $discountOptions = [];
  263.     /**
  264.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  265.      */
  266.     protected $vipExtraChargeFixed 0.0;
  267.     /**
  268.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  269.      */
  270.     protected $vipExtraChargePercent 0.0;
  271.     /**
  272.      * @ORM\Column(type="boolean",options={"default" = 1});
  273.      */
  274.     protected bool $active true;
  275.     /**
  276.      * @ORM\Column(type="boolean",options={"default" = 0});
  277.      */
  278.     protected bool $allowOrderOfApplicantTimeRides false;
  279.     /**
  280.      * @ORM\Column(type="boolean",options={"default" = 0});
  281.      */
  282.     protected bool $automaticQuittung false;
  283.     public function __construct()
  284.     {
  285.         $this->paymentTypes= new ArrayCollection();
  286.         $this->priceLists = new ArrayCollection();
  287.     }
  288.     public function __clone()
  289.     {
  290.         $this->id null;
  291.         $this->name "Kopie von ".$this->name;
  292.         $this->customerNo "";
  293.         $this->customSlug "";
  294.         $this->customTitle "";
  295.         if ($this->selfRegistrationDomainWhitelist === null$this->selfRegistrationDomainWhitelist = [];
  296.         if ($this->discountOptions === null$this->discountOptions = [];
  297.         $this->enableUserSelfRegistration false;
  298.     }
  299.     /**
  300.      * @return mixed
  301.      */
  302.     public function getId()
  303.     {
  304.         return $this->id;
  305.     }
  306.     /**
  307.      * @return mixed
  308.      */
  309.     public function getName()
  310.     {
  311.         return $this->name;
  312.     }
  313.     /**
  314.      * @param mixed $name
  315.      */
  316.     public function setName($name)
  317.     {
  318.         $this->name $name;
  319.     }
  320.     /**
  321.      * @return mixed
  322.      */
  323.     public function getCustomerNo()
  324.     {
  325.         return $this->customerNo;
  326.     }
  327.     /**
  328.      * @param mixed $customerNo
  329.      */
  330.     public function setCustomerNo($customerNo)
  331.     {
  332.         $this->customerNo $customerNo;
  333.     }
  334.     public function __toString()
  335.     {
  336.         return $this->id."|".$this->name;
  337.     }
  338.     /**
  339.      * @return mixed
  340.      */
  341.     public function getCustomSlug()
  342.     {
  343.         return $this->customSlug;
  344.     }
  345.     /**
  346.      * @param mixed $customSlug
  347.      */
  348.     public function setCustomSlug($customSlug)
  349.     {
  350.         $this->customSlug $customSlug;
  351.     }
  352.     /**
  353.      * @return mixed
  354.      */
  355.     public function getCustomTitle()
  356.     {
  357.         return $this->customTitle;
  358.     }
  359.     /**
  360.      * @param mixed $customTitle
  361.      */
  362.     public function setCustomTitle($customTitle)
  363.     {
  364.         $this->customTitle $customTitle;
  365.     }
  366.     /**
  367.      * @return mixed
  368.      */
  369.     public function getEmphasizedItems()
  370.     {
  371.         return $this->emphasizedItems;
  372.     }
  373.     /**
  374.      * @param mixed $emphasizedItems
  375.      */
  376.     public function setEmphasizedItems($emphasizedItems)
  377.     {
  378.         $this->emphasizedItems $emphasizedItems;
  379.     }
  380.     /**
  381.      * @return mixed
  382.      */
  383.     public function getMaxPasswordAge()
  384.     {
  385.         return $this->maxPasswordAge;
  386.     }
  387.     /**
  388.      * @param mixed $maxPasswordAge
  389.      */
  390.     public function setMaxPasswordAge($maxPasswordAge)
  391.     {
  392.         $this->maxPasswordAge $maxPasswordAge;
  393.     }
  394.     /**
  395.      * @return mixed
  396.      */
  397.     public function getPaymentTypes()
  398.     {
  399.         return $this->paymentTypes;
  400.     }
  401.     /**
  402.      * @param mixed $paymentTypes
  403.      */
  404.     public function setPaymentTypes($paymentTypes)
  405.     {
  406.         $this->paymentTypes $paymentTypes;
  407.     }
  408.     /**
  409.      * @return mixed
  410.      */
  411.     public function getCreditCardFields()
  412.     {
  413.         return $this->creditCardFields;
  414.     }
  415.     /**
  416.      * @param mixed $creditCardFields
  417.      */
  418.     public function setCreditCardFields($creditCardFields)
  419.     {
  420.         $this->creditCardFields $creditCardFields;
  421.     }
  422.     /**
  423.      * @return mixed
  424.      */
  425.     public function getShowCostCenter()
  426.     {
  427.         return $this->showCostCenter;
  428.     }
  429.     /**
  430.      * @param mixed $showCostCenter
  431.      */
  432.     public function setShowCostCenter($showCostCenter)
  433.     {
  434.         $this->showCostCenter $showCostCenter;
  435.     }
  436.     /**
  437.      * @return mixed
  438.      */
  439.     public function getShowEmailInAddress()
  440.     {
  441.         return $this->showEmailInAddress;
  442.     }
  443.     /**
  444.      * @param mixed $showEmailInAddress
  445.      */
  446.     public function setShowEmailInAddress($showEmailInAddress)
  447.     {
  448.         $this->showEmailInAddress $showEmailInAddress;
  449.     }
  450.     /**
  451.      * @return PaymentType|null
  452.      */
  453.     public function getDefaultPaymentType()
  454.     {
  455.         return $this->defaultPaymentType;
  456.     }
  457.     /**
  458.      * @param mixed $defaultPaymentType
  459.      */
  460.     public function setDefaultPaymentType($defaultPaymentType)
  461.     {
  462.         $this->defaultPaymentType $defaultPaymentType;
  463.     }
  464.     /**
  465.      * @return mixed
  466.      */
  467.     public function getAdditionalOrderComment()
  468.     {
  469.         return $this->additionalOrderComment;
  470.     }
  471.     /**
  472.      * @param mixed $additionalOrderComment
  473.      */
  474.     public function setAdditionalOrderComment($additionalOrderComment)
  475.     {
  476.         $this->additionalOrderComment $additionalOrderComment;
  477.     }
  478.     /**
  479.      * @return mixed
  480.      */
  481.     public function getLandingPageText()
  482.     {
  483.         return $this->landingPageText;
  484.     }
  485.     /**
  486.      * @param mixed $landingPageText
  487.      */
  488.     public function setLandingPageText($landingPageText)
  489.     {
  490.         $this->landingPageText $landingPageText;
  491.     }
  492.     /**
  493.      * @return mixed
  494.      */
  495.     public function getLandingPageTitle()
  496.     {
  497.         return $this->landingPageTitle;
  498.     }
  499.     /**
  500.      * @param mixed $landingPageTitle
  501.      */
  502.     public function setLandingPageTitle($landingPageTitle)
  503.     {
  504.         $this->landingPageTitle $landingPageTitle;
  505.     }
  506.     /**
  507.      * @return ArrayCollection
  508.      */
  509.     public function getPriceLists()
  510.     {
  511.         return $this->priceLists;
  512.     }
  513.     /**
  514.      * @param mixed $priceLists
  515.      */
  516.     public function setPriceLists($priceLists)
  517.     {
  518.         $this->priceLists $priceLists;
  519.     }
  520.     /**
  521.      * @return mixed
  522.      */
  523.     public function getMobileNumberRequiredForPassenger()
  524.     {
  525.         return $this->mobileNumberRequiredForPassenger;
  526.     }
  527.     /**
  528.      * @param mixed $mobileNumberRequiredForPassenger
  529.      */
  530.     public function setMobileNumberRequiredForPassenger($mobileNumberRequiredForPassenger)
  531.     {
  532.         $this->mobileNumberRequiredForPassenger $mobileNumberRequiredForPassenger;
  533.     }
  534.     /**
  535.      * @return mixed
  536.      */
  537.     public function getPrivateAddressbookIsSharedWithAll()
  538.     {
  539.         return $this->privateAddressbookIsSharedWithAll;
  540.     }
  541.     /**
  542.      * @param mixed $privateAddressbookIsSharedWithAll
  543.      */
  544.     public function setPrivateAddressbookIsSharedWithAll($privateAddressbookIsSharedWithAll)
  545.     {
  546.         $this->privateAddressbookIsSharedWithAll $privateAddressbookIsSharedWithAll;
  547.     }
  548.     /**
  549.      * @return mixed
  550.      */
  551.     public function getDefaultLocale()
  552.     {
  553.         return $this->defaultLocale;
  554.     }
  555.     /**
  556.      * @param mixed $defaultLocale
  557.      */
  558.     public function setDefaultLocale($defaultLocale)
  559.     {
  560.         $this->defaultLocale $defaultLocale;
  561.     }
  562.     /**
  563.      * @return null|PriceList
  564.      */
  565.     public function getDefaultPriceList()
  566.     {
  567.         return $this->defaultPriceList;
  568.     }
  569.     /**
  570.      * @param mixed $defaultPriceList
  571.      */
  572.     public function setDefaultPriceList($defaultPriceList)
  573.     {
  574.         $this->defaultPriceList $defaultPriceList;
  575.     }
  576.     /**
  577.      * @return mixed
  578.      */
  579.     public function getInvoiceAddress()
  580.     {
  581.         return $this->invoiceAddress;
  582.     }
  583.     /**
  584.      * @param mixed $invoiceAddress
  585.      */
  586.     public function setInvoiceAddress($invoiceAddress)
  587.     {
  588.         $this->invoiceAddress $invoiceAddress;
  589.     }
  590.     /**
  591.      * @return mixed
  592.      */
  593.     public function getPdfInfoText()
  594.     {
  595.         return $this->pdfInfoText;
  596.     }
  597.     /**
  598.      * @param mixed $pdfInfoText
  599.      */
  600.     public function setPdfInfoText($pdfInfoText)
  601.     {
  602.         $this->pdfInfoText $pdfInfoText;
  603.     }
  604.     /**
  605.      * @return mixed
  606.      */
  607.     public function getShowAdditionalBlumFields()
  608.     {
  609.         return $this->showAdditionalBlumFields;
  610.     }
  611.     /**
  612.      * @param mixed $showAdditionalBlumFields
  613.      */
  614.     public function setShowAdditionalBlumFields($showAdditionalBlumFields)
  615.     {
  616.         $this->showAdditionalBlumFields $showAdditionalBlumFields;
  617.     }
  618.     /**
  619.      * @return mixed
  620.      */
  621.     public function getPdfAgb()
  622.     {
  623.         return $this->pdfAgb;
  624.     }
  625.     /**
  626.      * @param mixed $pdfAgb
  627.      */
  628.     public function setPdfAgb($pdfAgb)
  629.     {
  630.         $this->pdfAgb $pdfAgb;
  631.     }
  632.     /**
  633.      * @return mixed
  634.      */
  635.     public function getShowRating()
  636.     {
  637.         return $this->showRating;
  638.     }
  639.     /**
  640.      * @param mixed $showRating
  641.      */
  642.     public function setShowRating($showRating)
  643.     {
  644.         $this->showRating $showRating;
  645.     }
  646.     /**
  647.      * @return mixed
  648.      */
  649.     public function getAllowInstantPayment()
  650.     {
  651.         return $this->allowInstantPayment;
  652.     }
  653.     /**
  654.      * @param mixed $allowInstantPayment
  655.      */
  656.     public function setAllowInstantPayment($allowInstantPayment)
  657.     {
  658.         $this->allowInstantPayment $allowInstantPayment;
  659.     }
  660.     /**
  661.      * @return mixed
  662.      */
  663.     public function getTaxNo()
  664.     {
  665.         return $this->taxNo;
  666.     }
  667.     /**
  668.      * @param mixed $taxNo
  669.      */
  670.     public function setTaxNo($taxNo)
  671.     {
  672.         $this->taxNo $taxNo;
  673.     }
  674.     /**
  675.      * @return mixed
  676.      */
  677.     public function getAccWaitPrice()
  678.     {
  679.         return $this->accWaitPrice;
  680.     }
  681.     /**
  682.      * @param mixed $accWaitPrice
  683.      */
  684.     public function setAccWaitPrice($accWaitPrice)
  685.     {
  686.         $this->accWaitPrice $accWaitPrice;
  687.     }
  688.     /**
  689.      * @return mixed
  690.      */
  691.     public function getAccCommissionPercent()
  692.     {
  693.         return $this->accCommissionPercent;
  694.     }
  695.     /**
  696.      * @param mixed $accCommissionPercent
  697.      */
  698.     public function setAccCommissionPercent($accCommissionPercent)
  699.     {
  700.         $this->accCommissionPercent $accCommissionPercent;
  701.     }
  702.     /**
  703.      * @return array|Rate[]
  704.      */
  705.     public function getAccRates()
  706.     {
  707.         $ro = [];
  708.         foreach ( $this->accRates as $row)
  709.         {
  710.             $ro[]= Rate::fromArray($row);
  711.         }
  712.         return $ro;
  713.     }
  714.     /**
  715.      * @param array $accRates
  716.      */
  717.     public function setAccRates($accRates)
  718.     {
  719.         $this->accRates json_decode(json_encode($accRates), true); // ugly way to convert array of object to array of assoc-array
  720.     }
  721.     /**
  722.      * @return array
  723.      */
  724.     public function getTamiOptions()
  725.     {
  726.         return $this->tamiOptions;
  727.     }
  728.     /**
  729.      * @param array $tamiOptions
  730.      */
  731.     public function setTamiOptions($tamiOptions)
  732.     {
  733.         $this->tamiOptions $tamiOptions;
  734.     }
  735.     /**
  736.      * @return int
  737.      */
  738.     public function getFreeServiceTimeDefaultMinutes()
  739.     {
  740.         return $this->freeServiceTimeDefaultMinutes;
  741.     }
  742.     /**
  743.      * @param int $freeServiceTimeDefaultMinutes
  744.      */
  745.     public function setFreeServiceTimeDefaultMinutes($freeServiceTimeDefaultMinutes)
  746.     {
  747.         $this->freeServiceTimeDefaultMinutes $freeServiceTimeDefaultMinutes;
  748.     }
  749.     /**
  750.      * @return int
  751.      */
  752.     public function getFreeServiceTimeFraMinutes()
  753.     {
  754.         return $this->freeServiceTimeFraMinutes;
  755.     }
  756.     /**
  757.      * @param int $freeServiceTimeFraMinutes
  758.      */
  759.     public function setFreeServiceTimeFraMinutes($freeServiceTimeFraMinutes)
  760.     {
  761.         $this->freeServiceTimeFraMinutes $freeServiceTimeFraMinutes;
  762.     }
  763.     /**
  764.      * @return string
  765.      */
  766.     public function getInvoiceMailText()
  767.     {
  768.         return $this->invoiceMailText;
  769.     }
  770.     /**
  771.      * @param string $invoiceMailText
  772.      */
  773.     public function setInvoiceMailText($invoiceMailText)
  774.     {
  775.         $this->invoiceMailText $invoiceMailText;
  776.     }
  777.     /**
  778.      * @return string
  779.      */
  780.     public function getInvoiceEmail()
  781.     {
  782.         return $this->invoiceEmail;
  783.     }
  784.     /**
  785.      * @param string $invoiceEmail
  786.      */
  787.     public function setInvoiceEmail($invoiceEmail)
  788.     {
  789.         $this->invoiceEmail $invoiceEmail;
  790.     }
  791.     /**
  792.      * @return string
  793.      */
  794.     public function getInvoiceEmailCC()
  795.     {
  796.         return $this->invoiceEmailCC;
  797.     }
  798.     /**
  799.      * @param string $invoiceEmailCC
  800.      */
  801.     public function setInvoiceEmailCC($invoiceEmailCC)
  802.     {
  803.         $this->invoiceEmailCC $invoiceEmailCC;
  804.     }
  805.     /**
  806.      * @return string
  807.      */
  808.     public function getInvoiceEmailBCC()
  809.     {
  810.         return $this->invoiceEmailBCC;
  811.     }
  812.     /**
  813.      * @param string $invoiceEmailBCC
  814.      */
  815.     public function setInvoiceEmailBCC($invoiceEmailBCC)
  816.     {
  817.         $this->invoiceEmailBCC $invoiceEmailBCC;
  818.     }
  819.     /**
  820.      * @return bool
  821.      */
  822.     public function isAccIgnoreExtraCost()
  823.     {
  824.         return $this->accIgnoreExtraCost;
  825.     }
  826.     /**
  827.      * @param bool $accIgnoreExtraCost
  828.      */
  829.     public function setAccIgnoreExtraCost($accIgnoreExtraCost)
  830.     {
  831.         $this->accIgnoreExtraCost $accIgnoreExtraCost;
  832.     }
  833.     /**
  834.      * @return bool
  835.      */
  836.     public function isAccDisableSupplementalSheet(): bool
  837.     {
  838.         return $this->accDisableSupplementalSheet;
  839.     }
  840.     /**
  841.      * @param bool $accDisableSupplementalSheet
  842.      */
  843.     public function setAccDisableSupplementalSheet(bool $accDisableSupplementalSheet): void
  844.     {
  845.         $this->accDisableSupplementalSheet $accDisableSupplementalSheet;
  846.     }
  847.     /**
  848.      * @return bool
  849.      */
  850.     public function isAccDisplayWaitingTimeAsDispoHours(): bool
  851.     {
  852.         return $this->accDisplayWaitingTimeAsDispoHours;
  853.     }
  854.     /**
  855.      * @param bool $accDisplayWaitingTimeAsDispoHours
  856.      */
  857.     public function setAccDisplayWaitingTimeAsDispoHours(bool $accDisplayWaitingTimeAsDispoHours): void
  858.     {
  859.         $this->accDisplayWaitingTimeAsDispoHours $accDisplayWaitingTimeAsDispoHours;
  860.     }
  861.     /**
  862.      * @return bool
  863.      */
  864.     public function isAccExcludeFromAnalysis(): bool
  865.     {
  866.         return $this->accExcludeFromAnalysis;
  867.     }
  868.     /**
  869.      * @param bool $accExcludeFromAnalysis
  870.      */
  871.     public function setAccExcludeFromAnalysis(bool $accExcludeFromAnalysis): void
  872.     {
  873.         $this->accExcludeFromAnalysis $accExcludeFromAnalysis;
  874.     }
  875.     /**
  876.      * @return bool
  877.      */
  878.     public function isCreditCardCustomer(): bool
  879.     {
  880.         return $this->creditCardCustomer;
  881.     }
  882.     /**
  883.      * @param bool $creditCardCustomer
  884.      */
  885.     public function setCreditCardCustomer(bool $creditCardCustomer): void
  886.     {
  887.         $this->creditCardCustomer $creditCardCustomer;
  888.     }
  889.     /**
  890.      * @return bool
  891.      */
  892.     public function isEnableUserSelfRegistration(): bool
  893.     {
  894.         return $this->enableUserSelfRegistration;
  895.     }
  896.     /**
  897.      * @param bool $enableUserSelfRegistration
  898.      */
  899.     public function setEnableUserSelfRegistration(bool $enableUserSelfRegistration): void
  900.     {
  901.         $this->enableUserSelfRegistration $enableUserSelfRegistration;
  902.     }
  903.     /**
  904.      * @return array
  905.      */
  906.     public function getSelfRegistrationDomainWhitelist(): array
  907.     {
  908.         if ($this->selfRegistrationDomainWhitelist===null)
  909.         {
  910.             return [];
  911.         }
  912.         return $this->selfRegistrationDomainWhitelist;
  913.     }
  914.     /**
  915.      * @param array $selfRegistrationDomainWhitelist
  916.      */
  917.     public function setSelfRegistrationDomainWhitelist(array $selfRegistrationDomainWhitelist): void
  918.     {
  919.         $this->selfRegistrationDomainWhitelist array_values($selfRegistrationDomainWhitelist);
  920.     }
  921.     /**
  922.      * @return string|null
  923.      */
  924.     public function getSelfRegistrationCode(): ?string
  925.     {
  926.         return $this->selfRegistrationCode;
  927.     }
  928.     /**
  929.      * @param string|null $selfRegistrationCode
  930.      */
  931.     public function setSelfRegistrationCode(?string $selfRegistrationCode): void
  932.     {
  933.         $this->selfRegistrationCode $selfRegistrationCode;
  934.     }
  935.     /**
  936.      * @return string|null
  937.      */
  938.     public function getSelfRegistrationSlug(): ?string
  939.     {
  940.         return $this->selfRegistrationSlug;
  941.     }
  942.     /**
  943.      * @param string|null $selfRegistrationSlug
  944.      */
  945.     public function setSelfRegistrationSlug(?string $selfRegistrationSlug): void
  946.     {
  947.         $this->selfRegistrationSlug $selfRegistrationSlug;
  948.     }
  949.     /**
  950.      * @return string
  951.      */
  952.     public function getXchgPlatformUrl(): string
  953.     {
  954.         return $this->xchgPlatformUrl;
  955.     }
  956.     /**
  957.      * @param string $xchgPlatformUrl
  958.      */
  959.     public function setXchgPlatformUrl(string $xchgPlatformUrl): void
  960.     {
  961.         $this->xchgPlatformUrl $xchgPlatformUrl;
  962.     }
  963.     /**
  964.      * @return string
  965.      */
  966.     public function getXchgLoginAsMember(): string
  967.     {
  968.         return $this->xchgLoginAsMember;
  969.     }
  970.     /**
  971.      * @param string $xchgLoginAsMember
  972.      */
  973.     public function setXchgLoginAsMember(string $xchgLoginAsMember): void
  974.     {
  975.         $this->xchgLoginAsMember $xchgLoginAsMember;
  976.     }
  977.     /**
  978.      * @return string
  979.      */
  980.     public function getXchgLoginPassword(): string
  981.     {
  982.         return $this->xchgLoginPassword;
  983.     }
  984.     /**
  985.      * @param string $xchgLoginPassword
  986.      */
  987.     public function setXchgLoginPassword(string $xchgLoginPassword): void
  988.     {
  989.         $this->xchgLoginPassword $xchgLoginPassword;
  990.     }
  991.     /**
  992.      * @return bool
  993.      */
  994.     public function isSuppressOrderMails(): bool
  995.     {
  996.         return $this->suppressOrderMails;
  997.     }
  998.     /**
  999.      * @param bool $suppressOrderMails
  1000.      */
  1001.     public function setSuppressOrderMails(bool $suppressOrderMails): void
  1002.     {
  1003.         $this->suppressOrderMails $suppressOrderMails;
  1004.     }
  1005.     /**
  1006.      * @return mixed
  1007.      */
  1008.     public function getTaxiPriceList()
  1009.     {
  1010.         return $this->taxiPriceList;
  1011.     }
  1012.     /**
  1013.      * @param mixed $taxiPriceList
  1014.      */
  1015.     public function setTaxiPriceList($taxiPriceList): void
  1016.     {
  1017.         $this->taxiPriceList $taxiPriceList;
  1018.     }
  1019.     /**
  1020.      * @return string
  1021.      */
  1022.     public function getAccWaitPriceAccNumber(): string
  1023.     {
  1024.         return $this->accWaitPriceAccNumber;
  1025.     }
  1026.     /**
  1027.      * @param string $accWaitPriceAccNumber
  1028.      */
  1029.     public function setAccWaitPriceAccNumber(string $accWaitPriceAccNumber): void
  1030.     {
  1031.         $this->accWaitPriceAccNumber $accWaitPriceAccNumber;
  1032.     }
  1033.     /**
  1034.      * @return bool
  1035.      */
  1036.     public function isRequireCostCenter(): bool
  1037.     {
  1038.         return $this->requireCostCenter;
  1039.     }
  1040.     /**
  1041.      * @param bool $requireCostCenter
  1042.      */
  1043.     public function setRequireCostCenter(bool $requireCostCenter): void
  1044.     {
  1045.         $this->requireCostCenter $requireCostCenter;
  1046.     }
  1047.     /**
  1048.      * @return string
  1049.      */
  1050.     public function getPdfDefaultHeader(): string
  1051.     {
  1052.         return $this->pdfDefaultHeader;
  1053.     }
  1054.     /**
  1055.      * @param string $pdfDefaultHeader
  1056.      */
  1057.     public function setPdfDefaultHeader(string $pdfDefaultHeader): void
  1058.     {
  1059.         $this->pdfDefaultHeader $pdfDefaultHeader;
  1060.     }
  1061.     /**
  1062.      * @return string
  1063.      */
  1064.     public function getPdfDefaultFooter(): string
  1065.     {
  1066.         return $this->pdfDefaultFooter;
  1067.     }
  1068.     /**
  1069.      * @param string $pdfDefaultFooter
  1070.      */
  1071.     public function setPdfDefaultFooter(string $pdfDefaultFooter): void
  1072.     {
  1073.         $this->pdfDefaultFooter $pdfDefaultFooter;
  1074.     }
  1075.     /**
  1076.      * @return bool
  1077.      */
  1078.     public function isEnableDispositionsAccounting(): bool
  1079.     {
  1080.         return $this->enableDispositionsAccounting;
  1081.     }
  1082.     /**
  1083.      * @param bool $enableDispositionsAccounting
  1084.      */
  1085.     public function setEnableDispositionsAccounting(bool $enableDispositionsAccounting): void
  1086.     {
  1087.         $this->enableDispositionsAccounting $enableDispositionsAccounting;
  1088.     }
  1089.     /**
  1090.      * @return mixed
  1091.      */
  1092.     public function getPdfLogo()
  1093.     {
  1094.         return $this->pdfLogo;
  1095.     }
  1096.     /**
  1097.      * @param mixed $pdfLogo
  1098.      */
  1099.     public function setPdfLogo($pdfLogo): void
  1100.     {
  1101.         $this->pdfLogo $pdfLogo;
  1102.     }
  1103.     /**
  1104.      * @return float
  1105.      */
  1106.     public function getOptionalExtraCharge(): float
  1107.     {
  1108.         return $this->optionalExtraCharge;
  1109.     }
  1110.     /**
  1111.      * @param float $optionalExtraCharge
  1112.      */
  1113.     public function setOptionalExtraCharge(float $optionalExtraCharge): void
  1114.     {
  1115.         $this->optionalExtraCharge $optionalExtraCharge;
  1116.     }
  1117.     /**
  1118.      * @return bool
  1119.      */
  1120.     public function isPassengerNameRequired(): bool
  1121.     {
  1122.         return $this->passengerNameRequired;
  1123.     }
  1124.     /**
  1125.      * @param bool $passengerNameRequired
  1126.      */
  1127.     public function setPassengerNameRequired(bool $passengerNameRequired): void
  1128.     {
  1129.         $this->passengerNameRequired $passengerNameRequired;
  1130.     }
  1131.     /**
  1132.      * @return bool
  1133.      */
  1134.     public function isEnableSmsNotifications(): bool
  1135.     {
  1136.         return $this->enableSmsNotifications;
  1137.     }
  1138.     /**
  1139.      * @param bool $enableSmsNotifications
  1140.      */
  1141.     public function setEnableSmsNotifications(bool $enableSmsNotifications): void
  1142.     {
  1143.         $this->enableSmsNotifications $enableSmsNotifications;
  1144.     }
  1145.     /**
  1146.      * @return array
  1147.      */
  1148.     public function getDiscountOptions(): array
  1149.     {
  1150.         if ($this->discountOptions === null) {
  1151.             return [];
  1152.         }
  1153.         return $this->discountOptions;
  1154.     }
  1155.     /**
  1156.      * @param array $discountOptions
  1157.      */
  1158.     public function setDiscountOptions(array $discountOptions): void
  1159.     {
  1160.         $this->discountOptions array_values($discountOptions);
  1161.     }
  1162.     /**
  1163.      * @return float
  1164.      */
  1165.     public function getVipExtraChargeFixed(): float
  1166.     {
  1167.         return $this->vipExtraChargeFixed;
  1168.     }
  1169.     /**
  1170.      * @param float $vipExtraChargeFixed
  1171.      */
  1172.     public function setVipExtraChargeFixed(float $vipExtraChargeFixed): void
  1173.     {
  1174.         $this->vipExtraChargeFixed $vipExtraChargeFixed;
  1175.     }
  1176.     /**
  1177.      * @return float
  1178.      */
  1179.     public function getVipExtraChargePercent(): float
  1180.     {
  1181.         return $this->vipExtraChargePercent;
  1182.     }
  1183.     /**
  1184.      * @param float $vipExtraChargePercent
  1185.      */
  1186.     public function setVipExtraChargePercent(float $vipExtraChargePercent): void
  1187.     {
  1188.         $this->vipExtraChargePercent $vipExtraChargePercent;
  1189.     }
  1190.     /**
  1191.      * @return bool
  1192.      */
  1193.     public function isActive(): bool
  1194.     {
  1195.         return $this->active;
  1196.     }
  1197.     /**
  1198.      * @param bool $active
  1199.      */
  1200.     public function setActive(bool $active): void
  1201.     {
  1202.         $this->active $active;
  1203.     }
  1204.     public function isAllowOrderOfApplicantTimeRides(): bool
  1205.     {
  1206.         return $this->allowOrderOfApplicantTimeRides;
  1207.     }
  1208.     public function setAllowOrderOfApplicantTimeRides(bool $allowOrderOfApplicantTimeRides): void
  1209.     {
  1210.         $this->allowOrderOfApplicantTimeRides $allowOrderOfApplicantTimeRides;
  1211.     }
  1212.     public function isAutomaticQuittung(): bool
  1213.     {
  1214.         return $this->automaticQuittung;
  1215.     }
  1216.     public function setAutomaticQuittung(bool $automaticQuittung): void
  1217.     {
  1218.         $this->automaticQuittung $automaticQuittung;
  1219.     }
  1220. }