<?php
namespace Diplix\KMGBundle\Entity\Platform;
use Diplix\KMGBundle\Entity\BasicEntity;
use Diplix\KMGBundle\Entity\Order;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\IdGenerator\UuidGenerator;
/**
* @ORM\Table(name="platform_clients", indexes={@ORM\Index(name="be_deleted",columns={"be_deleted"})})
* @ORM\Entity(repositoryClass="Diplix\KMGBundle\Repository\PlatformClientRepository")
*/
class PlatformClient extends BasicEntity
{
/**
* @ORM\Column(type="string",name="id")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="CUSTOM")
* @ORM\CustomIdGenerator(class="Symfony\Bridge\Doctrine\IdGenerator\UuidGenerator")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $name;
/**
* @ORM\Column(type="string")
*/
protected $pdfSenderShort = '(Absender)';
/**
* @ORM\Column(type="text")
*/
protected $pdfSenderLong = '';
/**
* @ORM\Column(type="text")
*/
protected $pdfFooter = '';
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\File", fetch="EAGER")
* @ORM\JoinColumn(referencedColumnName="id",nullable=true)
*/
protected $pdfLogo;
/**
* @ORM\Column(type="text")
*/
protected $pdfConfirmationText = '';
/**
* @ORM\Column(type="string")
*/
protected $mailSenderName = '';
/**
* @ORM\Column(type="string")
*/
protected $mailSenderAddress = '';
/**
* @ORM\Column(type="string")
*/
protected $mailBcc = '';
/**
* @ORM\Column(type="string")
*/
protected $mailReplyTo = '';
/**
* @ORM\Column(type="string")
*/
protected $mailDsn = '';
/**
* @ORM\Column(type="text")
*/
protected $mailFooter = '';
/**
* @ORM\Column(type="text")
*/
protected $infoNotice = '';
/**
* @ORM\Column(type="text")
*/
protected $infoSupport = '';
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\File", fetch="EAGER")
* @ORM\JoinColumn(referencedColumnName="id",nullable=true)
*/
protected $mainLogo;
/**
* @ORM\ManyToOne(targetEntity="Diplix\KMGBundle\Entity\File", fetch="EAGER")
* @ORM\JoinColumn(referencedColumnName="id",nullable=true)
*/
protected $navLogo;
/**
* @ORM\Column(type="json")
*/
protected $carTypePersons = [];
/**
* @ORM\Column(type="integer", nullable=true, options={"default":1})
* Null or 0..X days to add from current date
*/
protected $orderTimeOffsetOnNewOrder;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $ignoreTaxameterForPaymentCalc = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $hidePricesForCustomer = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $alternateJobListView = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $extraFields = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $jobAlwaysRecalculateCustomerPrice = false;
/**
* @ORM\Column(type="boolean", options={"default":1})
*/
protected $deductKmOnFraCombiRideForCalc = true; // Flag only for calculation , NOT for rate decision
/**
* @ORM\Column(type="integer", nullable=false)
*/
protected $kmSecurePlusIfGte = 0;
/**
* @ORM\Column(type="integer", nullable=false)
*/
protected $kmSecurePlus = 0;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $addTaxiGeldAufschlagToCustomerPrice = false;
/**
* @ORM\Column(type="integer", nullable=false)
*/
protected $taxiKmAufschlagKurzstrecke = 0;
/**
* @ORM\Column(type="text")
*/
protected $orderNotice = '';
/**
* @ORM\Column(type="text", nullable=true)
*/
protected ?string $spryApiKey = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
protected ?string $stripeApiKey = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
protected ?string $stripePublicKey = null;
/**
* @ORM\Column(type="text", nullable=false)
*/
protected string $smsSender = '';
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
protected $useRatingMail = false;
/**
* @ORM\Column(type="string", nullable=false)
*/
protected string $datenschutzUrl = '';
/**
* @ORM\Column(type="text")
*/
protected $memberOrderExportText = '';
/**
* @ORM\Column(type="boolean", options={"default":1})
*/
protected $memberOrderExportDetailed = true;
public function __construct($name=null)
{
$this->name = $name;
}
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name): void
{
$this->name = $name;
}
/**
* @return mixed
*/
public function getPdfSenderShort()
{
return $this->pdfSenderShort;
}
/**
* @param mixed $pdfSenderShort
*/
public function setPdfSenderShort($pdfSenderShort): void
{
$this->pdfSenderShort = $pdfSenderShort;
}
/**
* @return mixed
*/
public function getPdfSenderLong()
{
return $this->pdfSenderLong;
}
/**
* @param mixed $pdfSenderLong
*/
public function setPdfSenderLong($pdfSenderLong): void
{
$this->pdfSenderLong = $pdfSenderLong;
}
/**
* @return mixed
*/
public function getPdfFooter()
{
return $this->pdfFooter;
}
/**
* @param mixed $pdfFooter
*/
public function setPdfFooter($pdfFooter): void
{
$this->pdfFooter = $pdfFooter;
}
/**
* @return mixed
*/
public function getPdfLogo()
{
return $this->pdfLogo;
}
/**
* @param mixed $pdfLogo
*/
public function setPdfLogo($pdfLogo): void
{
$this->pdfLogo = $pdfLogo;
}
/**
* @return mixed
*/
public function getMailSenderName()
{
return $this->mailSenderName;
}
/**
* @param mixed $mailSenderName
*/
public function setMailSenderName($mailSenderName): void
{
$this->mailSenderName = $mailSenderName;
}
/**
* @return mixed
*/
public function getMailSenderAddress()
{
return $this->mailSenderAddress;
}
/**
* @param mixed $mailSenderAddress
*/
public function setMailSenderAddress($mailSenderAddress): void
{
$this->mailSenderAddress = $mailSenderAddress;
}
/**
* @return mixed
*/
public function getMailBcc()
{
return $this->mailBcc;
}
/**
* @param mixed $mailBcc
*/
public function setMailBcc($mailBcc): void
{
$this->mailBcc = $mailBcc;
}
/**
* @return mixed
*/
public function getMailDsn()
{
return $this->mailDsn;
}
/**
* @param mixed $mailDsn
*/
public function setMailDsn($mailDsn): void
{
$this->mailDsn = $mailDsn;
}
/**
* @return mixed
*/
public function getMailFooter()
{
return $this->mailFooter;
}
/**
* @param mixed $mailFooter
*/
public function setMailFooter($mailFooter): void
{
$this->mailFooter = $mailFooter;
}
/**
* @return string
*/
public function getPdfConfirmationText(): string
{
return $this->pdfConfirmationText;
}
/**
* @param string $pdfConfirmationText
*/
public function setPdfConfirmationText(string $pdfConfirmationText): void
{
$this->pdfConfirmationText = $pdfConfirmationText;
}
/**
* @return string
*/
public function getInfoNotice(): string
{
return $this->infoNotice;
}
/**
* @param string $infoNotice
*/
public function setInfoNotice(string $infoNotice): void
{
$this->infoNotice = $infoNotice;
}
/**
* @return string
*/
public function getInfoSupport(): string
{
return $this->infoSupport;
}
/**
* @param string $infoSupport
*/
public function setInfoSupport(string $infoSupport): void
{
$this->infoSupport = $infoSupport;
}
/**
* @return mixed
*/
public function getMainLogo()
{
return $this->mainLogo;
}
/**
* @param mixed $mainLogo
*/
public function setMainLogo($mainLogo): void
{
$this->mainLogo = $mainLogo;
}
/**
* @return mixed
*/
public function getNavLogo()
{
return $this->navLogo;
}
/**
* @param mixed $navLogo
*/
public function setNavLogo($navLogo): void
{
$this->navLogo = $navLogo;
}
/**
* @return array
*/
public function getCarTypePersons(): array
{
return array_merge(Order::$carPersonsMax, $this->carTypePersons ?? []);
}
/**
* @param array $carTypePersons
*/
public function setCarTypePersons(array $carTypePersons): void
{
$this->carTypePersons = $carTypePersons;
}
/**
* @return int|null
*/
public function getOrderTimeOffsetOnNewOrder()
{
return $this->orderTimeOffsetOnNewOrder;
}
/**
* @param mixed $orderTimeOffsetOnNewOrder
*/
public function setOrderTimeOffsetOnNewOrder($orderTimeOffsetOnNewOrder): void
{
$this->orderTimeOffsetOnNewOrder = $orderTimeOffsetOnNewOrder;
}
/**
* @return bool
*/
public function isIgnoreTaxameterForPaymentCalc(): bool
{
return $this->ignoreTaxameterForPaymentCalc;
}
/**
* @param bool $ignoreTaxameterForPaymentCalc
*/
public function setIgnoreTaxameterForPaymentCalc(bool $ignoreTaxameterForPaymentCalc): void
{
$this->ignoreTaxameterForPaymentCalc = $ignoreTaxameterForPaymentCalc;
}
/**
* @return bool
*/
public function isHidePricesForCustomer(): bool
{
return $this->hidePricesForCustomer;
}
/**
* @param bool $hidePricesForCustomer
*/
public function setHidePricesForCustomer(bool $hidePricesForCustomer): void
{
$this->hidePricesForCustomer = $hidePricesForCustomer;
}
/**
* @return bool
*/
public function isAlternateJobListView(): bool
{
return $this->alternateJobListView;
}
/**
* @param bool $alternateJobListView
*/
public function setAlternateJobListView(bool $alternateJobListView): void
{
$this->alternateJobListView = $alternateJobListView;
}
/**
* @return bool
*/
public function isExtraFields(): bool
{
return $this->extraFields;
}
/**
* @param bool $extraFields
*/
public function setExtraFields(bool $extraFields): void
{
$this->extraFields = $extraFields;
}
/**
* @return bool
*/
public function isJobAlwaysRecalculateCustomerPrice(): bool
{
return $this->jobAlwaysRecalculateCustomerPrice;
}
/**
* @param bool $jobAlwaysRecalculateCustomerPrice
*/
public function setJobAlwaysRecalculateCustomerPrice(bool $jobAlwaysRecalculateCustomerPrice): void
{
$this->jobAlwaysRecalculateCustomerPrice = $jobAlwaysRecalculateCustomerPrice;
}
/**
* @return bool
*/
public function isDeductKmOnFraCombiRideForCalc(): bool
{
return $this->deductKmOnFraCombiRideForCalc;
}
/**
* @param bool $deductKmOnFraCombiRideForCalc
*/
public function setDeductKmOnFraCombiRideForCalc(bool $deductKmOnFraCombiRideForCalc): void
{
$this->deductKmOnFraCombiRideForCalc = $deductKmOnFraCombiRideForCalc;
}
/**
* @return int
*/
public function getKmSecurePlusIfGte(): int
{
return $this->kmSecurePlusIfGte;
}
/**
* @param int $kmSecurePlusIfGte
*/
public function setKmSecurePlusIfGte(int $kmSecurePlusIfGte): void
{
$this->kmSecurePlusIfGte = $kmSecurePlusIfGte;
}
/**
* @return int
*/
public function getKmSecurePlus(): int
{
return $this->kmSecurePlus;
}
/**
* @param int $kmSecurePlus
*/
public function setKmSecurePlus(int $kmSecurePlus): void
{
$this->kmSecurePlus = $kmSecurePlus;
}
/**
* @return int
*/
public function getTaxiKmAufschlagKurzstrecke(): int
{
return $this->taxiKmAufschlagKurzstrecke;
}
/**
* @param int $taxiKmAufschlagKurzstrecke
*/
public function setTaxiKmAufschlagKurzstrecke(int $taxiKmAufschlagKurzstrecke): void
{
$this->taxiKmAufschlagKurzstrecke = $taxiKmAufschlagKurzstrecke;
}
/**
* @return string
*/
public function getOrderNotice(): string
{
return $this->orderNotice;
}
/**
* @param string $orderNotice
*/
public function setOrderNotice(string $orderNotice): void
{
$this->orderNotice = $orderNotice;
}
/**
* @return bool
*/
public function isAddTaxiGeldAufschlagToCustomerPrice(): bool
{
return $this->addTaxiGeldAufschlagToCustomerPrice;
}
/**
* @param bool $addTaxiGeldAufschlagToCustomerPrice
*/
public function setAddTaxiGeldAufschlagToCustomerPrice(bool $addTaxiGeldAufschlagToCustomerPrice): void
{
$this->addTaxiGeldAufschlagToCustomerPrice = $addTaxiGeldAufschlagToCustomerPrice;
}
/**
* @return null
*/
public function getSpryApiKey()
{
return $this->spryApiKey;
}
/**
* @param null $spryApiKey
*/
public function setSpryApiKey($spryApiKey): void
{
$this->spryApiKey = $spryApiKey;
}
/**
* @return string
*/
public function getSmsSender(): string
{
return $this->smsSender;
}
/**
* @param string $smsSender
*/
public function setSmsSender(string $smsSender): void
{
$this->smsSender = $smsSender;
}
/**
* @return bool
*/
public function isUseRatingMail(): bool
{
return $this->useRatingMail;
}
/**
* @param bool $useRatingMail
*/
public function setUseRatingMail(bool $useRatingMail): void
{
$this->useRatingMail = $useRatingMail;
}
/**
* @return string
*/
public function getDatenschutzUrl(): string
{
return $this->datenschutzUrl;
}
/**
* @param string $datenschutzUrl
*/
public function setDatenschutzUrl(string $datenschutzUrl): void
{
$this->datenschutzUrl = $datenschutzUrl;
}
/**
* @return string
*/
public function getMailReplyTo(): string
{
return $this->mailReplyTo;
}
/**
* @param string $mailReplyTo
*/
public function setMailReplyTo(string $mailReplyTo): void
{
$this->mailReplyTo = $mailReplyTo;
}
/**
* @return string
*/
public function getMemberOrderExportText(): string
{
return $this->memberOrderExportText;
}
/**
* @param string $memberOrderExportText
*/
public function setMemberOrderExportText(string $memberOrderExportText): void
{
$this->memberOrderExportText = $memberOrderExportText;
}
public function isMemberOrderExportDetailed(): bool
{
return $this->memberOrderExportDetailed;
}
public function setMemberOrderExportDetailed(bool $memberOrderExportDetailed): void
{
$this->memberOrderExportDetailed = $memberOrderExportDetailed;
}
public function getStripeApiKey(): ?string
{
return $this->stripeApiKey;
}
public function setStripeApiKey(?string $stripeApiKey): void
{
$this->stripeApiKey = $stripeApiKey;
}
public function getStripePublicKey(): ?string
{
return $this->stripePublicKey;
}
public function setStripePublicKey(?string $stripePublicKey): void
{
$this->stripePublicKey = $stripePublicKey;
}
}