src/Entity/GuardianRegister/GuardianRegister.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Entity\GuardianRegister;
  3. use App\Entity\Admin;
  4. use App\Entity\EarlyPayment;
  5. use App\Entity\Guardian;
  6. use App\Entity\GuardianContract;
  7. use App\Entity\TeacherReservations;
  8. use App\Entity\MontonioLog;
  9. use App\Repository\GuardianRegister\GuardianRegisterRepository;
  10. use App\Trait\ManualAssignmentReasonTrait;
  11. use Doctrine\Common\Collections\ArrayCollection;
  12. use Doctrine\Common\Collections\Collection;
  13. use Doctrine\ORM\Mapping as ORM;
  14. use Symfony\Component\Serializer\Annotation\Groups;
  15. /**
  16. * @ORM\Entity(repositoryClass=GuardianRegisterRepository::class)
  17. * @ORM\Table(name="guardian_register", indexes={
  18. * @ORM\Index(name="gr_sales_person_idx", columns={"sales_person_id"}),
  19. * @ORM\Index(name="gr_guardian_idx", columns={"guardian_id"})
  20. * })
  21. */
  22. class GuardianRegister
  23. {
  24. use ManualAssignmentReasonTrait;
  25. const STATUS_NEW = [
  26. 'value' => "NEW",
  27. 'text' => 'Naujas',
  28. 'color' => '#f8d7da'
  29. ];
  30. const STATUS_IGNORED = [
  31. 'value' => "IGNORED",
  32. 'text' => 'Nepakėlė',
  33. 'color' => '#fff3cd'
  34. ];
  35. const STATUS_SENT = [
  36. 'value' => "SENT",
  37. 'text' => 'Išsiųsta',
  38. 'color' => '#d4edda'
  39. ];
  40. const STATUS_SLEEP = [
  41. 'value' => "SLEEP",
  42. 'text' => 'Sleep',
  43. 'color' => '#FF0000'
  44. ];
  45. const STATUS_DECLINED = [
  46. 'value' => "DECLINED",
  47. 'text' => 'Atmesta',
  48. 'color' => '#ffa600'
  49. ];
  50. const STATUS_CONFIRMED = [
  51. 'value' => "CONFIRMED",
  52. 'text' => 'Patvirtinta',
  53. 'color' => '#ffa600'
  54. ];
  55. const STATUS_LOST = [
  56. 'value' => "LOST",
  57. 'text' => 'Lost',
  58. 'color' => '#45C6F6'
  59. ];
  60. const STATUS_UNTARGETED = [
  61. 'value' => "UNTARGETED",
  62. 'text' => 'Netikslinė',
  63. 'color' => '#c75b5b'
  64. ];
  65. const STATUS_DUPLICATE = [
  66. 'value' => "DUPLICATE",
  67. 'text' => 'Dublikatas',
  68. 'color' => '#d6d8db'
  69. ];
  70. //Laukiama - kai uždedame varnele, jog mokėjimas į priekį ir klientas gauna laišką. Max šitą statusą turi 48 val. Jeigu neapmoka.
  71. //Lost 48 - klientas laiške paspaudė, kad jo nedomina.
  72. //Apmokėta pirma - tokį statusą rodome, kai apmokėta pirma pamoka, klientas jau atsiranda ir Tėvai/Klientai, bet dar vis lieka ir tabe Registracijos, jos SALES galėtų matyti ir apmokės ir toliau po pirmos pamokos.
  73. //Nesumokėta 48 - klientų statusas, kurie neapmokėjo už pirmą pamoką per 48 val.
  74. //Neapmokėta - klientai po 24 val. Po pirmos pamokos gauna laiška, kuriame yra visa arba dalinė mėnesio užsiėmimų saskaita. Jeigu po to laiško gavimo klientas neapmoką per 48 val. Užsideda šitas statusas.
  75. const STATUS_WAITING = [
  76. 'value' => "WAITING",
  77. 'text' => 'Laukiama',
  78. 'color' => '#d4edda'
  79. ];
  80. const STATUS_LOST_48 = [
  81. 'value' => "LOST_48",
  82. 'text' => 'Lost 48',
  83. 'color' => '#45C6F6'
  84. ];
  85. const STATUS_PAID_FIRST = [
  86. 'value' => "PAID_FIRST",
  87. 'text' => 'Apmokėta pirma',
  88. 'color' => '#28a745'
  89. ];
  90. const STATUS_NOT_PAID = [
  91. 'value' => "NOT_PAID",
  92. 'text' => 'Neapmokėta',
  93. 'color' => '#f8d7da'
  94. ];
  95. const STATUS_NOT_PAID_48 = [
  96. 'value' => "NOTPAID_48",
  97. 'text' => 'Nesumokėta 48',
  98. 'color' => '#FF0000'
  99. ];
  100. const STATUS_LEFT_EARLY_PAYMENT = [
  101. 'value' => "LEFT_EARLY_PAYMENT",
  102. 'text' => 'Išėjęs mok. į priekį',
  103. 'color' => '#FF0000'
  104. ];
  105. const STATUS_IN_PROGRESS = [
  106. 'value' => "IN_PROGRESS",
  107. 'text' => 'Laukiama tutor pasirinkimo',
  108. 'color' => '#FF0FF0'
  109. ];
  110. const GUARDIAN_REGISTER_STATUSES = [
  111. self::STATUS_NEW,
  112. self::STATUS_IGNORED,
  113. self::STATUS_SENT,
  114. self::STATUS_SLEEP,
  115. self::STATUS_DECLINED,
  116. self::STATUS_CONFIRMED,
  117. self::STATUS_LOST,
  118. self::STATUS_UNTARGETED,
  119. self::STATUS_WAITING,
  120. self::STATUS_LOST_48,
  121. self::STATUS_PAID_FIRST,
  122. self::STATUS_NOT_PAID,
  123. self::STATUS_NOT_PAID_48,
  124. self::STATUS_LEFT_EARLY_PAYMENT,
  125. self::STATUS_DUPLICATE,
  126. ];
  127. /**
  128. * Statuses in which the person is still being worked on by sales. A new
  129. * registration from the same person while one of these exists is a
  130. * duplicate; after any other status (Lost, Atmesta, Sleep, Netikslinė,
  131. * converted client...) it is a real new lead.
  132. */
  133. const OPEN_STATUSES_FOR_DUPLICATE_CHECK = [
  134. self::STATUS_NEW['value'],
  135. self::STATUS_IGNORED['value'],
  136. self::STATUS_SENT['value'],
  137. self::STATUS_WAITING['value'],
  138. self::STATUS_PAID_FIRST['value'],
  139. self::STATUS_NOT_PAID['value'],
  140. self::STATUS_NOT_PAID_48['value'],
  141. ];
  142. const PLACEHOLDER_EMAIL = 'nesuvestasemailas@gmail.com';
  143. const PLACEHOLDER_PHONE = '8888888888';
  144. /**
  145. * @ORM\Id
  146. * @ORM\GeneratedValue
  147. * @ORM\Column(type="integer")
  148. * @Groups({"GuardianRegisterList"})
  149. */
  150. private $id;
  151. /**
  152. * @ORM\Column(type="boolean", nullable=true)
  153. * @Groups({"GuardianRegisterList"})
  154. */
  155. private $isGuardian = true;
  156. /**
  157. * @ORM\Column(type="string", length=255, nullable=true)
  158. * @Groups({"GuardianRegisterList"})
  159. */
  160. private $email = self::PLACEHOLDER_EMAIL;
  161. /**
  162. * @ORM\Column(type="string", length=255, nullable=true)
  163. * @Groups({"GuardianRegisterList"})
  164. */
  165. private $name;
  166. /**
  167. * @ORM\Column(type="string", length=255, nullable=true)
  168. * @Groups({"GuardianRegisterList"})
  169. */
  170. private $lastname;
  171. /**
  172. * @ORM\Column(type="string", length=255, nullable=true)
  173. * @Groups({"GuardianRegisterList"})
  174. */
  175. private $phone = self::PLACEHOLDER_PHONE;
  176. /**
  177. * @ORM\Column(type="string", length=255, nullable=true)
  178. * @Groups({"GuardianRegisterList"})
  179. */
  180. private $guardianName;
  181. /**
  182. * @ORM\Column(type="string", length=255, nullable=true)
  183. * @Groups({"GuardianRegisterList"})
  184. */
  185. private $guardianLastname;
  186. /**
  187. * @ORM\Column(type="string", length=255, nullable=true)
  188. * @Groups({"GuardianRegisterList"})
  189. */
  190. private $guardianPhone;
  191. /**
  192. * @ORM\Column(type="string", length=255, nullable=true)
  193. * @Groups({"GuardianRegisterList"})
  194. */
  195. private $guardianEmail;
  196. /**
  197. * @ORM\Column(type="datetime", nullable=true)
  198. * @Groups({"GuardianRegisterList"})
  199. */
  200. private $createdAt;
  201. /**
  202. * @ORM\Column(type="string", length=255, nullable=true)
  203. * @Groups({"GuardianRegisterList"})
  204. */
  205. private $status = self::STATUS_NEW['value'];
  206. /**
  207. * @ORM\ManyToOne(targetEntity=Admin::class, inversedBy="guardianRegisters")
  208. * @Groups({"GuardianRegisterList", "ChildPreferenceAssignmentList","GuardianList"})
  209. */
  210. private $salesPerson;
  211. /**
  212. * @ORM\Column(type="integer", nullable=true)
  213. */
  214. private $ignoredEmailCount = 0;
  215. /**
  216. * @ORM\Column(type="boolean", nullable=true)
  217. * @Groups({"GuardianRegisterList"})
  218. */
  219. private $sign = true;
  220. /**
  221. * @ORM\Column(type="string", length=255, nullable=true)
  222. */
  223. private $contractToken;
  224. /**
  225. * @ORM\Column(type="string", length=255, nullable=true)
  226. */
  227. private $cancelToken;
  228. /**
  229. * @ORM\Column(type="datetime", nullable=true)
  230. * @Groups({"GuardianRegisterList"})
  231. */
  232. private $contractGeneratedAt;
  233. /**
  234. * @ORM\Column(type="text", nullable=true)
  235. */
  236. private $marksignUrl;
  237. /**
  238. * @ORM\Column(type="text", nullable=true)
  239. */
  240. private $marksignDocumentId;
  241. /**
  242. * @ORM\Column(type="integer", nullable=true)
  243. */
  244. private $contractEmailCount = 0;
  245. /**
  246. * @ORM\OneToMany(targetEntity=GuardianRegisterChild::class, mappedBy="guardianRegister")
  247. */
  248. private $guardianRegisterChildren;
  249. /**
  250. * @ORM\Column(type="text", nullable=true)
  251. */
  252. private $signedContractUrl;
  253. /**
  254. * @ORM\OneToOne(targetEntity=Guardian::class, inversedBy="guardianRegister", cascade={"persist", "remove"})
  255. * @Groups({"GuardianRegisterList"})
  256. */
  257. private $guardian;
  258. /**
  259. * @ORM\Column(type="float", nullable=true)
  260. */
  261. private $priceChange;
  262. /**
  263. * @ORM\ManyToOne(targetEntity=GuardianContract::class, inversedBy="guardianRegisters")
  264. */
  265. private $guardianContract;
  266. /**
  267. * @ORM\Column(type="string", length=255, nullable=true)
  268. */
  269. private $currentGuardianFoundBy;
  270. /**
  271. * @ORM\Column(type="datetime", nullable=true)
  272. */
  273. private $salesAssignedAt;
  274. /**
  275. * @ORM\Column(type="datetime", nullable=true)
  276. */
  277. private $contractSentAt;
  278. /**
  279. * @ORM\Column(type="datetime", nullable=true)
  280. */
  281. private $contractSignedAt;
  282. /**
  283. * @ORM\Column(type="text", nullable=true)
  284. * @Groups({"GuardianRegisterList"})
  285. */
  286. private $comment;
  287. /**
  288. * @ORM\Column(type="datetime", nullable=true)
  289. * @Groups({"GuardianRegisterList"})
  290. */
  291. private $recallAt;
  292. /**
  293. * @ORM\Column(type="datetime", nullable=true)
  294. */
  295. private $lostAt;
  296. /**
  297. * @ORM\Column(type="datetime", nullable=true)
  298. */
  299. private $ignoredAt;
  300. /**
  301. * @ORM\Column(type="boolean", nullable=true,options={"default" : "0"})
  302. */
  303. private $isDeleted = false;
  304. /**
  305. * @ORM\Column(type="boolean", nullable=true)
  306. */
  307. private $flagTrial;
  308. /**
  309. * @ORM\Column(type="integer", nullable=true)
  310. */
  311. private $guardianPriceDiscount;
  312. /**
  313. * @ORM\Column(type="string", length=255, nullable=true)
  314. * @Groups({"GuardianRegisterList", "ChildPreferenceAssignmentList"})
  315. */
  316. private $referralCode;
  317. /**
  318. * @ORM\Column(type="boolean", nullable=true)
  319. */
  320. private $referralBonusUsed;
  321. /**
  322. * @ORM\Column(type="string", length=255, nullable=true)
  323. */
  324. private $googleSessionId;
  325. /**
  326. * @ORM\Column(type="string", length=255, nullable=true)
  327. */
  328. private $googleClientId;
  329. /**
  330. * @ORM\Column(type="string", length=255, nullable=true)
  331. */
  332. private $ad;
  333. /**
  334. * @ORM\Column(type="string", length=255, nullable=true)
  335. */
  336. private $referer;
  337. /**
  338. * @ORM\Column(type="string", length=255, nullable=true)
  339. */
  340. private $refererCategory;
  341. /**
  342. * @ORM\Column(type="string", length=255, nullable=true)
  343. */
  344. private $utmSource;
  345. /**
  346. * @ORM\Column(type="string", length=255, nullable=true)
  347. */
  348. private $utmMedium;
  349. /**
  350. * @ORM\Column(type="string", length=255, nullable=true)
  351. */
  352. private $utmCampaign;
  353. /**
  354. * @ORM\Column(type="text", nullable=true)
  355. */
  356. private $landingPage;
  357. /**
  358. * @ORM\Column(type="boolean", nullable=true)
  359. */
  360. private $flagManualAssignment;
  361. /**
  362. * @ORM\Column(type="boolean", nullable=true)
  363. */
  364. private $flagEarlyPayment;
  365. /**
  366. * @ORM\Column(type="integer", nullable=true)
  367. */
  368. private $earlyPaymentDay;
  369. /**
  370. * @ORM\Column(type="string", length=255, nullable=true)
  371. */
  372. private $earlyPaymentToken;
  373. /**
  374. * @ORM\Column(type="datetime", nullable=true)
  375. */
  376. private $earlyPaymentTokenValidTo;
  377. /**
  378. * @ORM\OneToMany(targetEntity=EarlyPayment::class, mappedBy="guardianRegister")
  379. */
  380. private $earlyPayments;
  381. /**
  382. * @ORM\OneToMany(targetEntity=MontonioLog::class, mappedBy="guardianRegister")
  383. */
  384. private $montonioLogs;
  385. /**
  386. * @ORM\Column(type="datetime", nullable=true)
  387. */
  388. private $earlyPaymentSentAt;
  389. /**
  390. * @ORM\Column(type="json", nullable=true)
  391. */
  392. private $data;
  393. /**
  394. * @ORM\OneToMany(targetEntity=TeacherReservations::class, mappedBy="guardianRegister")
  395. */
  396. private $teacherReservations;
  397. public function __construct()
  398. {
  399. $this->createdAt = new \DateTime();
  400. $this->guardianRegisterChildren = new ArrayCollection();
  401. $this->earlyPayments = new ArrayCollection();
  402. $this->montonioLogs = new ArrayCollection();
  403. $this->teacherReservations = new ArrayCollection();
  404. }
  405. public function getId(): ?int
  406. {
  407. return $this->id;
  408. }
  409. public function getIsGuardian(): ?bool
  410. {
  411. return $this->isGuardian;
  412. }
  413. public function setIsGuardian(?bool $isGuardian): self
  414. {
  415. $this->isGuardian = $isGuardian;
  416. return $this;
  417. }
  418. public function getEmail(): ?string
  419. {
  420. return $this->email;
  421. }
  422. public function setEmail(?string $email): self
  423. {
  424. $this->email = $email;
  425. return $this;
  426. }
  427. public function getName(): ?string
  428. {
  429. return $this->name;
  430. }
  431. public function setName(?string $name): self
  432. {
  433. $this->name = $name;
  434. return $this;
  435. }
  436. public function getLastname(): ?string
  437. {
  438. return $this->lastname;
  439. }
  440. public function setLastname(?string $lastname): self
  441. {
  442. $this->lastname = $lastname;
  443. return $this;
  444. }
  445. public function getPhone(): ?string
  446. {
  447. return $this->phone;
  448. }
  449. public function setPhone(?string $phone): self
  450. {
  451. $phone = str_replace(' ', '', (string) $phone);
  452. $this->phone = $phone;
  453. return $this;
  454. }
  455. public function getGuardianName(): ?string
  456. {
  457. return $this->guardianName;
  458. }
  459. public function setGuardianName(?string $guardianName): self
  460. {
  461. $this->guardianName = $guardianName;
  462. return $this;
  463. }
  464. public function getGuardianLastname(): ?string
  465. {
  466. return $this->guardianLastname;
  467. }
  468. public function setGuardianLastname(?string $guardianLastname): self
  469. {
  470. $this->guardianLastname = $guardianLastname;
  471. return $this;
  472. }
  473. public function getGuardianPhone(): ?string
  474. {
  475. return $this->guardianPhone;
  476. }
  477. public function setGuardianPhone(?string $guardianPhone): self
  478. {
  479. $guardianPhone = str_replace(' ', '', $guardianPhone);
  480. $this->guardianPhone = $guardianPhone;
  481. return $this;
  482. }
  483. public function getGuardianEmail(): ?string
  484. {
  485. return $this->guardianEmail;
  486. }
  487. public function setGuardianEmail(?string $guardianEmail): self
  488. {
  489. $this->guardianEmail = $guardianEmail;
  490. return $this;
  491. }
  492. public function getCreatedAt(): ?\DateTimeInterface
  493. {
  494. return $this->createdAt;
  495. }
  496. public function setCreatedAt(?\DateTimeInterface $createdAt): self
  497. {
  498. $this->createdAt = $createdAt;
  499. return $this;
  500. }
  501. public function getStatus(): ?string
  502. {
  503. return $this->status;
  504. }
  505. public function setStatus(?string $status): self
  506. {
  507. $this->status = $status;
  508. return $this;
  509. }
  510. public function getSalesPerson(): ?Admin
  511. {
  512. return $this->salesPerson;
  513. }
  514. public function setSalesPerson(?Admin $salesPerson): self
  515. {
  516. $this->salesPerson = $salesPerson;
  517. return $this;
  518. }
  519. public function getIgnoredEmailCount(): ?int
  520. {
  521. return $this->ignoredEmailCount;
  522. }
  523. public function setIgnoredEmailCount(?int $ignoredEmailCount): self
  524. {
  525. $this->ignoredEmailCount = $ignoredEmailCount;
  526. return $this;
  527. }
  528. public function getSign(): ?bool
  529. {
  530. return $this->sign;
  531. }
  532. public function setSign(?bool $sign): self
  533. {
  534. $this->sign = $sign;
  535. return $this;
  536. }
  537. public function getContractToken(): ?string
  538. {
  539. return $this->contractToken;
  540. }
  541. public function setContractToken(?string $contract_token): self
  542. {
  543. $this->contractToken = $contract_token;
  544. return $this;
  545. }
  546. public function getCancelToken(): ?string
  547. {
  548. return $this->cancelToken;
  549. }
  550. public function setCancelToken(?string $cancel_token): self
  551. {
  552. $this->cancelToken = $cancel_token;
  553. return $this;
  554. }
  555. public function getContractGeneratedAt(): ?\DateTimeInterface
  556. {
  557. return $this->contractGeneratedAt;
  558. }
  559. public function setContractGeneratedAt(?\DateTimeInterface $contractGeneratedAt): self
  560. {
  561. $this->contractGeneratedAt = $contractGeneratedAt;
  562. return $this;
  563. }
  564. public function getMarksignUrl(): ?string
  565. {
  566. return $this->marksignUrl;
  567. }
  568. public function setMarksignUrl(?string $marksignUrl): self
  569. {
  570. $this->marksignUrl = $marksignUrl;
  571. return $this;
  572. }
  573. public function getMarksignDocumentId(): ?string
  574. {
  575. return $this->marksignDocumentId;
  576. }
  577. public function setMarksignDocumentId(?string $marksignDocumentId): self
  578. {
  579. $this->marksignDocumentId = $marksignDocumentId;
  580. return $this;
  581. }
  582. public function getContractEmailCount(): ?int
  583. {
  584. return $this->contractEmailCount;
  585. }
  586. public function setContractEmailCount(?int $contractEmailCount): self
  587. {
  588. $this->contractEmailCount = $contractEmailCount;
  589. return $this;
  590. }
  591. /**
  592. * @return Collection<int, GuardianRegisterChild>
  593. */
  594. public function getGuardianRegisterChildren(): Collection
  595. {
  596. return $this->guardianRegisterChildren;
  597. }
  598. public function addGuardianRegisterChild(GuardianRegisterChild $guardianRegisterChild): self
  599. {
  600. if (!$this->guardianRegisterChildren->contains($guardianRegisterChild)) {
  601. $this->guardianRegisterChildren[] = $guardianRegisterChild;
  602. $guardianRegisterChild->setGuardianRegister($this);
  603. }
  604. return $this;
  605. }
  606. public function removeGuardianRegisterChild(GuardianRegisterChild $guardianRegisterChild): self
  607. {
  608. if ($this->guardianRegisterChildren->removeElement($guardianRegisterChild)) {
  609. // set the owning side to null (unless already changed)
  610. if ($guardianRegisterChild->getGuardianRegister() === $this) {
  611. $guardianRegisterChild->setGuardianRegister(null);
  612. }
  613. }
  614. return $this;
  615. }
  616. public function getSignedContractUrl(): ?string
  617. {
  618. return $this->signedContractUrl;
  619. }
  620. public function setSignedContractUrl(?string $signedContractUrl): self
  621. {
  622. $this->signedContractUrl = $signedContractUrl;
  623. return $this;
  624. }
  625. public function getGuardian(): ?Guardian
  626. {
  627. return $this->guardian;
  628. }
  629. public function setGuardian(?Guardian $guardian): self
  630. {
  631. $this->guardian = $guardian;
  632. return $this;
  633. }
  634. public function getPriceChange(): ?float
  635. {
  636. return $this->priceChange;
  637. }
  638. public function setPriceChange(?float $priceChange): self
  639. {
  640. $this->priceChange = $priceChange;
  641. return $this;
  642. }
  643. public function getGuardianContract(): ?GuardianContract
  644. {
  645. return $this->guardianContract;
  646. }
  647. public function setGuardianContract(?GuardianContract $guardianContract): self
  648. {
  649. $this->guardianContract = $guardianContract;
  650. return $this;
  651. }
  652. public function getCurrentGuardianFoundBy(): ?string
  653. {
  654. return $this->currentGuardianFoundBy;
  655. }
  656. public function setCurrentGuardianFoundBy(?string $currentGuardianFoundBy): self
  657. {
  658. $this->currentGuardianFoundBy = $currentGuardianFoundBy;
  659. return $this;
  660. }
  661. public function getSalesAssignedAt(): ?\DateTimeInterface
  662. {
  663. return $this->salesAssignedAt;
  664. }
  665. public function setSalesAssignedAt(?\DateTimeInterface $salesAssignedAt): self
  666. {
  667. $this->salesAssignedAt = $salesAssignedAt;
  668. return $this;
  669. }
  670. public function getContractSentAt(): ?\DateTimeInterface
  671. {
  672. return $this->contractSentAt;
  673. }
  674. public function setContractSentAt(?\DateTimeInterface $contractSentAt): self
  675. {
  676. $this->contractSentAt = $contractSentAt;
  677. return $this;
  678. }
  679. public function getContractSignedAt(): ?\DateTimeInterface
  680. {
  681. return $this->contractSignedAt;
  682. }
  683. public function setContractSignedAt(?\DateTimeInterface $contractSignedAt): self
  684. {
  685. $this->contractSignedAt = $contractSignedAt;
  686. return $this;
  687. }
  688. public function getComment(): ?string
  689. {
  690. return $this->comment;
  691. }
  692. public function setComment(?string $comment): self
  693. {
  694. $this->comment = $comment;
  695. return $this;
  696. }
  697. public function getRecallAt(): ?\DateTimeInterface
  698. {
  699. return $this->recallAt;
  700. }
  701. public function setRecallAt(?\DateTimeInterface $recallAt): self
  702. {
  703. $this->recallAt = $recallAt;
  704. return $this;
  705. }
  706. public function getLostAt(): ?\DateTimeInterface
  707. {
  708. return $this->lostAt;
  709. }
  710. public function setLostAt(?\DateTimeInterface $lostAt): self
  711. {
  712. $this->lostAt = $lostAt;
  713. return $this;
  714. }
  715. public function getIgnoredAt(): ?\DateTimeInterface
  716. {
  717. return $this->ignoredAt;
  718. }
  719. public function setIgnoredAt(?\DateTimeInterface $ignoredAt): self
  720. {
  721. $this->ignoredAt = $ignoredAt;
  722. return $this;
  723. }
  724. public function getIsDeleted(): ?bool
  725. {
  726. return $this->isDeleted;
  727. }
  728. public function setIsDeleted(?bool $isDeleted): self
  729. {
  730. $this->isDeleted = $isDeleted;
  731. return $this;
  732. }
  733. public function getFlagTrial(): ?bool
  734. {
  735. return $this->flagTrial;
  736. }
  737. public function setFlagTrial(?bool $flagTrial): self
  738. {
  739. $this->flagTrial = $flagTrial;
  740. return $this;
  741. }
  742. public function getGuardianPriceDiscount(): ?int
  743. {
  744. return $this->guardianPriceDiscount;
  745. }
  746. public function setGuardianPriceDiscount(?int $guardianPriceDiscount): self
  747. {
  748. $this->guardianPriceDiscount = $guardianPriceDiscount;
  749. return $this;
  750. }
  751. public function getReferralCode(): ?string
  752. {
  753. return $this->referralCode;
  754. }
  755. public function setReferralCode(?string $referralCode): self
  756. {
  757. $this->referralCode = $referralCode;
  758. return $this;
  759. }
  760. public function isReferralBonusUsed(): ?bool
  761. {
  762. return $this->referralBonusUsed;
  763. }
  764. public function setReferralBonusUsed(?bool $referralBonusUsed): self
  765. {
  766. $this->referralBonusUsed = $referralBonusUsed;
  767. return $this;
  768. }
  769. public function getGoogleSessionId(): ?string
  770. {
  771. return $this->googleSessionId;
  772. }
  773. public function setGoogleSessionId(?string $googleSessionId): self
  774. {
  775. $this->googleSessionId = $googleSessionId;
  776. return $this;
  777. }
  778. public function getGoogleClientId(): ?string
  779. {
  780. return $this->googleClientId;
  781. }
  782. public function setGoogleClientId(?string $googleClientId): self
  783. {
  784. $this->googleClientId = $googleClientId;
  785. return $this;
  786. }
  787. public function getAd(): ?string
  788. {
  789. return $this->ad;
  790. }
  791. public function setAd(?string $ad): self
  792. {
  793. $this->ad = $ad;
  794. return $this;
  795. }
  796. public function getReferer(): ?string
  797. {
  798. return $this->referer;
  799. }
  800. public function setReferer(?string $referer): self
  801. {
  802. $this->referer = $referer;
  803. return $this;
  804. }
  805. public function getRefererCategory(): ?string
  806. {
  807. return $this->refererCategory;
  808. }
  809. public function setRefererCategory(?string $refererCategory): self
  810. {
  811. $this->refererCategory = $refererCategory;
  812. return $this;
  813. }
  814. public function getUtmSource(): ?string
  815. {
  816. return $this->utmSource;
  817. }
  818. public function setUtmSource(?string $utmSource): self
  819. {
  820. $this->utmSource = $utmSource;
  821. return $this;
  822. }
  823. public function getUtmMedium(): ?string
  824. {
  825. return $this->utmMedium;
  826. }
  827. public function setUtmMedium(?string $utmMedium): self
  828. {
  829. $this->utmMedium = $utmMedium;
  830. return $this;
  831. }
  832. public function getUtmCampaign(): ?string
  833. {
  834. return $this->utmCampaign;
  835. }
  836. public function setUtmCampaign(?string $utmCampaign): self
  837. {
  838. $this->utmCampaign = $utmCampaign;
  839. return $this;
  840. }
  841. public function getLandingPage(): ?string
  842. {
  843. return $this->landingPage;
  844. }
  845. public function setLandingPage(?string $landingPage): self
  846. {
  847. $this->landingPage = $landingPage;
  848. return $this;
  849. }
  850. public function isFlagManualAssignment(): ?bool
  851. {
  852. return $this->flagManualAssignment;
  853. }
  854. public function setFlagManualAssignment(?bool $flagManualAssignment): self
  855. {
  856. $this->flagManualAssignment = $flagManualAssignment;
  857. return $this;
  858. }
  859. public function isFlagEarlyPayment(): ?bool
  860. {
  861. return $this->flagEarlyPayment;
  862. }
  863. public function setFlagEarlyPayment(?bool $flagEarlyPayment): self
  864. {
  865. $this->flagEarlyPayment = $flagEarlyPayment;
  866. return $this;
  867. }
  868. public function getEarlyPaymentDay(): ?int
  869. {
  870. return $this->earlyPaymentDay;
  871. }
  872. public function setEarlyPaymentDay(?int $earlyPaymentDay): self
  873. {
  874. $this->earlyPaymentDay = $earlyPaymentDay;
  875. return $this;
  876. }
  877. public function getEarlyPaymentToken(): ?string
  878. {
  879. return $this->earlyPaymentToken;
  880. }
  881. public function setEarlyPaymentToken(?string $earlyPaymentToken): self
  882. {
  883. $this->earlyPaymentToken = $earlyPaymentToken;
  884. return $this;
  885. }
  886. public function getEarlyPaymentTokenValidTo(): ?\DateTimeInterface
  887. {
  888. return $this->earlyPaymentTokenValidTo;
  889. }
  890. public function setEarlyPaymentTokenValidTo(?\DateTimeInterface $earlyPaymentTokenValidTo): self
  891. {
  892. $this->earlyPaymentTokenValidTo = $earlyPaymentTokenValidTo;
  893. return $this;
  894. }
  895. /**
  896. * @return Collection<int, EarlyPayment>
  897. */
  898. public function getEarlyPayments(): Collection
  899. {
  900. return $this->earlyPayments;
  901. }
  902. public function addEarlyPayment(EarlyPayment $earlyPayment): self
  903. {
  904. if (!$this->earlyPayments->contains($earlyPayment)) {
  905. $this->earlyPayments[] = $earlyPayment;
  906. $earlyPayment->setGuardianRegister($this);
  907. }
  908. return $this;
  909. }
  910. public function removeEarlyPayment(EarlyPayment $earlyPayment): self
  911. {
  912. if ($this->earlyPayments->removeElement($earlyPayment)) {
  913. // set the owning side to null (unless already changed)
  914. if ($earlyPayment->getGuardianRegister() === $this) {
  915. $earlyPayment->setGuardianRegister(null);
  916. }
  917. }
  918. return $this;
  919. }
  920. /**
  921. * @return Collection<int, MontonioLog>
  922. */
  923. public function getMontonioLogs(): Collection
  924. {
  925. return $this->montonioLogs;
  926. }
  927. public function addMontonioLog(MontonioLog $montonioLog): self
  928. {
  929. if (!$this->montonioLogs->contains($montonioLog)) {
  930. $this->montonioLogs[] = $montonioLog;
  931. $montonioLog->setGuardianRegister($this);
  932. }
  933. return $this;
  934. }
  935. public function removeMontonioLog(MontonioLog $montonioLog): self
  936. {
  937. if ($this->montonioLogs->removeElement($montonioLog)) {
  938. // set the owning side to null (unless already changed)
  939. if ($montonioLog->getGuardianRegister() === $this) {
  940. $montonioLog->setGuardianRegister(null);
  941. }
  942. }
  943. return $this;
  944. }
  945. public function getEarlyPaymentSentAt(): ?\DateTimeInterface
  946. {
  947. return $this->earlyPaymentSentAt;
  948. }
  949. public function setEarlyPaymentSentAt(?\DateTimeInterface $earlyPaymentSentAt): self
  950. {
  951. $this->earlyPaymentSentAt = $earlyPaymentSentAt;
  952. return $this;
  953. }
  954. public function getData(): ?array
  955. {
  956. return $this->data;
  957. }
  958. public function setData(?array $data): self
  959. {
  960. $this->data = $data;
  961. return $this;
  962. }
  963. public function getTeacherReservations(): ArrayCollection
  964. {
  965. return $this->teacherReservations;
  966. }
  967. public function setTeacherReservations(ArrayCollection $teacherReservations): void
  968. {
  969. $this->teacherReservations = $teacherReservations;
  970. }
  971. }