src/Diplix/KMGBundle/Entity/Accounting/CoopMember.php line 968

Open in your IDE?
  1. <?php
  2. namespace Diplix\KMGBundle\Entity\Accounting;
  3. use Diplix\KMGBundle\Entity\BasicEntity;
  4. use Diplix\KMGBundle\Entity\Settings;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Diplix\KMGBundle\Entity\Accounting\Rate;
  7. use Symfony\Component\Serializer\Encoder\JsonEncoder;
  8. use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
  9. use Symfony\Component\Serializer\Serializer;
  10. /**
  11.  * @ORM\Table(name="coop_members", indexes={@ORM\Index(name="be_deleted",columns={"be_deleted"})})
  12.  * @ORM\Entity(repositoryClass="Diplix\KMGBundle\Repository\CoopMemberRepository")
  13.  */
  14. class CoopMember extends BasicEntity implements \JsonSerializable
  15. {
  16.     /**
  17.      * @ORM\Column(type="integer",name="id")
  18.      * @ORM\Id()
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      */
  21.     protected $id;
  22.     /**
  23.      * @ORM\Column(type="string")
  24.      */
  25.     protected $number;
  26.     /**
  27.      * @ORM\Column(type="string")
  28.      */
  29.     protected $name;
  30.     /**
  31.      * @ORM\Column(type="string")
  32.      */
  33.     protected $shortCode;
  34.     /**
  35.      * @ORM\Column(type="text")
  36.      */
  37.     protected $address '';
  38.     /**
  39.      * @ORM\Column(type="string")
  40.      */
  41.     protected $taxNo '';
  42.     /**
  43.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  44.      */
  45.     protected $waitPrice 0.35;
  46.     /**
  47.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  48.      */
  49.     protected $dwzPrice 0.35;
  50.     /**
  51.      * @ORM\Column(type="string")
  52.      */
  53.     protected $waitPriceAccNumber '';
  54.     /**
  55.      * @ORM\Column(type="string")
  56.      */
  57.     protected $extraCostAccNumber '';
  58.     /**
  59.      * @ORM\Column(type="decimal", nullable=false, precision=5, scale=2,options={"unsigned":false})
  60.      */
  61.     protected $commissionPercent 0.0;
  62.     /**
  63.      * @ORM\Column(type="json")
  64.      * @var array|Rate[]
  65.      */
  66.     protected $rates = [ ];
  67.     /**
  68.      * @ORM\Column(type="boolean")
  69.      */
  70.     protected $showInCalendar true;
  71.     /**
  72.      * @ORM\Column(type="integer")
  73.      */
  74.     protected $sortOrder 0;
  75.     /**
  76.      * @ORM\Column(type="text")
  77.      */
  78.     protected $feeText '';
  79.     /**
  80.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  81.      */
  82.     protected $feeAmount 0.0;
  83.     /**
  84.      * @ORM\Column(type="text")
  85.      */
  86.     protected $accountingEmail '';
  87.     /**
  88.      * @ORM\Column(type="text")
  89.      */
  90.     protected $accountingEmailCC '';
  91.     /**
  92.      * @ORM\Column(type="text")
  93.      */
  94.     protected $accountingEmailBCC '';
  95.     /**
  96.      * @ORM\Column(type="text")
  97.      */
  98.     protected $accountingBankAccount '';
  99.     /**
  100.      * @ORM\Column(type="text")
  101.      */
  102.     protected $jobEmail '';
  103.     /**
  104.      * @ORM\Column(type="decimal", nullable=false, precision=5, scale=2,options={"unsigned":true})
  105.      */
  106.     protected $partialPaymentPercent 0.0;
  107.     /**
  108.      * @ORM\Column(type="boolean",options={"default" = 0});
  109.      */
  110.     protected $accExcludeFromAnalysis false;
  111.     /**
  112.      * @ORM\Column(type="boolean",options={"default" = 0});
  113.      */
  114.     protected $isCoopPartner false;
  115.     /**
  116.      * @ORM\Column(type="integer",options={"unsigned":true, "default":30} )
  117.      */
  118.     protected $freeServiceTimeFraMinutes 30;
  119.     /**
  120.      * @ORM\Column(type="integer",options={"unsigned":true, "default":15} )
  121.      */
  122.     protected $freeServiceTimeMinutes 15;
  123.     /**
  124.      * @ORM\Column(type="date", nullable=true)
  125.      */
  126.     protected $personenbfscheinGueltigBis;
  127.     /**
  128.      * @ORM\Column(type="date", nullable=true)
  129.      */
  130.     protected $genehmigungKonzAblaufGueltigBis;
  131.     /**
  132.      * @ORM\Column(type="string")
  133.      */
  134.     protected $ordnungsNummer '';
  135.     /**
  136.      * @ORM\Column(type="string")
  137.      */
  138.     protected $fuehrerscheinNummer '';
  139.     /**
  140.      * @ORM\Column(type="string")
  141.      */
  142.     protected $fhzKennzeichen '';
  143.     /**
  144.      * @ORM\Column(type="date", nullable=true)
  145.      */
  146.     protected $fhzBaujahr;
  147.     /**
  148.      * @ORM\Column(type="string")
  149.      */
  150.     protected $fhzTyp '';
  151.     /**
  152.      * @ORM\Column(type="date", nullable=true)
  153.      */
  154.     protected $kmgEntry;
  155.     /**
  156.      * @ORM\Column(type="date", nullable=true)
  157.      */
  158.     protected $kmgExit;
  159.     /**
  160.      * @ORM\Column(type="date", nullable=true)
  161.      */
  162.     protected $birthDate;
  163.     /**
  164.      * @ORM\Column(type="string")
  165.      */
  166.     protected $xchgTargetUrl '';
  167.     /**
  168.      * @ORM\Column(type="string")
  169.      */
  170.     protected $xchgLogin '';
  171.     /**
  172.      * @ORM\Column(type="string")
  173.      */
  174.     protected $xchgPassword '';
  175.     /**
  176.      * @ORM\Column(type="boolean")
  177.      */
  178.     protected $sendOrderUpdatesPerMail false;
  179.     /**
  180.      * @ORM\Column(type="string", options={"length":"1","default":"m"})
  181.      */
  182.     protected $defaultRideStyle Job::RS_MIETWAGEN;
  183.     /**
  184.      * @ORM\Column(type="string")
  185.      */
  186.     protected $creditNumber '';
  187.     /**
  188.      * @ORM\Column(type="decimal", nullable=false, precision=12, scale=2,options={"unsigned":false})
  189.      */
  190.     protected $taxiGeldAufschlagKurzstrecke 0.0;
  191.     /**
  192.      * @ORM\Column(type="boolean",options={"default" = 1});
  193.      */
  194.     protected $allowInterest true;
  195.     /**
  196.      * @ORM\Column(type="boolean",options={"default" = 1});
  197.      */
  198.     protected bool $active true;
  199.     /**
  200.      * @return mixed
  201.      */
  202.     public function getId()
  203.     {
  204.         return $this->id;
  205.     }
  206.     /**
  207.      * @return mixed
  208.      */
  209.     public function getNumber()
  210.     {
  211.         return $this->number;
  212.     }
  213.     /**
  214.      * @param mixed $number
  215.      */
  216.     public function setNumber($number)
  217.     {
  218.         $this->number $number;
  219.     }
  220.     /**
  221.      * @return mixed
  222.      */
  223.     public function getName()
  224.     {
  225.         return $this->name;
  226.     }
  227.     /**
  228.      * @param mixed $name
  229.      */
  230.     public function setName($name)
  231.     {
  232.         $this->name $name;
  233.     }
  234.     /**
  235.      * @return mixed
  236.      */
  237.     public function getAddress()
  238.     {
  239.         return $this->address;
  240.     }
  241.     /**
  242.      * @param mixed $address
  243.      */
  244.     public function setAddress($address)
  245.     {
  246.         $this->address $address;
  247.     }
  248.     /**
  249.      * @return mixed
  250.      */
  251.     public function getTaxNo()
  252.     {
  253.         return $this->taxNo;
  254.     }
  255.     /**
  256.      * @param mixed $taxNo
  257.      */
  258.     public function setTaxNo($taxNo)
  259.     {
  260.         $this->taxNo $taxNo;
  261.     }
  262.     /**
  263.      * @return mixed
  264.      */
  265.     public function getWaitPrice()
  266.     {
  267.         return $this->waitPrice;
  268.     }
  269.     /**
  270.      * @param mixed $waitPrice
  271.      */
  272.     public function setWaitPrice($waitPrice)
  273.     {
  274.         $this->waitPrice $waitPrice;
  275.     }
  276.     /**
  277.      * @return mixed
  278.      */
  279.     public function getCommissionPercent()
  280.     {
  281.         return $this->commissionPercent;
  282.     }
  283.     /**
  284.      * @param mixed $commissionPercent
  285.      */
  286.     public function setCommissionPercent($commissionPercent)
  287.     {
  288.         $this->commissionPercent $commissionPercent;
  289.     }
  290.     /**
  291.      * @return array|Rate[]
  292.      */
  293.     public function getRates()
  294.     {
  295.         $ro = [];
  296.         foreach ( $this->rates as $row)
  297.         {
  298.             $ro[]= Rate::fromArray($row);
  299.         }
  300.         if (count($ro)<1)
  301.         {
  302.             // inject defaults
  303.             $ro Settings::getDefaultMemberRates();
  304.         }
  305.         return $ro;
  306.     }
  307.     /**
  308.      * @param array $rates
  309.      */
  310.     public function setRates($rates)
  311.     {
  312.         $this->rates json_decode(json_encode($rates), true); // ugly way to convert array of object to array of assoc-array
  313.     }
  314.     /**
  315.      * @return mixed
  316.      */
  317.     public function getShortCode()
  318.     {
  319.         return $this->shortCode;
  320.     }
  321.     /**
  322.      * @param mixed $shortCode
  323.      */
  324.     public function setShortCode($shortCode)
  325.     {
  326.         $this->shortCode $shortCode;
  327.     }
  328.     /**
  329.      * @return mixed
  330.      */
  331.     public function getShowInCalendar()
  332.     {
  333.         return $this->showInCalendar;
  334.     }
  335.     /**
  336.      * @param mixed $showInCalendar
  337.      */
  338.     public function setShowInCalendar($showInCalendar)
  339.     {
  340.         $this->showInCalendar $showInCalendar;
  341.     }
  342.     /**
  343.      * @return mixed
  344.      */
  345.     public function getSortOrder()
  346.     {
  347.         return $this->sortOrder;
  348.     }
  349.     /**
  350.      * @param mixed $sortOrder
  351.      */
  352.     public function setSortOrder($sortOrder)
  353.     {
  354.         $this->sortOrder $sortOrder;
  355.     }
  356.     /**
  357.      * @return string
  358.      */
  359.     public function getFeeText()
  360.     {
  361.         return $this->feeText;
  362.     }
  363.     /**
  364.      * @param string $feeText
  365.      */
  366.     public function setFeeText($feeText)
  367.     {
  368.         $this->feeText $feeText;
  369.     }
  370.     /**
  371.      * @return float
  372.      */
  373.     public function getFeeAmount()
  374.     {
  375.         return $this->feeAmount;
  376.     }
  377.     /**
  378.      * @param float $feeAmount
  379.      */
  380.     public function setFeeAmount($feeAmount)
  381.     {
  382.         $this->feeAmount $feeAmount;
  383.     }
  384.     /**
  385.      * @return string
  386.      */
  387.     public function getAccountingEmail()
  388.     {
  389.         return $this->accountingEmail;
  390.     }
  391.     /**
  392.      * @param string $accountingEmail
  393.      */
  394.     public function setAccountingEmail($accountingEmail)
  395.     {
  396.         $this->accountingEmail $accountingEmail;
  397.     }
  398.     /**
  399.      * @return string
  400.      */
  401.     public function getAccountingEmailCC()
  402.     {
  403.         return $this->accountingEmailCC;
  404.     }
  405.     /**
  406.      * @param string $accountingEmailCC
  407.      */
  408.     public function setAccountingEmailCC($accountingEmailCC)
  409.     {
  410.         $this->accountingEmailCC $accountingEmailCC;
  411.     }
  412.     /**
  413.      * @return string
  414.      */
  415.     public function getAccountingEmailBCC()
  416.     {
  417.         return $this->accountingEmailBCC;
  418.     }
  419.     /**
  420.      * @param string $accountingEmailBCC
  421.      */
  422.     public function setAccountingEmailBCC($accountingEmailBCC)
  423.     {
  424.         $this->accountingEmailBCC $accountingEmailBCC;
  425.     }
  426.     /**
  427.      * @return float
  428.      */
  429.     public function getPartialPaymentPercent(): float
  430.     {
  431.         return $this->partialPaymentPercent;
  432.     }
  433.     /**
  434.      * @param float $partialPaymentPercent
  435.      */
  436.     public function setPartialPaymentPercent(float $partialPaymentPercent): void
  437.     {
  438.         $this->partialPaymentPercent $partialPaymentPercent;
  439.     }
  440.     /**
  441.      * @return bool
  442.      */
  443.     public function isAccExcludeFromAnalysis(): bool
  444.     {
  445.         return $this->accExcludeFromAnalysis;
  446.     }
  447.     /**
  448.      * @param bool $accExcludeFromAnalysis
  449.      */
  450.     public function setAccExcludeFromAnalysis(bool $accExcludeFromAnalysis): void
  451.     {
  452.         $this->accExcludeFromAnalysis $accExcludeFromAnalysis;
  453.     }
  454.     /**
  455.      * @return bool
  456.      */
  457.     public function isCoopPartner(): bool
  458.     {
  459.         return $this->isCoopPartner;
  460.     }
  461.     /**
  462.      * @param bool $isCoopPartner
  463.      */
  464.     public function setIsCoopPartner(bool $isCoopPartner): void
  465.     {
  466.         $this->isCoopPartner $isCoopPartner;
  467.     }
  468.     /**
  469.      * @return int
  470.      */
  471.     public function getFreeServiceTimeFraMinutes(): int
  472.     {
  473.         return $this->freeServiceTimeFraMinutes;
  474.     }
  475.     /**
  476.      * @param int $freeServiceTimeFraMinutes
  477.      */
  478.     public function setFreeServiceTimeFraMinutes(int $freeServiceTimeFraMinutes): void
  479.     {
  480.         $this->freeServiceTimeFraMinutes $freeServiceTimeFraMinutes;
  481.     }
  482.     /**
  483.      * @return string
  484.      */
  485.     public function getAccountingBankAccount(): string
  486.     {
  487.         return $this->accountingBankAccount;
  488.     }
  489.     /**
  490.      * @param string $accountingBankAccount
  491.      */
  492.     public function setAccountingBankAccount(string $accountingBankAccount): void
  493.     {
  494.         $this->accountingBankAccount $accountingBankAccount;
  495.     }
  496.     /**
  497.      * @return mixed
  498.      */
  499.     public function getPersonenbfscheinGueltigBis()
  500.     {
  501.         return $this->personenbfscheinGueltigBis;
  502.     }
  503.     /**
  504.      * @param mixed $personenbfscheinGueltigBis
  505.      */
  506.     public function setPersonenbfscheinGueltigBis($personenbfscheinGueltigBis): void
  507.     {
  508.         $this->personenbfscheinGueltigBis $personenbfscheinGueltigBis;
  509.     }
  510.     /**
  511.      * @return mixed
  512.      */
  513.     public function getGenehmigungKonzAblaufGueltigBis()
  514.     {
  515.         return $this->genehmigungKonzAblaufGueltigBis;
  516.     }
  517.     /**
  518.      * @param mixed $genehmigungKonzAblaufGueltigBis
  519.      */
  520.     public function setGenehmigungKonzAblaufGueltigBis($genehmigungKonzAblaufGueltigBis): void
  521.     {
  522.         $this->genehmigungKonzAblaufGueltigBis $genehmigungKonzAblaufGueltigBis;
  523.     }
  524.     /**
  525.      * @return string
  526.      */
  527.     public function getOrdnungsNummer(): string
  528.     {
  529.         return $this->ordnungsNummer;
  530.     }
  531.     /**
  532.      * @param string $ordnungsNummer
  533.      */
  534.     public function setOrdnungsNummer(string $ordnungsNummer): void
  535.     {
  536.         $this->ordnungsNummer $ordnungsNummer;
  537.     }
  538.     /**
  539.      * @return string
  540.      */
  541.     public function getFuehrerscheinNummer(): string
  542.     {
  543.         return $this->fuehrerscheinNummer;
  544.     }
  545.     /**
  546.      * @param string $fuehrerscheinNummer
  547.      */
  548.     public function setFuehrerscheinNummer(string $fuehrerscheinNummer): void
  549.     {
  550.         $this->fuehrerscheinNummer $fuehrerscheinNummer;
  551.     }
  552.     /**
  553.      * @return string
  554.      */
  555.     public function getFhzKennzeichen(): string
  556.     {
  557.         return $this->fhzKennzeichen;
  558.     }
  559.     /**
  560.      * @param string $fhzKennzeichen
  561.      */
  562.     public function setFhzKennzeichen(string $fhzKennzeichen): void
  563.     {
  564.         $this->fhzKennzeichen $fhzKennzeichen;
  565.     }
  566.     /**
  567.      * @return \DateTime|null
  568.      */
  569.     public function getFhzBaujahr()
  570.     {
  571.         return $this->fhzBaujahr;
  572.     }
  573.     /**
  574.      * @param $fhzBaujahr
  575.      */
  576.     public function setFhzBaujahr$fhzBaujahr): void
  577.     {
  578.         $this->fhzBaujahr $fhzBaujahr;
  579.     }
  580.     /**
  581.      * @return string
  582.      */
  583.     public function getFhzTyp(): string
  584.     {
  585.         return $this->fhzTyp;
  586.     }
  587.     /**
  588.      * @param string $fhzTyp
  589.      */
  590.     public function setFhzTyp(string $fhzTyp): void
  591.     {
  592.         $this->fhzTyp $fhzTyp;
  593.     }
  594.     /**
  595.      * @return mixed
  596.      */
  597.     public function getKmgEntry()
  598.     {
  599.         return $this->kmgEntry;
  600.     }
  601.     /**
  602.      * @param mixed $kmgEntry
  603.      */
  604.     public function setKmgEntry($kmgEntry): void
  605.     {
  606.         $this->kmgEntry $kmgEntry;
  607.     }
  608.     /**
  609.      * @return mixed
  610.      */
  611.     public function getKmgExit()
  612.     {
  613.         return $this->kmgExit;
  614.     }
  615.     /**
  616.      * @param mixed $kmgExit
  617.      */
  618.     public function setKmgExit($kmgExit): void
  619.     {
  620.         $this->kmgExit $kmgExit;
  621.     }
  622.     /**
  623.      * @return mixed
  624.      */
  625.     public function getBirthDate()
  626.     {
  627.         return $this->birthDate;
  628.     }
  629.     /**
  630.      * @param mixed $birthDate
  631.      */
  632.     public function setBirthDate($birthDate): void
  633.     {
  634.         $this->birthDate $birthDate;
  635.     }
  636.     /**
  637.      * @return string
  638.      */
  639.     public function getXchgTargetUrl(): string
  640.     {
  641.         return $this->xchgTargetUrl;
  642.     }
  643.     /**
  644.      * @param string $xchgTargetUrl
  645.      */
  646.     public function setXchgTargetUrl(string $xchgTargetUrl): void
  647.     {
  648.         $this->xchgTargetUrl $xchgTargetUrl;
  649.     }
  650.     /**
  651.      * @return string
  652.      */
  653.     public function getXchgLogin(): string
  654.     {
  655.         return $this->xchgLogin;
  656.     }
  657.     /**
  658.      * @param string $xchgLogin
  659.      */
  660.     public function setXchgLogin(string $xchgLogin): void
  661.     {
  662.         $this->xchgLogin $xchgLogin;
  663.     }
  664.     /**
  665.      * @return string
  666.      */
  667.     public function getXchgPassword(): string
  668.     {
  669.         return $this->xchgPassword;
  670.     }
  671.     /**
  672.      * @param string $xchgPassword
  673.      */
  674.     public function setXchgPassword(string $xchgPassword): void
  675.     {
  676.         $this->xchgPassword $xchgPassword;
  677.     }
  678.     /**
  679.      * @return bool
  680.      */
  681.     public function isSendOrderUpdatesPerMail(): bool
  682.     {
  683.         return $this->sendOrderUpdatesPerMail;
  684.     }
  685.     /**
  686.      * @param bool $sendOrderUpdatesPerMail
  687.      */
  688.     public function setSendOrderUpdatesPerMail(bool $sendOrderUpdatesPerMail): void
  689.     {
  690.         $this->sendOrderUpdatesPerMail $sendOrderUpdatesPerMail;
  691.     }
  692.     /**
  693.      * @return string
  694.      */
  695.     public function getDefaultRideStyle(): string
  696.     {
  697.         return $this->defaultRideStyle;
  698.     }
  699.     /**
  700.      * @param string $defaultRideStyle
  701.      */
  702.     public function setDefaultRideStyle(string $defaultRideStyle): void
  703.     {
  704.         $this->defaultRideStyle $defaultRideStyle;
  705.     }
  706.     /**
  707.      * @return string
  708.      */
  709.     public function getCreditNumber(): string
  710.     {
  711.         return $this->creditNumber;
  712.     }
  713.     /**
  714.      * @param string $creditNumber
  715.      */
  716.     public function setCreditNumber(string $creditNumber): void
  717.     {
  718.         $this->creditNumber $creditNumber;
  719.     }
  720.     /**
  721.      * @return string
  722.      */
  723.     public function getWaitPriceAccNumber(): string
  724.     {
  725.         return $this->waitPriceAccNumber;
  726.     }
  727.     /**
  728.      * @param string $waitPriceAccNumber
  729.      */
  730.     public function setWaitPriceAccNumber(string $waitPriceAccNumber): void
  731.     {
  732.         $this->waitPriceAccNumber $waitPriceAccNumber;
  733.     }
  734.     /**
  735.      * @return string
  736.      */
  737.     public function getExtraCostAccNumber(): string
  738.     {
  739.         return $this->extraCostAccNumber;
  740.     }
  741.     /**
  742.      * @param string $extraCostAccNumber
  743.      */
  744.     public function setExtraCostAccNumber(string $extraCostAccNumber): void
  745.     {
  746.         $this->extraCostAccNumber $extraCostAccNumber;
  747.     }
  748.     /**
  749.      * @return float
  750.      */
  751.     public function getTaxiGeldAufschlagKurzstrecke(): float
  752.     {
  753.         return $this->taxiGeldAufschlagKurzstrecke;
  754.     }
  755.     /**
  756.      * @param float $taxiGeldAufschlagKurzstrecke
  757.      */
  758.     public function setTaxiGeldAufschlagKurzstrecke(float $taxiGeldAufschlagKurzstrecke): void
  759.     {
  760.         $this->taxiGeldAufschlagKurzstrecke $taxiGeldAufschlagKurzstrecke;
  761.     }
  762.     /**
  763.      * @return bool
  764.      */
  765.     public function isAllowInterest(): bool
  766.     {
  767.         return $this->allowInterest;
  768.     }
  769.     /**
  770.      * @param bool $allowInterest
  771.      */
  772.     public function setAllowInterest(bool $allowInterest): void
  773.     {
  774.         $this->allowInterest $allowInterest;
  775.     }
  776.     /**
  777.      * @return string
  778.      */
  779.     public function getJobEmail(): string
  780.     {
  781.         return $this->jobEmail;
  782.     }
  783.     /**
  784.      * @param string $jobEmail
  785.      */
  786.     public function setJobEmail(string $jobEmail): void
  787.     {
  788.         $this->jobEmail $jobEmail;
  789.     }
  790.     /**
  791.      * @return bool
  792.      */
  793.     public function isActive(): bool
  794.     {
  795.         return $this->active;
  796.     }
  797.     /**
  798.      * @param bool $active
  799.      */
  800.     public function setActive(bool $active): void
  801.     {
  802.         $this->active $active;
  803.     }
  804.     /**
  805.      * @return float
  806.      */
  807.     public function getDwzPrice(): float
  808.     {
  809.         return $this->dwzPrice;
  810.     }
  811.     /**
  812.      * @param float $dwzPrice
  813.      */
  814.     public function setDwzPrice(float $dwzPrice): void
  815.     {
  816.         $this->dwzPrice $dwzPrice;
  817.     }
  818.     public function getFreeServiceTimeMinutes(): int
  819.     {
  820.         return $this->freeServiceTimeMinutes;
  821.     }
  822.     public function setFreeServiceTimeMinutes(int $freeServiceTimeMinutes): void
  823.     {
  824.         $this->freeServiceTimeMinutes $freeServiceTimeMinutes;
  825.     }
  826.     /**
  827.      * Specify data which should be serialized to JSON
  828.      * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
  829.      * @return mixed data which can be serialized by <b>json_encode</b>,
  830.      * which is a value of any type other than a resource.
  831.      * @since 5.4.0
  832.      */
  833.     function jsonSerialize()
  834.     {
  835.         return [
  836.             'id'=>$this->getId(),
  837.             'number'=>$this->number,
  838.             'name'=>$this->getName(),
  839.             'shortCode'=>$this->shortCode
  840.         ];
  841.     }
  842.     public function __toString()
  843.     {
  844.         return $this->id."|".$this->name;
  845.     }
  846. }