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.     public function __construct()
  276.     {
  277.         $this->paymentTypes= new ArrayCollection();
  278.         $this->priceLists = new ArrayCollection();
  279.     }
  280.     public function __clone()
  281.     {
  282.         $this->id null;
  283.         $this->name "Kopie von ".$this->name;
  284.         $this->customerNo "";
  285.         $this->customSlug "";
  286.         $this->customTitle "";
  287.         if ($this->selfRegistrationDomainWhitelist === null$this->selfRegistrationDomainWhitelist = [];
  288.         if ($this->discountOptions === null$this->discountOptions = [];
  289.         $this->enableUserSelfRegistration false;
  290.     }
  291.     /**
  292.      * @return mixed
  293.      */
  294.     public function getId()
  295.     {
  296.         return $this->id;
  297.     }
  298.     /**
  299.      * @return mixed
  300.      */
  301.     public function getName()
  302.     {
  303.         return $this->name;
  304.     }
  305.     /**
  306.      * @param mixed $name
  307.      */
  308.     public function setName($name)
  309.     {
  310.         $this->name $name;
  311.     }
  312.     /**
  313.      * @return mixed
  314.      */
  315.     public function getCustomerNo()
  316.     {
  317.         return $this->customerNo;
  318.     }
  319.     /**
  320.      * @param mixed $customerNo
  321.      */
  322.     public function setCustomerNo($customerNo)
  323.     {
  324.         $this->customerNo $customerNo;
  325.     }
  326.     public function __toString()
  327.     {
  328.         return $this->id."|".$this->name;
  329.     }
  330.     /**
  331.      * @return mixed
  332.      */
  333.     public function getCustomSlug()
  334.     {
  335.         return $this->customSlug;
  336.     }
  337.     /**
  338.      * @param mixed $customSlug
  339.      */
  340.     public function setCustomSlug($customSlug)
  341.     {
  342.         $this->customSlug $customSlug;
  343.     }
  344.     /**
  345.      * @return mixed
  346.      */
  347.     public function getCustomTitle()
  348.     {
  349.         return $this->customTitle;
  350.     }
  351.     /**
  352.      * @param mixed $customTitle
  353.      */
  354.     public function setCustomTitle($customTitle)
  355.     {
  356.         $this->customTitle $customTitle;
  357.     }
  358.     /**
  359.      * @return mixed
  360.      */
  361.     public function getEmphasizedItems()
  362.     {
  363.         return $this->emphasizedItems;
  364.     }
  365.     /**
  366.      * @param mixed $emphasizedItems
  367.      */
  368.     public function setEmphasizedItems($emphasizedItems)
  369.     {
  370.         $this->emphasizedItems $emphasizedItems;
  371.     }
  372.     /**
  373.      * @return mixed
  374.      */
  375.     public function getMaxPasswordAge()
  376.     {
  377.         return $this->maxPasswordAge;
  378.     }
  379.     /**
  380.      * @param mixed $maxPasswordAge
  381.      */
  382.     public function setMaxPasswordAge($maxPasswordAge)
  383.     {
  384.         $this->maxPasswordAge $maxPasswordAge;
  385.     }
  386.     /**
  387.      * @return mixed
  388.      */
  389.     public function getPaymentTypes()
  390.     {
  391.         return $this->paymentTypes;
  392.     }
  393.     /**
  394.      * @param mixed $paymentTypes
  395.      */
  396.     public function setPaymentTypes($paymentTypes)
  397.     {
  398.         $this->paymentTypes $paymentTypes;
  399.     }
  400.     /**
  401.      * @return mixed
  402.      */
  403.     public function getCreditCardFields()
  404.     {
  405.         return $this->creditCardFields;
  406.     }
  407.     /**
  408.      * @param mixed $creditCardFields
  409.      */
  410.     public function setCreditCardFields($creditCardFields)
  411.     {
  412.         $this->creditCardFields $creditCardFields;
  413.     }
  414.     /**
  415.      * @return mixed
  416.      */
  417.     public function getShowCostCenter()
  418.     {
  419.         return $this->showCostCenter;
  420.     }
  421.     /**
  422.      * @param mixed $showCostCenter
  423.      */
  424.     public function setShowCostCenter($showCostCenter)
  425.     {
  426.         $this->showCostCenter $showCostCenter;
  427.     }
  428.     /**
  429.      * @return mixed
  430.      */
  431.     public function getShowEmailInAddress()
  432.     {
  433.         return $this->showEmailInAddress;
  434.     }
  435.     /**
  436.      * @param mixed $showEmailInAddress
  437.      */
  438.     public function setShowEmailInAddress($showEmailInAddress)
  439.     {
  440.         $this->showEmailInAddress $showEmailInAddress;
  441.     }
  442.     /**
  443.      * @return PaymentType|null
  444.      */
  445.     public function getDefaultPaymentType()
  446.     {
  447.         return $this->defaultPaymentType;
  448.     }
  449.     /**
  450.      * @param mixed $defaultPaymentType
  451.      */
  452.     public function setDefaultPaymentType($defaultPaymentType)
  453.     {
  454.         $this->defaultPaymentType $defaultPaymentType;
  455.     }
  456.     /**
  457.      * @return mixed
  458.      */
  459.     public function getAdditionalOrderComment()
  460.     {
  461.         return $this->additionalOrderComment;
  462.     }
  463.     /**
  464.      * @param mixed $additionalOrderComment
  465.      */
  466.     public function setAdditionalOrderComment($additionalOrderComment)
  467.     {
  468.         $this->additionalOrderComment $additionalOrderComment;
  469.     }
  470.     /**
  471.      * @return mixed
  472.      */
  473.     public function getLandingPageText()
  474.     {
  475.         return $this->landingPageText;
  476.     }
  477.     /**
  478.      * @param mixed $landingPageText
  479.      */
  480.     public function setLandingPageText($landingPageText)
  481.     {
  482.         $this->landingPageText $landingPageText;
  483.     }
  484.     /**
  485.      * @return mixed
  486.      */
  487.     public function getLandingPageTitle()
  488.     {
  489.         return $this->landingPageTitle;
  490.     }
  491.     /**
  492.      * @param mixed $landingPageTitle
  493.      */
  494.     public function setLandingPageTitle($landingPageTitle)
  495.     {
  496.         $this->landingPageTitle $landingPageTitle;
  497.     }
  498.     /**
  499.      * @return ArrayCollection
  500.      */
  501.     public function getPriceLists()
  502.     {
  503.         return $this->priceLists;
  504.     }
  505.     /**
  506.      * @param mixed $priceLists
  507.      */
  508.     public function setPriceLists($priceLists)
  509.     {
  510.         $this->priceLists $priceLists;
  511.     }
  512.     /**
  513.      * @return mixed
  514.      */
  515.     public function getMobileNumberRequiredForPassenger()
  516.     {
  517.         return $this->mobileNumberRequiredForPassenger;
  518.     }
  519.     /**
  520.      * @param mixed $mobileNumberRequiredForPassenger
  521.      */
  522.     public function setMobileNumberRequiredForPassenger($mobileNumberRequiredForPassenger)
  523.     {
  524.         $this->mobileNumberRequiredForPassenger $mobileNumberRequiredForPassenger;
  525.     }
  526.     /**
  527.      * @return mixed
  528.      */
  529.     public function getPrivateAddressbookIsSharedWithAll()
  530.     {
  531.         return $this->privateAddressbookIsSharedWithAll;
  532.     }
  533.     /**
  534.      * @param mixed $privateAddressbookIsSharedWithAll
  535.      */
  536.     public function setPrivateAddressbookIsSharedWithAll($privateAddressbookIsSharedWithAll)
  537.     {
  538.         $this->privateAddressbookIsSharedWithAll $privateAddressbookIsSharedWithAll;
  539.     }
  540.     /**
  541.      * @return mixed
  542.      */
  543.     public function getDefaultLocale()
  544.     {
  545.         return $this->defaultLocale;
  546.     }
  547.     /**
  548.      * @param mixed $defaultLocale
  549.      */
  550.     public function setDefaultLocale($defaultLocale)
  551.     {
  552.         $this->defaultLocale $defaultLocale;
  553.     }
  554.     /**
  555.      * @return null|PriceList
  556.      */
  557.     public function getDefaultPriceList()
  558.     {
  559.         return $this->defaultPriceList;
  560.     }
  561.     /**
  562.      * @param mixed $defaultPriceList
  563.      */
  564.     public function setDefaultPriceList($defaultPriceList)
  565.     {
  566.         $this->defaultPriceList $defaultPriceList;
  567.     }
  568.     /**
  569.      * @return mixed
  570.      */
  571.     public function getInvoiceAddress()
  572.     {
  573.         return $this->invoiceAddress;
  574.     }
  575.     /**
  576.      * @param mixed $invoiceAddress
  577.      */
  578.     public function setInvoiceAddress($invoiceAddress)
  579.     {
  580.         $this->invoiceAddress $invoiceAddress;
  581.     }
  582.     /**
  583.      * @return mixed
  584.      */
  585.     public function getPdfInfoText()
  586.     {
  587.         return $this->pdfInfoText;
  588.     }
  589.     /**
  590.      * @param mixed $pdfInfoText
  591.      */
  592.     public function setPdfInfoText($pdfInfoText)
  593.     {
  594.         $this->pdfInfoText $pdfInfoText;
  595.     }
  596.     /**
  597.      * @return mixed
  598.      */
  599.     public function getShowAdditionalBlumFields()
  600.     {
  601.         return $this->showAdditionalBlumFields;
  602.     }
  603.     /**
  604.      * @param mixed $showAdditionalBlumFields
  605.      */
  606.     public function setShowAdditionalBlumFields($showAdditionalBlumFields)
  607.     {
  608.         $this->showAdditionalBlumFields $showAdditionalBlumFields;
  609.     }
  610.     /**
  611.      * @return mixed
  612.      */
  613.     public function getPdfAgb()
  614.     {
  615.         return $this->pdfAgb;
  616.     }
  617.     /**
  618.      * @param mixed $pdfAgb
  619.      */
  620.     public function setPdfAgb($pdfAgb)
  621.     {
  622.         $this->pdfAgb $pdfAgb;
  623.     }
  624.     /**
  625.      * @return mixed
  626.      */
  627.     public function getShowRating()
  628.     {
  629.         return $this->showRating;
  630.     }
  631.     /**
  632.      * @param mixed $showRating
  633.      */
  634.     public function setShowRating($showRating)
  635.     {
  636.         $this->showRating $showRating;
  637.     }
  638.     /**
  639.      * @return mixed
  640.      */
  641.     public function getAllowInstantPayment()
  642.     {
  643.         return $this->allowInstantPayment;
  644.     }
  645.     /**
  646.      * @param mixed $allowInstantPayment
  647.      */
  648.     public function setAllowInstantPayment($allowInstantPayment)
  649.     {
  650.         $this->allowInstantPayment $allowInstantPayment;
  651.     }
  652.     /**
  653.      * @return mixed
  654.      */
  655.     public function getTaxNo()
  656.     {
  657.         return $this->taxNo;
  658.     }
  659.     /**
  660.      * @param mixed $taxNo
  661.      */
  662.     public function setTaxNo($taxNo)
  663.     {
  664.         $this->taxNo $taxNo;
  665.     }
  666.     /**
  667.      * @return mixed
  668.      */
  669.     public function getAccWaitPrice()
  670.     {
  671.         return $this->accWaitPrice;
  672.     }
  673.     /**
  674.      * @param mixed $accWaitPrice
  675.      */
  676.     public function setAccWaitPrice($accWaitPrice)
  677.     {
  678.         $this->accWaitPrice $accWaitPrice;
  679.     }
  680.     /**
  681.      * @return mixed
  682.      */
  683.     public function getAccCommissionPercent()
  684.     {
  685.         return $this->accCommissionPercent;
  686.     }
  687.     /**
  688.      * @param mixed $accCommissionPercent
  689.      */
  690.     public function setAccCommissionPercent($accCommissionPercent)
  691.     {
  692.         $this->accCommissionPercent $accCommissionPercent;
  693.     }
  694.     /**
  695.      * @return array|Rate[]
  696.      */
  697.     public function getAccRates()
  698.     {
  699.         $ro = [];
  700.         foreach ( $this->accRates as $row)
  701.         {
  702.             $ro[]= Rate::fromArray($row);
  703.         }
  704.         return $ro;
  705.     }
  706.     /**
  707.      * @param array $accRates
  708.      */
  709.     public function setAccRates($accRates)
  710.     {
  711.         $this->accRates json_decode(json_encode($accRates), true); // ugly way to convert array of object to array of assoc-array
  712.     }
  713.     /**
  714.      * @return array
  715.      */
  716.     public function getTamiOptions()
  717.     {
  718.         return $this->tamiOptions;
  719.     }
  720.     /**
  721.      * @param array $tamiOptions
  722.      */
  723.     public function setTamiOptions($tamiOptions)
  724.     {
  725.         $this->tamiOptions $tamiOptions;
  726.     }
  727.     /**
  728.      * @return int
  729.      */
  730.     public function getFreeServiceTimeDefaultMinutes()
  731.     {
  732.         return $this->freeServiceTimeDefaultMinutes;
  733.     }
  734.     /**
  735.      * @param int $freeServiceTimeDefaultMinutes
  736.      */
  737.     public function setFreeServiceTimeDefaultMinutes($freeServiceTimeDefaultMinutes)
  738.     {
  739.         $this->freeServiceTimeDefaultMinutes $freeServiceTimeDefaultMinutes;
  740.     }
  741.     /**
  742.      * @return int
  743.      */
  744.     public function getFreeServiceTimeFraMinutes()
  745.     {
  746.         return $this->freeServiceTimeFraMinutes;
  747.     }
  748.     /**
  749.      * @param int $freeServiceTimeFraMinutes
  750.      */
  751.     public function setFreeServiceTimeFraMinutes($freeServiceTimeFraMinutes)
  752.     {
  753.         $this->freeServiceTimeFraMinutes $freeServiceTimeFraMinutes;
  754.     }
  755.     /**
  756.      * @return string
  757.      */
  758.     public function getInvoiceMailText()
  759.     {
  760.         return $this->invoiceMailText;
  761.     }
  762.     /**
  763.      * @param string $invoiceMailText
  764.      */
  765.     public function setInvoiceMailText($invoiceMailText)
  766.     {
  767.         $this->invoiceMailText $invoiceMailText;
  768.     }
  769.     /**
  770.      * @return string
  771.      */
  772.     public function getInvoiceEmail()
  773.     {
  774.         return $this->invoiceEmail;
  775.     }
  776.     /**
  777.      * @param string $invoiceEmail
  778.      */
  779.     public function setInvoiceEmail($invoiceEmail)
  780.     {
  781.         $this->invoiceEmail $invoiceEmail;
  782.     }
  783.     /**
  784.      * @return string
  785.      */
  786.     public function getInvoiceEmailCC()
  787.     {
  788.         return $this->invoiceEmailCC;
  789.     }
  790.     /**
  791.      * @param string $invoiceEmailCC
  792.      */
  793.     public function setInvoiceEmailCC($invoiceEmailCC)
  794.     {
  795.         $this->invoiceEmailCC $invoiceEmailCC;
  796.     }
  797.     /**
  798.      * @return string
  799.      */
  800.     public function getInvoiceEmailBCC()
  801.     {
  802.         return $this->invoiceEmailBCC;
  803.     }
  804.     /**
  805.      * @param string $invoiceEmailBCC
  806.      */
  807.     public function setInvoiceEmailBCC($invoiceEmailBCC)
  808.     {
  809.         $this->invoiceEmailBCC $invoiceEmailBCC;
  810.     }
  811.     /**
  812.      * @return bool
  813.      */
  814.     public function isAccIgnoreExtraCost()
  815.     {
  816.         return $this->accIgnoreExtraCost;
  817.     }
  818.     /**
  819.      * @param bool $accIgnoreExtraCost
  820.      */
  821.     public function setAccIgnoreExtraCost($accIgnoreExtraCost)
  822.     {
  823.         $this->accIgnoreExtraCost $accIgnoreExtraCost;
  824.     }
  825.     /**
  826.      * @return bool
  827.      */
  828.     public function isAccDisableSupplementalSheet(): bool
  829.     {
  830.         return $this->accDisableSupplementalSheet;
  831.     }
  832.     /**
  833.      * @param bool $accDisableSupplementalSheet
  834.      */
  835.     public function setAccDisableSupplementalSheet(bool $accDisableSupplementalSheet): void
  836.     {
  837.         $this->accDisableSupplementalSheet $accDisableSupplementalSheet;
  838.     }
  839.     /**
  840.      * @return bool
  841.      */
  842.     public function isAccDisplayWaitingTimeAsDispoHours(): bool
  843.     {
  844.         return $this->accDisplayWaitingTimeAsDispoHours;
  845.     }
  846.     /**
  847.      * @param bool $accDisplayWaitingTimeAsDispoHours
  848.      */
  849.     public function setAccDisplayWaitingTimeAsDispoHours(bool $accDisplayWaitingTimeAsDispoHours): void
  850.     {
  851.         $this->accDisplayWaitingTimeAsDispoHours $accDisplayWaitingTimeAsDispoHours;
  852.     }
  853.     /**
  854.      * @return bool
  855.      */
  856.     public function isAccExcludeFromAnalysis(): bool
  857.     {
  858.         return $this->accExcludeFromAnalysis;
  859.     }
  860.     /**
  861.      * @param bool $accExcludeFromAnalysis
  862.      */
  863.     public function setAccExcludeFromAnalysis(bool $accExcludeFromAnalysis): void
  864.     {
  865.         $this->accExcludeFromAnalysis $accExcludeFromAnalysis;
  866.     }
  867.     /**
  868.      * @return bool
  869.      */
  870.     public function isCreditCardCustomer(): bool
  871.     {
  872.         return $this->creditCardCustomer;
  873.     }
  874.     /**
  875.      * @param bool $creditCardCustomer
  876.      */
  877.     public function setCreditCardCustomer(bool $creditCardCustomer): void
  878.     {
  879.         $this->creditCardCustomer $creditCardCustomer;
  880.     }
  881.     /**
  882.      * @return bool
  883.      */
  884.     public function isEnableUserSelfRegistration(): bool
  885.     {
  886.         return $this->enableUserSelfRegistration;
  887.     }
  888.     /**
  889.      * @param bool $enableUserSelfRegistration
  890.      */
  891.     public function setEnableUserSelfRegistration(bool $enableUserSelfRegistration): void
  892.     {
  893.         $this->enableUserSelfRegistration $enableUserSelfRegistration;
  894.     }
  895.     /**
  896.      * @return array
  897.      */
  898.     public function getSelfRegistrationDomainWhitelist(): array
  899.     {
  900.         if ($this->selfRegistrationDomainWhitelist===null)
  901.         {
  902.             return [];
  903.         }
  904.         return $this->selfRegistrationDomainWhitelist;
  905.     }
  906.     /**
  907.      * @param array $selfRegistrationDomainWhitelist
  908.      */
  909.     public function setSelfRegistrationDomainWhitelist(array $selfRegistrationDomainWhitelist): void
  910.     {
  911.         $this->selfRegistrationDomainWhitelist array_values($selfRegistrationDomainWhitelist);
  912.     }
  913.     /**
  914.      * @return string|null
  915.      */
  916.     public function getSelfRegistrationCode(): ?string
  917.     {
  918.         return $this->selfRegistrationCode;
  919.     }
  920.     /**
  921.      * @param string|null $selfRegistrationCode
  922.      */
  923.     public function setSelfRegistrationCode(?string $selfRegistrationCode): void
  924.     {
  925.         $this->selfRegistrationCode $selfRegistrationCode;
  926.     }
  927.     /**
  928.      * @return string|null
  929.      */
  930.     public function getSelfRegistrationSlug(): ?string
  931.     {
  932.         return $this->selfRegistrationSlug;
  933.     }
  934.     /**
  935.      * @param string|null $selfRegistrationSlug
  936.      */
  937.     public function setSelfRegistrationSlug(?string $selfRegistrationSlug): void
  938.     {
  939.         $this->selfRegistrationSlug $selfRegistrationSlug;
  940.     }
  941.     /**
  942.      * @return string
  943.      */
  944.     public function getXchgPlatformUrl(): string
  945.     {
  946.         return $this->xchgPlatformUrl;
  947.     }
  948.     /**
  949.      * @param string $xchgPlatformUrl
  950.      */
  951.     public function setXchgPlatformUrl(string $xchgPlatformUrl): void
  952.     {
  953.         $this->xchgPlatformUrl $xchgPlatformUrl;
  954.     }
  955.     /**
  956.      * @return string
  957.      */
  958.     public function getXchgLoginAsMember(): string
  959.     {
  960.         return $this->xchgLoginAsMember;
  961.     }
  962.     /**
  963.      * @param string $xchgLoginAsMember
  964.      */
  965.     public function setXchgLoginAsMember(string $xchgLoginAsMember): void
  966.     {
  967.         $this->xchgLoginAsMember $xchgLoginAsMember;
  968.     }
  969.     /**
  970.      * @return string
  971.      */
  972.     public function getXchgLoginPassword(): string
  973.     {
  974.         return $this->xchgLoginPassword;
  975.     }
  976.     /**
  977.      * @param string $xchgLoginPassword
  978.      */
  979.     public function setXchgLoginPassword(string $xchgLoginPassword): void
  980.     {
  981.         $this->xchgLoginPassword $xchgLoginPassword;
  982.     }
  983.     /**
  984.      * @return bool
  985.      */
  986.     public function isSuppressOrderMails(): bool
  987.     {
  988.         return $this->suppressOrderMails;
  989.     }
  990.     /**
  991.      * @param bool $suppressOrderMails
  992.      */
  993.     public function setSuppressOrderMails(bool $suppressOrderMails): void
  994.     {
  995.         $this->suppressOrderMails $suppressOrderMails;
  996.     }
  997.     /**
  998.      * @return mixed
  999.      */
  1000.     public function getTaxiPriceList()
  1001.     {
  1002.         return $this->taxiPriceList;
  1003.     }
  1004.     /**
  1005.      * @param mixed $taxiPriceList
  1006.      */
  1007.     public function setTaxiPriceList($taxiPriceList): void
  1008.     {
  1009.         $this->taxiPriceList $taxiPriceList;
  1010.     }
  1011.     /**
  1012.      * @return string
  1013.      */
  1014.     public function getAccWaitPriceAccNumber(): string
  1015.     {
  1016.         return $this->accWaitPriceAccNumber;
  1017.     }
  1018.     /**
  1019.      * @param string $accWaitPriceAccNumber
  1020.      */
  1021.     public function setAccWaitPriceAccNumber(string $accWaitPriceAccNumber): void
  1022.     {
  1023.         $this->accWaitPriceAccNumber $accWaitPriceAccNumber;
  1024.     }
  1025.     /**
  1026.      * @return bool
  1027.      */
  1028.     public function isRequireCostCenter(): bool
  1029.     {
  1030.         return $this->requireCostCenter;
  1031.     }
  1032.     /**
  1033.      * @param bool $requireCostCenter
  1034.      */
  1035.     public function setRequireCostCenter(bool $requireCostCenter): void
  1036.     {
  1037.         $this->requireCostCenter $requireCostCenter;
  1038.     }
  1039.     /**
  1040.      * @return string
  1041.      */
  1042.     public function getPdfDefaultHeader(): string
  1043.     {
  1044.         return $this->pdfDefaultHeader;
  1045.     }
  1046.     /**
  1047.      * @param string $pdfDefaultHeader
  1048.      */
  1049.     public function setPdfDefaultHeader(string $pdfDefaultHeader): void
  1050.     {
  1051.         $this->pdfDefaultHeader $pdfDefaultHeader;
  1052.     }
  1053.     /**
  1054.      * @return string
  1055.      */
  1056.     public function getPdfDefaultFooter(): string
  1057.     {
  1058.         return $this->pdfDefaultFooter;
  1059.     }
  1060.     /**
  1061.      * @param string $pdfDefaultFooter
  1062.      */
  1063.     public function setPdfDefaultFooter(string $pdfDefaultFooter): void
  1064.     {
  1065.         $this->pdfDefaultFooter $pdfDefaultFooter;
  1066.     }
  1067.     /**
  1068.      * @return bool
  1069.      */
  1070.     public function isEnableDispositionsAccounting(): bool
  1071.     {
  1072.         return $this->enableDispositionsAccounting;
  1073.     }
  1074.     /**
  1075.      * @param bool $enableDispositionsAccounting
  1076.      */
  1077.     public function setEnableDispositionsAccounting(bool $enableDispositionsAccounting): void
  1078.     {
  1079.         $this->enableDispositionsAccounting $enableDispositionsAccounting;
  1080.     }
  1081.     /**
  1082.      * @return mixed
  1083.      */
  1084.     public function getPdfLogo()
  1085.     {
  1086.         return $this->pdfLogo;
  1087.     }
  1088.     /**
  1089.      * @param mixed $pdfLogo
  1090.      */
  1091.     public function setPdfLogo($pdfLogo): void
  1092.     {
  1093.         $this->pdfLogo $pdfLogo;
  1094.     }
  1095.     /**
  1096.      * @return float
  1097.      */
  1098.     public function getOptionalExtraCharge(): float
  1099.     {
  1100.         return $this->optionalExtraCharge;
  1101.     }
  1102.     /**
  1103.      * @param float $optionalExtraCharge
  1104.      */
  1105.     public function setOptionalExtraCharge(float $optionalExtraCharge): void
  1106.     {
  1107.         $this->optionalExtraCharge $optionalExtraCharge;
  1108.     }
  1109.     /**
  1110.      * @return bool
  1111.      */
  1112.     public function isPassengerNameRequired(): bool
  1113.     {
  1114.         return $this->passengerNameRequired;
  1115.     }
  1116.     /**
  1117.      * @param bool $passengerNameRequired
  1118.      */
  1119.     public function setPassengerNameRequired(bool $passengerNameRequired): void
  1120.     {
  1121.         $this->passengerNameRequired $passengerNameRequired;
  1122.     }
  1123.     /**
  1124.      * @return bool
  1125.      */
  1126.     public function isEnableSmsNotifications(): bool
  1127.     {
  1128.         return $this->enableSmsNotifications;
  1129.     }
  1130.     /**
  1131.      * @param bool $enableSmsNotifications
  1132.      */
  1133.     public function setEnableSmsNotifications(bool $enableSmsNotifications): void
  1134.     {
  1135.         $this->enableSmsNotifications $enableSmsNotifications;
  1136.     }
  1137.     /**
  1138.      * @return array
  1139.      */
  1140.     public function getDiscountOptions(): array
  1141.     {
  1142.         if ($this->discountOptions === null) {
  1143.             return [];
  1144.         }
  1145.         return $this->discountOptions;
  1146.     }
  1147.     /**
  1148.      * @param array $discountOptions
  1149.      */
  1150.     public function setDiscountOptions(array $discountOptions): void
  1151.     {
  1152.         $this->discountOptions array_values($discountOptions);
  1153.     }
  1154.     /**
  1155.      * @return float
  1156.      */
  1157.     public function getVipExtraChargeFixed(): float
  1158.     {
  1159.         return $this->vipExtraChargeFixed;
  1160.     }
  1161.     /**
  1162.      * @param float $vipExtraChargeFixed
  1163.      */
  1164.     public function setVipExtraChargeFixed(float $vipExtraChargeFixed): void
  1165.     {
  1166.         $this->vipExtraChargeFixed $vipExtraChargeFixed;
  1167.     }
  1168.     /**
  1169.      * @return float
  1170.      */
  1171.     public function getVipExtraChargePercent(): float
  1172.     {
  1173.         return $this->vipExtraChargePercent;
  1174.     }
  1175.     /**
  1176.      * @param float $vipExtraChargePercent
  1177.      */
  1178.     public function setVipExtraChargePercent(float $vipExtraChargePercent): void
  1179.     {
  1180.         $this->vipExtraChargePercent $vipExtraChargePercent;
  1181.     }
  1182.     /**
  1183.      * @return bool
  1184.      */
  1185.     public function isActive(): bool
  1186.     {
  1187.         return $this->active;
  1188.     }
  1189.     /**
  1190.      * @param bool $active
  1191.      */
  1192.     public function setActive(bool $active): void
  1193.     {
  1194.         $this->active $active;
  1195.     }
  1196. }