src/StartPlatz/Bundle/StartupBundle/Entity/Batch.php line 14

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace App\StartPlatz\Bundle\StartupBundle\Entity;
  3. use DateTime;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use App\StartPlatz\Bundle\StartupBundle\Repository\BatchRepository;
  6. use App\StartPlatz\Bundle\MemberBundle\Entity\Team;
  7. #[ORM\Table(name'sp_batches')]
  8. #[ORM\UniqueConstraint(name'unique'columns: ['programId''slug'])]
  9. #[ORM\Entity(repositoryClassBatchRepository::class)]
  10. #[ORM\HasLifecycleCallbacks]
  11. class Batch
  12. {
  13.     #[ORM\Column(name'id'type'integer')]
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue(strategy'AUTO')]
  16.     private int|string|null $id null;
  17.     #[ORM\Column(name'programId'type'integer'nullabletrue)]
  18.     private int|string|null $programId null;
  19.     #[ORM\Column(name'eventId'type'integer'nullabletrue)]
  20.     private int|string|null $eventId null;
  21.     #[ORM\Column(name'productId'type'integer'nullabletrue)]
  22.     private int|string|null $productId null;
  23.     #[ORM\Column(name'batchNumber'type'string'length16nullabletrue)]
  24.     private ?string $batchNumber null;
  25.     #[ORM\Column(name'url'type'string'length255nullabletrue)]
  26.     private ?string $url null;
  27.     #[ORM\Column(name'name'type'string'length255nullabletrue)]
  28.     private ?string $name null;
  29.     #[ORM\Column(name'slug'type'string'length255nullabletrue)]
  30.     private ?string $slug null;
  31.     #[ORM\Column(name'alias'type'string'length255nullabletrue)]
  32.     private ?string $alias null;
  33.     #[ORM\Column(name'status'type'string'length64nullabletrue)]
  34.     private ?string $status null;
  35.     #[ORM\Column(name'focusStatus'type'string'length64nullabletrue)]
  36.     private ?string $focusStatus null;
  37.     #[ORM\Column(name'lang'type'string'length4nullabletrue)]
  38.     private ?string $lang null;
  39.     #[ORM\Column(name'priceInEuroCent'type'integer'nullabletrue)]
  40.     private int|string|null $priceInEuroCent null;
  41.     /** @deprecated Use taxBehavior instead ('inclusive'/'exclusive'). Kept for legacy readers. */
  42.     #[ORM\Column(name'isTaxIncluded'type'boolean'nullabletrue)]
  43.     private bool|int|null $isTaxIncluded null;
  44.     #[ORM\Column(name'discount100MemberTags'type'string'length255nullabletrue)]
  45.     private ?string $discount100MemberTags null;
  46.     #[ORM\Column(name'discount50MemberTags'type'string'length255nullabletrue)]
  47.     private ?string $discount50MemberTags null;
  48.     #[ORM\Column(name'discount20MemberTags'type'string'length255nullabletrue)]
  49.     private ?string $discount20MemberTags null;
  50.     #[ORM\Column(name'askForTeam'type'boolean'nullabletrue)]
  51.     private bool|int|null $askForTeam null;
  52.     #[ORM\Column(name'hasEvent'type'boolean'nullabletrue)]
  53.     private bool|int|null $hasEvent null;
  54.     #[ORM\Column(name'hasIncludeNewsletterPermission'type'boolean'nullabletrue)]
  55.     private bool|int|null $hasIncludeNewsletterPermission null;
  56.     #[ORM\Column(name'hasIncludeTermsConsent'type'boolean'nullabletrue)]
  57.     private bool|int|null $hasIncludeTermsConsent null;
  58.     #[ORM\Column(name'hasIncludeLinkedIn'type'boolean'nullabletrue)]
  59.     private bool|int|null $hasIncludeLinkedIn null;
  60.     #[ORM\Column(name'hasIncludePhone'type'boolean'nullabletrue)]
  61.     private bool|int|null $hasIncludePhone null;
  62.     #[ORM\Column(name'hasFollowUp'type'boolean'nullabletrue)]
  63.     private bool|int|null $hasFollowUp null;
  64.     #[ORM\Column(name'isNetworking'type'boolean'nullabletrue)]
  65.     private bool|int|null $isNetworking null;
  66.     #[ORM\Column(name'networkingRounds'type'smallint'nullabletrue)]
  67.     private int|string|null $networkingRounds null;
  68.     #[ORM\Column(name'isMultipleApplicationsPerMember'type'boolean'nullabletrue)]
  69.     private bool|int|null $isMultipleApplicationsPerMember null;
  70.     #[ORM\Column(name'isMultipleApplicationsPerTeam'type'boolean'nullabletrue)]
  71.     private bool|int|null $isMultipleApplicationsPerTeam null;
  72.     #[ORM\Column(name'isFutureEvent'type'boolean'nullabletrue)]
  73.     private bool|int|null $isFutureEvent null;
  74.     #[ORM\Column(name'visibility'type'string'length64nullabletrue)]
  75.     private ?string $visibility null;
  76.     #[ORM\Column(name'access'type'string'length64nullabletrue)]
  77.     private ?string $access null;
  78.     #[ORM\Column(name'tags'type'string'length255nullabletrue)]
  79.     private ?string $tags null;
  80.     #[ORM\Column(name'typeformLink'type'string'length255nullabletrue)]
  81.     private ?string $typeformLink null;
  82.     #[ORM\Column(name'zoomLink'type'string'length255nullabletrue)]
  83.     private ?string $zoomLink null;
  84.     #[ORM\Column(name'bgImageUrl'type'string'length255nullabletrue)]
  85.     private ?string $bgImageUrl null;
  86.     /**
  87.      * Datum/Zeit Felder für Multi-Batch Events
  88.      * Werden verwendet wenn Event als isMultiBatchEvent markiert ist
  89.      */
  90.     #[ORM\Column(name'startDate'type'datetime'nullabletrue)]
  91.     private ?DateTime $startDate null;
  92.     #[ORM\Column(name'endDate'type'datetime'nullabletrue)]
  93.     private ?DateTime $endDate null;
  94.     /**
  95.      * Stripe-Felder für Multi-Batch Events
  96.      * Jedes Batch kann eigene Stripe-Produkte haben
  97.      */
  98.     /** @deprecated Use stripePriceIdLive/stripePriceIdTest instead. Kept for legacy readers. */
  99.     #[ORM\Column(name'stripePriceId'type'string'length64nullabletrue)]
  100.     private ?string $stripePriceId null;
  101.     /** @deprecated Use stripeProductIdLive/stripeProductIdTest instead. Kept for legacy readers. */
  102.     #[ORM\Column(name'stripeProductId'type'string'length64nullabletrue)]
  103.     private ?string $stripeProductId null;
  104.     #[ORM\Column(name'stripeAccount'type'string'length64nullabletrue)]
  105.     private ?string $stripeAccount null;
  106.     /**
  107.      * Stripe Rework (B-125): Live/Test split + payment metadata
  108.      */
  109.     #[ORM\Column(name'stripePriceIdLive'type'string'length64nullabletrue)]
  110.     private ?string $stripePriceIdLive null;
  111.     #[ORM\Column(name'stripePriceIdTest'type'string'length64nullabletrue)]
  112.     private ?string $stripePriceIdTest null;
  113.     #[ORM\Column(name'stripeProductIdLive'type'string'length64nullabletrue)]
  114.     private ?string $stripeProductIdLive null;
  115.     #[ORM\Column(name'stripeProductIdTest'type'string'length64nullabletrue)]
  116.     private ?string $stripeProductIdTest null;
  117.     #[ORM\Column(name'taxBehavior'type'string'length16nullabletrue)]
  118.     private ?string $taxBehavior null;
  119.     #[ORM\Column(name'paymentProvider'type'string'length16nullabletrue)]
  120.     private ?string $paymentProvider null;
  121.     /**
  122.      * Discount-Regelungen für Multi-Batch Events
  123.      * Können pro Batch variieren
  124.      */
  125.     #[ORM\Column(name'isFreeForKiCampus'type'boolean'nullabletrue)]
  126.     private bool|int|null $isFreeForKiCampus null;
  127.     #[ORM\Column(name'isFreeForCommunity'type'boolean'nullabletrue)]
  128.     private bool|int|null $isFreeForCommunity null;
  129.     #[ORM\Column(name'registrationMode'type'string'length16options: ['default' => 'internal'])]
  130.     private string $registrationMode 'internal';
  131.     #[ORM\Column(name'externalRegistrationUrl'type'string'length255nullabletrue)]
  132.     private ?string $externalRegistrationUrl null;
  133.     #[ORM\Column(name'externalPlatform'type'string'length32nullabletrue)]
  134.     private ?string $externalPlatform null;
  135.     #[ORM\Column(name'registrationHeadline'type'string'length255nullabletrue)]
  136.     private ?string $registrationHeadline null;
  137.     #[ORM\Column(name'registrationSubtitle'type'text'nullabletrue)]
  138.     private ?string $registrationSubtitle null;
  139.     #[ORM\Column(name'registrationButtonText'type'string'length128nullabletrue)]
  140.     private ?string $registrationButtonText null;
  141.     #[ORM\Column(name'registrationRedirectUrl'type'string'length512nullabletrue)]
  142.     private ?string $registrationRedirectUrl null;
  143.     #[ORM\Column(name'lumaEventApiId'type'string'length128nullabletrue)]
  144.     private ?string $lumaEventApiId null;
  145.     #[ORM\Column(name'meetupEventId'type'string'length64nullabletrue)]
  146.     private ?string $meetupEventId null;
  147.     #[ORM\Column(name'meetupEventUrl'type'string'length255nullabletrue)]
  148.     private ?string $meetupEventUrl null;
  149.     #[ORM\Column(name'mailDesignTemplate'type'string'length255)]
  150.     private ?string $mailDesignTemplate null;
  151.     #[ORM\Column(name'senderMail'type'string'length255nullabletrue)]
  152.     private ?string $senderMail null;
  153.     #[ORM\Column(name'fromName'type'string'length255nullabletrue)]
  154.     private ?string $fromName null;
  155.     #[ORM\Column(name'recipientMonitoringMail'type'string'length255nullabletrue)]
  156.     private ?string $recipientMonitoringMail null;
  157.     #[ORM\Column(name'confirmationMailSubject'type'string'length255nullabletrue)]
  158.     private ?string $confirmationMailSubject null;
  159.     #[ORM\Column(name'confirmationMailContent'type'text'nullabletrue)]
  160.     private ?string $confirmationMailContent null;
  161.     #[ORM\Column(name'adminNotificationMailSubject'type'text'nullabletrue)]
  162.     private ?string $adminNotificationMailSubject null;
  163.     #[ORM\Column(name'adminNotificationMailContent'type'text'nullabletrue)]
  164.     private ?string $adminNotificationMailContent null;
  165.     #[ORM\Column(name'reminderMailTemplateId'type'integer'nullabletrue)]
  166.     private int|string|null $reminderMailTemplateId null;
  167.     #[ORM\Column(name'reminderSenderEmail'type'string'length255nullabletrue)]
  168.     private ?string $reminderSenderEmail null;
  169.     #[ORM\Column(name'reminderBulkMailId'type'integer'nullabletrue)]
  170.     private int|string|null $reminderBulkMailId null;
  171.     #[ORM\Column(name'reminderMailSendDate'type'datetime'nullabletrue)]
  172.     private ?DateTime $reminderMailSendDate null;
  173.     #[ORM\Column(name'reminderMailSubject'type'string'length255nullabletrue)]
  174.     private ?string $reminderMailSubject null;
  175.     #[ORM\Column(name'reminderMailContent'type'text'nullabletrue)]
  176.     private ?string $reminderMailContent null;
  177.     #[ORM\Column(name'$reminderMailStatus'type'string'length64nullabletrue)]
  178.     private ?string $reminderMailStatus null;
  179.     #[ORM\Column(name'surveyId'type'integer'nullabletrue)]
  180.     private int|string|null $surveyId null;
  181.     #[ORM\Column(name'surveyMailTemplateId'type'integer'nullabletrue)]
  182.     private int|string|null $surveyMailTemplateId null;
  183.     #[ORM\Column(name'surveyBulkMailId'type'integer'nullabletrue)]
  184.     private int|string|null $surveyBulkMailId null;
  185.     #[ORM\Column(name'template'type'string'length255nullabletrue)]
  186.     private ?string $template null;
  187.     #[ORM\Column(name'pageTemplate'type'string'length64nullabletrueoptions: ['default' => 'legacy'])]
  188.     private ?string $pageTemplate 'legacy';
  189.     #[ORM\Column(name'footerTemplate'type'string'length64nullabletrue)]
  190.     private ?string $footerTemplate null;
  191.     #[ORM\Column(name'email'type'string'length255nullabletrue)]
  192.     private ?string $email null;
  193.     #[ORM\Column(name'emailSubject'type'string'length255nullabletrue)]
  194.     private ?string $emailSubject null;
  195.     #[ORM\Column(name'emailContent'type'text'nullabletrue)]
  196.     private ?string $emailContent null;
  197.     #[ORM\Column(name'landingPageContent'type'text'nullabletrue)]
  198.     private ?string $landingPageContent null;
  199.     #[ORM\Column(name'landingPageDescription'type'text'nullabletrue)]
  200.     private ?string $landingPageDescription null;
  201.     #[ORM\Column(name'landingPageCss'type'text'nullabletrue)]
  202.     private ?string $landingPageCss null;
  203.     #[ORM\Column(name'landingPageJs'type'text'nullabletrue)]
  204.     private ?string $landingPageJs null;
  205.     #[ORM\Column(name'landingPageFooterTemplate'type'string'length255nullabletrue)]
  206.     private ?string $landingPageFooterTemplate null;
  207.     #[ORM\Column(name'landingPageSocialImage'type'string'length255nullabletrue)]
  208.     private ?string $landingPageSocialImage null;
  209.     #[ORM\Column(name'hasCustomPage'type'boolean'options: ['default' => false])]
  210.     private bool $hasCustomPage false;
  211.     #[ORM\Column(name'landingPageTitle'type'string'length255nullabletrue)]
  212.     private ?string $landingPageTitle null;
  213.     #[ORM\Column(name'landingPageTwig'type'text'nullabletrue)]
  214.     private ?string $landingPageTwig null;
  215.     #[ORM\Column(name'goToPage'type'string'length255nullabletrue)]
  216.     private ?string $goToPage null;
  217.     #[ORM\Column(name'phrasesDe'type'text'nullabletrue)]
  218.     private ?string $phrasesDe null;
  219.     #[ORM\Column(name'phrasesEn'type'text'nullabletrue)]
  220.     private ?string $phrasesEn null;
  221.     #[ORM\Column(name'settings'type'text'nullabletrue)]
  222.     private ?string $settings null;
  223.     #[ORM\Column(name'capacity'type'integer'nullabletrue)]
  224.     private ?int $capacity null;
  225.     #[ORM\Column(name'asssesmentDimensions'type'text'nullabletrue)]
  226.     private ?string $assessmentDimensions null;
  227.     #[ORM\Column(name'start'type'datetime'nullabletrue)]
  228.     private ?DateTime $start null;
  229.     #[ORM\Column(name'end'type'datetime'nullabletrue)]
  230.     private ?DateTime $end null;
  231.     #[ORM\Column(name'pitchTopic'type'string'length64nullabletrue)]
  232.     private ?string $pitchTopic null;
  233.     #[ORM\Column(name'pitchImageLink'type'string'length255nullabletrue)]
  234.     private ?string $pitchImageLink null;
  235.     #[ORM\Column(name'pitchVideoLink'type'string'length255nullabletrue)]
  236.     private ?string $pitchVideoLink null;
  237.     #[ORM\Column(name'pitchPartner'type'string'length255nullabletrue)]
  238.     private ?string $pitchPartner null;
  239.     #[ORM\Column(name'pitchPartnerId'type'integer'nullabletrue)]
  240.     private int|string|null $pitchPartnerId null;
  241.     #[ORM\Column(name'pitchDescription'type'text'nullabletrue)]
  242.     private ?string $pitchDescription null;
  243.     #[ORM\Column(name'followUpPageContent'type'text'nullabletrue)]
  244.     private ?string $followUpPageContent null;
  245.     #[ORM\Column(name'followUpPageDescription'type'text'nullabletrue)]
  246.     private ?string $followUpPageDescription null;
  247.     #[ORM\Column(name'followUpPageCss'type'text'nullabletrue)]
  248.     private ?string $followUpPageCss null;
  249.     #[ORM\Column(name'followUpPageJs'type'text'nullabletrue)]
  250.     private ?string $followUpPageJs null;
  251.     #[ORM\Column(name'followUpPageFooterTemplate'type'string'length255nullabletrue)]
  252.     private ?string $followUpPageFooterTemplate null;
  253.     #[ORM\Column(name'followUpPageTitle'type'string'length255nullabletrue)]
  254.     private ?string $followUpPageTitle null;
  255.     #[ORM\Column(name'followUpPageSocialImage'type'string'length255nullabletrue)]
  256.     private ?string $followUpPageSocialImage null;
  257.     #[ORM\Column(name'followUpDescription'type'text'nullabletrue)]
  258.     private ?string $followUpDescription null;
  259.     #[ORM\Column(name'followUpVideoLink'type'text'nullabletrue)]
  260.     private ?string $followUpVideoLink null;
  261.     #[ORM\Column(name'followUpPresentation'type'text'nullabletrue)]
  262.     private ?string $followUpPresentation null;
  263.     #[ORM\Column(name'followUpSkoolUrl'type'string'length512nullabletrue)]
  264.     private ?string $followUpSkoolUrl null;
  265.     #[ORM\Column(name'followUpWhatsAppUrl'type'string'length512nullabletrue)]
  266.     private ?string $followUpWhatsAppUrl null;
  267.     #[ORM\Column(name'followUpCtaText'type'string'length255nullabletrue)]
  268.     private ?string $followUpCtaText null;
  269.     #[ORM\Column(name'followUpCtaUrl'type'string'length512nullabletrue)]
  270.     private ?string $followUpCtaUrl null;
  271.     #[ORM\Column(name'followUpDocuments'type'json'nullabletrue)]
  272.     private ?array $followUpDocuments null;
  273.     #[ORM\Column(name'followUpPhotos'type'json'nullabletrue)]
  274.     private ?array $followUpPhotos null;
  275.     #[ORM\Column(name'followUpExtraLinks'type'json'nullabletrue)]
  276.     private ?array $followUpExtraLinks null;
  277.     #[ORM\Column(name'followUpChecklist'type'json'nullabletrue)]
  278.     private ?array $followUpChecklist null;
  279.     #[ORM\Column(name'pitchDate'type'date'nullabletrue)]
  280.     private ?DateTime $pitchDate null;
  281.     #[ORM\Column(name'pitchTime'type'time'nullabletrue)]
  282.     private ?DateTime $pitchTime null;
  283.     /**
  284.      * Vorpitch/Prepitch date for Rheinland Pitch selection process.
  285.      * Date when the prepitch session takes place.
  286.      */
  287.     #[ORM\Column(name'prepitchDate'type'date'nullabletrue)]
  288.     private ?DateTime $prepitchDate null;
  289.     #[ORM\Column(name'city'type'string'length255nullabletrue)]
  290.     private ?string $city null;
  291.     #[ORM\Column(name'applicationsCount'type'integer'nullabletrue)]
  292.     private int|string|null $applicationsCount null;
  293.     #[ORM\Column(name'startedCount'type'integer'nullabletrue)]
  294.     private int|string|null $startedCount null;
  295.     #[ORM\Column(name'appliedCount'type'integer'nullabletrue)]
  296.     private int|string|null $appliedCount null;
  297.     #[ORM\Column(name'approvedCount'type'integer'nullabletrue)]
  298.     private int|string|null $approvedCount null;
  299.     #[ORM\Column(name'rejectedCount'type'integer'nullabletrue)]
  300.     private int|string|null $rejectedCount null;
  301.     #[ORM\Column(name'$skoolWebhook'type'string'length256nullabletrue)]
  302.     private ?string $skoolWebhook null;
  303.     #[ORM\Column(name'zapierWebhook'type'string'length255nullabletrue)]
  304.     private ?string $zapierWebhook null;
  305.     #[ORM\Column(name'history'type'text'nullabletrue)]
  306.     private ?string $history null;
  307.     #[ORM\Column(name'createdAt'type'datetime'nullabletrue)]
  308.     private ?DateTime $createdAt null;
  309.     #[ORM\Column(name'lastModified'type'datetime'nullabletrue)]
  310.     private ?DateTime $lastModified null;
  311.     #[ORM\Column(name'lastChangeUser'type'string'length255nullabletrue)]
  312.     private ?string $lastChangeUser null;
  313.     #[ORM\ManyToOne(targetEntityProgram::class, inversedBy'batches')]
  314.     private ?Program $program null;
  315.     #[ORM\ManyToOne(targetEntityTeam::class)]
  316.     #[ORM\JoinColumn(name'assessmentTeamId'referencedColumnName'id')]
  317.     private ?Team $assessmentTeam null;
  318.     #[ORM\PrePersist]
  319.     public function onAdd(): void
  320.     {
  321.         $this->setCreatedAt(new DateTime('now'));
  322.     }
  323.     #[ORM\PrePersist]
  324.     #[ORM\PreUpdate]
  325.     public function onUpdate(): void
  326.     {
  327.         $this->setLastModified(new DateTime('now'));
  328.     }
  329.     /**
  330.      * Synchronize pitchDate with startDate for Multi-Batch Events
  331.      *
  332.      * NOTE: This method is kept for reference but disabled as a lifecycle callback.
  333.      * The sync should only happen for multi-batch events, but the entity cannot
  334.      * determine this without loading the Event relation. The sync is now handled
  335.      * explicitly in BatchController when appropriate.
  336.      *
  337.      * For batches that belong to multi-batch events (eventId set),
  338.      * the pitchDate should always match the date portion of startDate.
  339.      */
  340.     public function syncPitchDateWithStartDate(): void
  341.     {
  342.         // Only sync if batch belongs to a multi-batch event and startDate is set
  343.         if ($this->eventId && $this->startDate) {
  344.             // Create new DateTime with only the date part from startDate (no time)
  345.             $this->pitchDate \DateTime::createFromFormat('Y-m-d'$this->startDate->format('Y-m-d'));
  346.         }
  347.     }
  348.     /**
  349.      * Get id
  350.      *
  351.      * @return integer
  352.      */
  353.     public function getId()
  354.     {
  355.         return $this->id;
  356.     }
  357.     public function __clone()
  358.     {
  359.         if ($this->id) {
  360.             $this->id null;
  361.         }
  362.     }
  363.     /**
  364.      * @return int
  365.      */
  366.     public function getProgramId()
  367.     {
  368.         return $this->programId;
  369.     }
  370.     /**
  371.      * @param int $programId
  372.      */
  373.     public function setProgramId($programId): void
  374.     {
  375.         $this->programId $programId !== null ? (string) $programId null;
  376.     }
  377.     /**
  378.      * @return int
  379.      */
  380.     public function getEventId()
  381.     {
  382.         return $this->eventId;
  383.     }
  384.     /**
  385.      * @param int $eventId
  386.      */
  387.     public function setEventId($eventId): void
  388.     {
  389.         $this->eventId $eventId !== null ? (string) $eventId null;
  390.     }
  391.     /**
  392.      * @return int
  393.      */
  394.     public function getProductId()
  395.     {
  396.         return $this->productId;
  397.     }
  398.     /**
  399.      * @param int $productId
  400.      */
  401.     public function setProductId($productId): void
  402.     {
  403.         $this->productId $productId !== null ? (string) $productId null;
  404.     }
  405.     /**
  406.      * @return string
  407.      */
  408.     public function getBatchNumber()
  409.     {
  410.         return $this->batchNumber;
  411.     }
  412.     /**
  413.      * @param string $batchNumber
  414.      */
  415.     public function setBatchNumber($batchNumber): void
  416.     {
  417.         $this->batchNumber $batchNumber !== null ? (string) $batchNumber null;
  418.     }
  419.     /**
  420.      * @return string
  421.      */
  422.     public function getUrl()
  423.     {
  424.         return $this->url;
  425.     }
  426.     /**
  427.      * @param string $url
  428.      */
  429.     public function setUrl($url): void
  430.     {
  431.         $this->url $url !== null ? (string) $url null;
  432.     }
  433.     /**
  434.      * Set name
  435.      *
  436.      * @param string $name
  437.      *
  438.      * @return Batch
  439.      */
  440.     public function setName($name)
  441.     {
  442.         $this->name $name !== null ? (string) $name null;
  443.         return $this;
  444.     }
  445.     /**
  446.      * Get name
  447.      *
  448.      * @return string
  449.      */
  450.     public function getName()
  451.     {
  452.         return $this->name;
  453.     }
  454.     /**
  455.      * Set slug
  456.      *
  457.      * @param string $slug
  458.      *
  459.      * @return Batch
  460.      */
  461.     public function setSlug($slug)
  462.     {
  463.         $this->slug $slug !== null ? (string) $slug null;
  464.         return $this;
  465.     }
  466.     /**
  467.      * Get slug
  468.      *
  469.      * @return string
  470.      */
  471.     public function getSlug()
  472.     {
  473.         return $this->slug;
  474.     }
  475.     /**
  476.      * @return string
  477.      */
  478.     public function getAlias()
  479.     {
  480.         return $this->alias;
  481.     }
  482.     /**
  483.      * @param string $alias
  484.      */
  485.     public function setAlias($alias): void
  486.     {
  487.         $this->alias $alias !== null ? (string) $alias null;
  488.     }
  489.     /**
  490.      * @return string
  491.      */
  492.     public function getStatus()
  493.     {
  494.         return $this->status;
  495.     }
  496.     /**
  497.      * @param string $status
  498.      */
  499.     public function setStatus($status): void
  500.     {
  501.         $this->status $status !== null ? (string) $status null;
  502.     }
  503.     /**
  504.      * @return string
  505.      */
  506.     public function getFocusStatus()
  507.     {
  508.         return $this->focusStatus;
  509.     }
  510.     /**
  511.      * @param string $focusStatus
  512.      */
  513.     public function setFocusStatus($focusStatus): void
  514.     {
  515.         $this->focusStatus $focusStatus !== null ? (string) $focusStatus null;
  516.     }
  517.     /**
  518.      * @return string
  519.      */
  520.     public function getLang()
  521.     {
  522.         return $this->lang;
  523.     }
  524.     /**
  525.      * @param string $lang
  526.      */
  527.     public function setLang($lang): void
  528.     {
  529.         $this->lang $lang !== null ? (string) $lang null;
  530.     }
  531.     /**
  532.      * @return int
  533.      */
  534.     public function getPriceInEuroCent()
  535.     {
  536.         return $this->priceInEuroCent;
  537.     }
  538.     /**
  539.      * @param int $priceInEuroCent
  540.      */
  541.     public function setPriceInEuroCent($priceInEuroCent): void
  542.     {
  543.         $this->priceInEuroCent $priceInEuroCent !== null ? (string) $priceInEuroCent null;
  544.     }
  545.     /**
  546.      * @deprecated Use getTaxBehavior() instead
  547.      * @return bool|null
  548.      */
  549.     public function getIsTaxIncluded(): bool|int|null
  550.     {
  551.         return $this->isTaxIncluded;
  552.     }
  553.     /**
  554.      * @deprecated Use setTaxBehavior() instead
  555.      * @param bool|null $isTaxIncluded
  556.      */
  557.     public function setIsTaxIncluded(bool|int|null $isTaxIncluded): void
  558.     {
  559.         $this->isTaxIncluded $isTaxIncluded !== null ? (bool) $isTaxIncluded null;
  560.     }
  561.     /**
  562.      * @return string
  563.      */
  564.     public function getDiscount100MemberTags()
  565.     {
  566.         return $this->discount100MemberTags;
  567.     }
  568.     /**
  569.      * @param string $discount100MemberTags
  570.      */
  571.     public function setDiscount100MemberTags($discount100MemberTags): void
  572.     {
  573.         $this->discount100MemberTags $discount100MemberTags !== null ? (string) $discount100MemberTags null;
  574.     }
  575.     /**
  576.      * @return string
  577.      */
  578.     public function getDiscount50MemberTags()
  579.     {
  580.         return $this->discount50MemberTags;
  581.     }
  582.     /**
  583.      * @param string $discount50MemberTags
  584.      */
  585.     public function setDiscount50MemberTags($discount50MemberTags): void
  586.     {
  587.         $this->discount50MemberTags $discount50MemberTags !== null ? (string) $discount50MemberTags null;
  588.     }
  589.     /**
  590.      * @return string
  591.      */
  592.     public function getDiscount20MemberTags()
  593.     {
  594.         return $this->discount20MemberTags;
  595.     }
  596.     /**
  597.      * @param string $discount20MemberTags
  598.      */
  599.     public function setDiscount20MemberTags($discount20MemberTags): void
  600.     {
  601.         $this->discount20MemberTags $discount20MemberTags !== null ? (string) $discount20MemberTags null;
  602.     }
  603.     /**
  604.      * @return bool
  605.      */
  606.     public function hasEvent()
  607.     {
  608.         return $this->hasEvent;
  609.     }
  610.     /**
  611.      * @return bool
  612.      */
  613.     public function getHasIncludeNewsletterPermission()
  614.     {
  615.         return $this->hasIncludeNewsletterPermission;
  616.     }
  617.     /**
  618.      * @return bool
  619.      */
  620.     public function isHasIncludeNewsletterPermission()
  621.     {
  622.         return $this->hasIncludeNewsletterPermission;
  623.     }
  624.     /**
  625.      * @param bool $hasIncludeNewsletterPermission
  626.      */
  627.     public function setHasIncludeNewsletterPermission($hasIncludeNewsletterPermission): void
  628.     {
  629.         $this->hasIncludeNewsletterPermission $hasIncludeNewsletterPermission !== null ? (bool) $hasIncludeNewsletterPermission null;
  630.     }
  631.     /**
  632.      * @return bool
  633.      */
  634.     public function getHasIncludeTermsConsent()
  635.     {
  636.         return $this->hasIncludeTermsConsent;
  637.     }
  638.     /**
  639.      * @return bool
  640.      */
  641.     public function isHasIncludeTermsConsent()
  642.     {
  643.         return $this->hasIncludeTermsConsent;
  644.     }
  645.     /**
  646.      * @param bool $hasIncludeTermsConsent
  647.      */
  648.     public function setHasIncludeTermsConsent($hasIncludeTermsConsent): void
  649.     {
  650.         $this->hasIncludeTermsConsent $hasIncludeTermsConsent !== null ? (bool) $hasIncludeTermsConsent null;
  651.     }
  652.     /**
  653.      * @return bool
  654.      */
  655.     public function getHasIncludeLinkedIn()
  656.     {
  657.         return $this->hasIncludeLinkedIn;
  658.     }
  659.     /**
  660.      * @return bool
  661.      */
  662.     public function isHasIncludeLinkedIn()
  663.     {
  664.         return $this->hasIncludeLinkedIn;
  665.     }
  666.     /**
  667.      * @param bool $hasIncludeLinkedIn
  668.      */
  669.     public function setHasIncludeLinkedIn($hasIncludeLinkedIn): void
  670.     {
  671.         $this->hasIncludeLinkedIn $hasIncludeLinkedIn !== null ? (bool) $hasIncludeLinkedIn null;
  672.     }
  673.     /**
  674.      * @return bool
  675.      */
  676.     public function isHasIncludePhone()
  677.     {
  678.         return $this->hasIncludePhone;
  679.     }
  680.     /**
  681.      * @return bool
  682.      */
  683.     public function getHasIncludePhone()
  684.     {
  685.         return $this->hasIncludePhone;
  686.     }
  687.     /**
  688.      * @param bool $hasIncludePhone
  689.      */
  690.     public function setHasIncludePhone($hasIncludePhone): void
  691.     {
  692.         $this->hasIncludePhone $hasIncludePhone !== null ? (bool) $hasIncludePhone null;
  693.     }
  694.     
  695.     /**
  696.      * @return bool
  697.      */
  698.     public function getAskForTeam()
  699.     {
  700.         return $this->askForTeam;
  701.     }
  702.     /**
  703.      * @return bool
  704.      */
  705.     public function isAskForTeam()
  706.     {
  707.         return $this->askForTeam;
  708.     }
  709.     /**
  710.      * @param bool $askForTeam
  711.      */
  712.     public function setAskForTeam($askForTeam): void
  713.     {
  714.         $this->askForTeam $askForTeam !== null ? (bool) $askForTeam null;
  715.     }
  716.     /**
  717.      * @return bool
  718.      */
  719.     public function getHasEvent()
  720.     {
  721.         return $this->hasEvent;
  722.     }
  723.     /**
  724.      * @param bool $hasEvent
  725.      */
  726.     public function setHasEvent($hasEvent): void
  727.     {
  728.         $this->hasEvent $hasEvent !== null ? (bool) $hasEvent null;
  729.     }
  730.     /**
  731.      * @return bool
  732.      */
  733.     public function isHasFollowUp()
  734.     {
  735.         return $this->hasFollowUp;
  736.     }
  737.     /**
  738.      * @return bool
  739.      */
  740.     public function getHasFollowUp()
  741.     {
  742.         return $this->hasFollowUp;
  743.     }
  744.     /**
  745.      * @param bool $hasFollowUp
  746.      */
  747.     public function setHasFollowUp($hasFollowUp): void
  748.     {
  749.         $this->hasFollowUp $hasFollowUp !== null ? (bool) $hasFollowUp null;
  750.     }
  751.     
  752.     /**
  753.      * @return bool
  754.      */
  755.     public function isNetworking()
  756.     {
  757.         return $this->isNetworking;
  758.     }
  759.     /**
  760.      * @return bool
  761.      */
  762.     public function getIsNetworking()
  763.     {
  764.         return $this->isNetworking;
  765.     }
  766.     /**
  767.      * @param bool $isNetworking
  768.      */
  769.     public function setIsNetworking($isNetworking): void
  770.     {
  771.         $this->isNetworking $isNetworking !== null ? (bool) $isNetworking null;
  772.     }
  773.     /**
  774.      * @return int
  775.      */
  776.     public function getNetworkingRounds()
  777.     {
  778.         return $this->networkingRounds;
  779.     }
  780.     /**
  781.      * @param int $networkingRounds
  782.      */
  783.     public function setNetworkingRounds($networkingRounds): void
  784.     {
  785.         $this->networkingRounds $networkingRounds !== null ? (string) $networkingRounds null;
  786.     }
  787.     /**
  788.      * @return bool
  789.      */
  790.     public function isMultipleApplicationsPerMember()
  791.     {
  792.         return $this->isMultipleApplicationsPerMember;
  793.     }
  794.     /**
  795.      * @return bool
  796.      */
  797.     public function getIsMultipleApplicationsPerMember()
  798.     {
  799.         return $this->isMultipleApplicationsPerMember;
  800.     }
  801.     /**
  802.      * @param bool $isMultipleApplicationsPerMember
  803.      */
  804.     public function setIsMultipleApplicationsPerMember($isMultipleApplicationsPerMember): void
  805.     {
  806.         $this->isMultipleApplicationsPerMember $isMultipleApplicationsPerMember !== null ? (bool) $isMultipleApplicationsPerMember null;
  807.     }
  808.     /**
  809.      * @return bool
  810.      */
  811.     public function isMultipleApplicationsPerTeam()
  812.     {
  813.         return $this->isMultipleApplicationsPerTeam;
  814.     }
  815.     /**
  816.      * @return bool
  817.      */
  818.     public function getIsMultipleApplicationsPerTeam()
  819.     {
  820.         return $this->isMultipleApplicationsPerTeam;
  821.     }
  822.     /**
  823.      * @param bool $isMultipleApplicationsPerTeam
  824.      */
  825.     public function setIsMultipleApplicationsPerTeam($isMultipleApplicationsPerTeam): void
  826.     {
  827.         $this->isMultipleApplicationsPerTeam $isMultipleApplicationsPerTeam !== null ? (bool) $isMultipleApplicationsPerTeam null;
  828.     }
  829.     /**
  830.      * @return bool
  831.      */
  832.     public function isFutureEvent()
  833.     {
  834.         return $this->isFutureEvent;
  835.     }
  836.     /**
  837.      * @return bool
  838.      */
  839.     public function getIsFutureEvent()
  840.     {
  841.         return $this->isFutureEvent;
  842.     }
  843.     /**
  844.      * @param bool $isFutureEvent
  845.      */
  846.     public function setIsFutureEvent($isFutureEvent): void
  847.     {
  848.         $this->isFutureEvent $isFutureEvent !== null ? (bool) $isFutureEvent null;
  849.     }
  850.     /**
  851.      * @return string
  852.      */
  853.     public function getVisibility()
  854.     {
  855.         return $this->visibility;
  856.     }
  857.     /**
  858.      * @param string $visibility
  859.      */
  860.     public function setVisibility($visibility): void
  861.     {
  862.         $this->visibility $visibility !== null ? (string) $visibility null;
  863.     }
  864.     /**
  865.      * @return string
  866.      */
  867.     public function getAccess()
  868.     {
  869.         return $this->access;
  870.     }
  871.     /**
  872.      * @param string $access
  873.      */
  874.     public function setAccess($access): void
  875.     {
  876.         $this->access $access !== null ? (string) $access null;
  877.     }
  878.     /**
  879.      * @return string
  880.      */
  881.     public function getTags()
  882.     {
  883.         return $this->tags;
  884.     }
  885.     /**
  886.      * @param string $tags
  887.      */
  888.     public function setTags($tags): void
  889.     {
  890.         $this->tags $tags !== null ? (string) $tags null;
  891.     }
  892.     /**
  893.      * @return string
  894.      */
  895.     public function getTypeformLink()
  896.     {
  897.         return $this->typeformLink;
  898.     }
  899.     /**
  900.      * @param string $typeformLink
  901.      */
  902.     public function setTypeformLink($typeformLink): void
  903.     {
  904.         $this->typeformLink $typeformLink !== null ? (string) $typeformLink null;
  905.     }
  906.     /**
  907.      * @return string
  908.      */
  909.     public function getZoomLink()
  910.     {
  911.         return $this->zoomLink;
  912.     }
  913.     /**
  914.      * @param string $zoomLink
  915.      */
  916.     public function setZoomLink($zoomLink): void
  917.     {
  918.         $this->zoomLink $zoomLink !== null ? (string) $zoomLink null;
  919.     }
  920.     /**
  921.      * @return string
  922.      */
  923.     public function getBgImageUrl()
  924.     {
  925.         return $this->bgImageUrl;
  926.     }
  927.     /**
  928.      * @param string $bgImageUrl
  929.      */
  930.     public function setBgImageUrl($bgImageUrl): void
  931.     {
  932.         $this->bgImageUrl $bgImageUrl !== null ? (string) $bgImageUrl null;
  933.     }
  934.     /**
  935.      * Datum/Zeit Getter/Setter
  936.      */
  937.     public function getStartDate(): ?DateTime
  938.     {
  939.         return $this->startDate;
  940.     }
  941.     public function setStartDate(?DateTime $startDate): void
  942.     {
  943.         $this->startDate $startDate;
  944.     }
  945.     public function getEndDate(): ?DateTime
  946.     {
  947.         return $this->endDate;
  948.     }
  949.     public function setEndDate(?DateTime $endDate): void
  950.     {
  951.         $this->endDate $endDate;
  952.     }
  953.     /**
  954.      * Stripe Getter/Setter (Legacy)
  955.      */
  956.     /** @deprecated Use getStripePriceIdLive() */
  957.     public function getStripePriceId(): ?string
  958.     {
  959.         return $this->stripePriceId;
  960.     }
  961.     /** @deprecated Use setStripePriceIdLive() */
  962.     public function setStripePriceId(?string $stripePriceId): void
  963.     {
  964.         $this->stripePriceId $stripePriceId !== null ? (string) $stripePriceId null;
  965.     }
  966.     /** @deprecated Use getStripeProductIdLive() */
  967.     public function getStripeProductId(): ?string
  968.     {
  969.         return $this->stripeProductId;
  970.     }
  971.     /** @deprecated Use setStripeProductIdLive() */
  972.     public function setStripeProductId(?string $stripeProductId): void
  973.     {
  974.         $this->stripeProductId $stripeProductId !== null ? (string) $stripeProductId null;
  975.     }
  976.     public function getStripeAccount(): ?string
  977.     {
  978.         return $this->stripeAccount;
  979.     }
  980.     public function setStripeAccount($stripeAccount): void
  981.     {
  982.         $this->stripeAccount $stripeAccount !== null ? (string) $stripeAccount null;
  983.     }
  984.     /**
  985.      * Stripe Rework (B-125): Live/Test Getter/Setter
  986.      */
  987.     public function getStripePriceIdLive(): ?string
  988.     {
  989.         return $this->stripePriceIdLive;
  990.     }
  991.     public function setStripePriceIdLive(?string $stripePriceIdLive): void
  992.     {
  993.         $this->stripePriceIdLive $stripePriceIdLive !== null ? (string) $stripePriceIdLive null;
  994.     }
  995.     public function getStripePriceIdTest(): ?string
  996.     {
  997.         return $this->stripePriceIdTest;
  998.     }
  999.     public function setStripePriceIdTest(?string $stripePriceIdTest): void
  1000.     {
  1001.         $this->stripePriceIdTest $stripePriceIdTest !== null ? (string) $stripePriceIdTest null;
  1002.     }
  1003.     public function getStripeProductIdLive(): ?string
  1004.     {
  1005.         return $this->stripeProductIdLive;
  1006.     }
  1007.     public function setStripeProductIdLive(?string $stripeProductIdLive): void
  1008.     {
  1009.         $this->stripeProductIdLive $stripeProductIdLive !== null ? (string) $stripeProductIdLive null;
  1010.     }
  1011.     public function getStripeProductIdTest(): ?string
  1012.     {
  1013.         return $this->stripeProductIdTest;
  1014.     }
  1015.     public function setStripeProductIdTest(?string $stripeProductIdTest): void
  1016.     {
  1017.         $this->stripeProductIdTest $stripeProductIdTest !== null ? (string) $stripeProductIdTest null;
  1018.     }
  1019.     public function getTaxBehavior(): ?string
  1020.     {
  1021.         return $this->taxBehavior;
  1022.     }
  1023.     public function setTaxBehavior(?string $taxBehavior): void
  1024.     {
  1025.         $this->taxBehavior $taxBehavior;
  1026.     }
  1027.     public function getPaymentProvider(): ?string
  1028.     {
  1029.         return $this->paymentProvider;
  1030.     }
  1031.     public function setPaymentProvider(?string $paymentProvider): void
  1032.     {
  1033.         $this->paymentProvider $paymentProvider;
  1034.     }
  1035.     public function isStripePayment(): bool
  1036.     {
  1037.         return $this->paymentProvider === 'stripe';
  1038.     }
  1039.     public function isFreePayment(): bool
  1040.     {
  1041.         return $this->paymentProvider === 'free';
  1042.     }
  1043.     /**
  1044.      * Discount-Regelungen Getter/Setter
  1045.      */
  1046.     public function getIsFreeForKiCampus(): bool|int|null
  1047.     {
  1048.         return $this->isFreeForKiCampus;
  1049.     }
  1050.     public function isFreeForKiCampus(): bool|int|null
  1051.     {
  1052.         return $this->isFreeForKiCampus;
  1053.     }
  1054.     public function setIsFreeForKiCampus(bool|int|null $isFreeForKiCampus): void
  1055.     {
  1056.         $this->isFreeForKiCampus $isFreeForKiCampus !== null ? (bool) $isFreeForKiCampus null;
  1057.     }
  1058.     public function getIsFreeForCommunity(): bool|int|null
  1059.     {
  1060.         return $this->isFreeForCommunity;
  1061.     }
  1062.     public function isFreeForCommunity(): bool|int|null
  1063.     {
  1064.         return $this->isFreeForCommunity;
  1065.     }
  1066.     public function setIsFreeForCommunity(bool|int|null $isFreeForCommunity): void
  1067.     {
  1068.         $this->isFreeForCommunity $isFreeForCommunity !== null ? (bool) $isFreeForCommunity null;
  1069.     }
  1070.     public function getRegistrationMode(): string
  1071.     {
  1072.         return $this->registrationMode;
  1073.     }
  1074.     public function setRegistrationMode(string $registrationMode): void
  1075.     {
  1076.         $this->registrationMode $registrationMode;
  1077.     }
  1078.     public function isExternalRegistration(): bool
  1079.     {
  1080.         return $this->registrationMode === 'external';
  1081.     }
  1082.     public function getExternalRegistrationUrl(): ?string
  1083.     {
  1084.         return $this->externalRegistrationUrl;
  1085.     }
  1086.     public function setExternalRegistrationUrl(?string $externalRegistrationUrl): void
  1087.     {
  1088.         $this->externalRegistrationUrl $externalRegistrationUrl !== null ? (string) $externalRegistrationUrl null;
  1089.     }
  1090.     public function getExternalPlatform(): ?string
  1091.     {
  1092.         return $this->externalPlatform;
  1093.     }
  1094.     public function setExternalPlatform(?string $externalPlatform): void
  1095.     {
  1096.         $this->externalPlatform $externalPlatform !== null ? (string) $externalPlatform null;
  1097.     }
  1098.     public function getRegistrationHeadline(): ?string
  1099.     {
  1100.         return $this->registrationHeadline;
  1101.     }
  1102.     public function setRegistrationHeadline(?string $registrationHeadline): void
  1103.     {
  1104.         $this->registrationHeadline $registrationHeadline;
  1105.     }
  1106.     public function getRegistrationSubtitle(): ?string
  1107.     {
  1108.         return $this->registrationSubtitle;
  1109.     }
  1110.     public function setRegistrationSubtitle(?string $registrationSubtitle): void
  1111.     {
  1112.         $this->registrationSubtitle $registrationSubtitle;
  1113.     }
  1114.     public function getRegistrationButtonText(): ?string
  1115.     {
  1116.         return $this->registrationButtonText;
  1117.     }
  1118.     public function setRegistrationButtonText(?string $registrationButtonText): void
  1119.     {
  1120.         $this->registrationButtonText $registrationButtonText;
  1121.     }
  1122.     public function getRegistrationRedirectUrl(): ?string
  1123.     {
  1124.         return $this->registrationRedirectUrl;
  1125.     }
  1126.     public function setRegistrationRedirectUrl(?string $registrationRedirectUrl): void
  1127.     {
  1128.         $this->registrationRedirectUrl $registrationRedirectUrl;
  1129.     }
  1130.     public function getLumaEventApiId(): ?string
  1131.     {
  1132.         return $this->lumaEventApiId;
  1133.     }
  1134.     public function setLumaEventApiId(?string $lumaEventApiId): void
  1135.     {
  1136.         $this->lumaEventApiId $lumaEventApiId;
  1137.     }
  1138.     public function getMeetupEventId(): ?string
  1139.     {
  1140.         return $this->meetupEventId;
  1141.     }
  1142.     public function setMeetupEventId(?string $meetupEventId): void
  1143.     {
  1144.         $this->meetupEventId $meetupEventId;
  1145.     }
  1146.     public function getMeetupEventUrl(): ?string
  1147.     {
  1148.         return $this->meetupEventUrl;
  1149.     }
  1150.     public function setMeetupEventUrl(?string $meetupEventUrl): void
  1151.     {
  1152.         $this->meetupEventUrl $meetupEventUrl;
  1153.     }
  1154.     /**
  1155.      * @return string
  1156.      */
  1157.     public function getMailDesignTemplate()
  1158.     {
  1159.         return $this->mailDesignTemplate;
  1160.     }
  1161.     /**
  1162.      * @param string $mailDesignTemplate
  1163.      */
  1164.     public function setMailDesignTemplate($mailDesignTemplate): void
  1165.     {
  1166.         $this->mailDesignTemplate $mailDesignTemplate !== null ? (string) $mailDesignTemplate null;
  1167.     }
  1168.     /**
  1169.      * @return string
  1170.      */
  1171.     public function getSenderMail()
  1172.     {
  1173.         return $this->senderMail;
  1174.     }
  1175.     /**
  1176.      * @param string $senderMail
  1177.      */
  1178.     public function setSenderMail($senderMail): void
  1179.     {
  1180.         $this->senderMail $senderMail !== null ? (string) $senderMail null;
  1181.     }
  1182.     /**
  1183.      * @return string
  1184.      */
  1185.     public function getFromName()
  1186.     {
  1187.         return $this->fromName;
  1188.     }
  1189.     /**
  1190.      * @param string $fromName
  1191.      */
  1192.     public function setFromName($fromName): void
  1193.     {
  1194.         $this->fromName $fromName !== null ? (string) $fromName null;
  1195.     }
  1196.     /**
  1197.      * @return string
  1198.      */
  1199.     public function getRecipientMonitoringMail()
  1200.     {
  1201.         return $this->recipientMonitoringMail;
  1202.     }
  1203.     /**
  1204.      * @param string $recipientMonitoringMail
  1205.      */
  1206.     public function setRecipientMonitoringMail($recipientMonitoringMail): void
  1207.     {
  1208.         $this->recipientMonitoringMail $recipientMonitoringMail !== null ? (string) $recipientMonitoringMail null;
  1209.     }
  1210.     /**
  1211.      * @return string
  1212.      */
  1213.     public function getConfirmationMailSubject()
  1214.     {
  1215.         return $this->confirmationMailSubject;
  1216.     }
  1217.     /**
  1218.      * @param string $confirmationMailSubject
  1219.      */
  1220.     public function setConfirmationMailSubject($confirmationMailSubject): void
  1221.     {
  1222.         $this->confirmationMailSubject $confirmationMailSubject !== null ? (string) $confirmationMailSubject null;
  1223.     }
  1224.     /**
  1225.      * @return string
  1226.      */
  1227.     public function getConfirmationMailContent()
  1228.     {
  1229.         return $this->confirmationMailContent;
  1230.     }
  1231.     /**
  1232.      * @param string $confirmationMailContent
  1233.      */
  1234.     public function setConfirmationMailContent($confirmationMailContent): void
  1235.     {
  1236.         $this->confirmationMailContent $confirmationMailContent !== null ? (string) $confirmationMailContent null;
  1237.     }
  1238.     /**
  1239.      * @return string
  1240.      */
  1241.     public function getAdminNotificationMailSubject()
  1242.     {
  1243.         return $this->adminNotificationMailSubject;
  1244.     }
  1245.     /**
  1246.      * @param string $adminNotificationMailSubject
  1247.      */
  1248.     public function setAdminNotificationMailSubject($adminNotificationMailSubject): void
  1249.     {
  1250.         $this->adminNotificationMailSubject $adminNotificationMailSubject !== null ? (string) $adminNotificationMailSubject null;
  1251.     }
  1252.     /**
  1253.      * @return string
  1254.      */
  1255.     public function getAdminNotificationMailContent()
  1256.     {
  1257.         return $this->adminNotificationMailContent;
  1258.     }
  1259.     /**
  1260.      * @param string $adminNotificationMailContent
  1261.      */
  1262.     public function setAdminNotificationMailContent($adminNotificationMailContent): void
  1263.     {
  1264.         $this->adminNotificationMailContent $adminNotificationMailContent !== null ? (string) $adminNotificationMailContent null;
  1265.     }
  1266.     /**
  1267.      * @return int
  1268.      */
  1269.     public function getReminderMailTemplateId()
  1270.     {
  1271.         return $this->reminderMailTemplateId;
  1272.     }
  1273.     /**
  1274.      * @param int $reminderMailTemplateId
  1275.      */
  1276.     public function setReminderMailTemplateId($reminderMailTemplateId): void
  1277.     {
  1278.         $this->reminderMailTemplateId $reminderMailTemplateId !== null ? (string) $reminderMailTemplateId null;
  1279.     }
  1280.     /**
  1281.      * @return string
  1282.      */
  1283.     public function getReminderSenderEmail()
  1284.     {
  1285.         return $this->reminderSenderEmail;
  1286.     }
  1287.     /**
  1288.      * @param string $reminderSenderEmail
  1289.      */
  1290.     public function setReminderSenderEmail($reminderSenderEmail): void
  1291.     {
  1292.         $this->reminderSenderEmail $reminderSenderEmail !== null ? (string) $reminderSenderEmail null;
  1293.     }
  1294.     /**
  1295.      * @return int
  1296.      */
  1297.     public function getReminderBulkMailId()
  1298.     {
  1299.         return $this->reminderBulkMailId;
  1300.     }
  1301.     /**
  1302.      * @param int $reminderBulkMailId
  1303.      */
  1304.     public function setReminderBulkMailId($reminderBulkMailId): void
  1305.     {
  1306.         $this->reminderBulkMailId $reminderBulkMailId !== null ? (string) $reminderBulkMailId null;
  1307.     }
  1308.     /**
  1309.      * @return DateTime
  1310.      */
  1311.     public function getReminderMailSendDate()
  1312.     {
  1313.         return $this->reminderMailSendDate;
  1314.     }
  1315.     /**
  1316.      * @param DateTime $reminderMailSendDate
  1317.      */
  1318.     public function setReminderMailSendDate($reminderMailSendDate): void
  1319.     {
  1320.         $this->reminderMailSendDate $reminderMailSendDate;
  1321.     }
  1322.     /**
  1323.      * @return string
  1324.      */
  1325.     public function getReminderMailSubject()
  1326.     {
  1327.         return $this->reminderMailSubject;
  1328.     }
  1329.     /**
  1330.      * @param string $reminderMailSubject
  1331.      */
  1332.     public function setReminderMailSubject($reminderMailSubject): void
  1333.     {
  1334.         $this->reminderMailSubject $reminderMailSubject !== null ? (string) $reminderMailSubject null;
  1335.     }
  1336.     /**
  1337.      * @return string
  1338.      */
  1339.     public function getReminderMailContent()
  1340.     {
  1341.         return $this->reminderMailContent;
  1342.     }
  1343.     /**
  1344.      * @param string $reminderMailContent
  1345.      */
  1346.     public function setReminderMailContent($reminderMailContent): void
  1347.     {
  1348.         $this->reminderMailContent $reminderMailContent !== null ? (string) $reminderMailContent null;
  1349.     }
  1350.     /**
  1351.      * @return string
  1352.      */
  1353.     public function getReminderMailStatus()
  1354.     {
  1355.         return $this->reminderMailStatus;
  1356.     }
  1357.     /**
  1358.      * @param string $reminderMailStatus
  1359.      */
  1360.     public function setReminderMailStatus($reminderMailStatus): void
  1361.     {
  1362.         $this->reminderMailStatus $reminderMailStatus !== null ? (string) $reminderMailStatus null;
  1363.     }
  1364.     /**
  1365.      * @return int
  1366.      */
  1367.     public function getSurveyId()
  1368.     {
  1369.         return $this->surveyId;
  1370.     }
  1371.     /**
  1372.      * @param int $surveyId
  1373.      */
  1374.     public function setSurveyId($surveyId): void
  1375.     {
  1376.         $this->surveyId $surveyId !== null ? (string) $surveyId null;
  1377.     }
  1378.     /**
  1379.      * @return int
  1380.      */
  1381.     public function getSurveyMailTemplateId()
  1382.     {
  1383.         return $this->surveyMailTemplateId;
  1384.     }
  1385.     /**
  1386.      * @param int $surveyMailTemplateId
  1387.      */
  1388.     public function setSurveyMailTemplateId($surveyMailTemplateId): void
  1389.     {
  1390.         $this->surveyMailTemplateId $surveyMailTemplateId !== null ? (string) $surveyMailTemplateId null;
  1391.     }
  1392.     /**
  1393.      * @return int
  1394.      */
  1395.     public function getSurveyBulkMailId()
  1396.     {
  1397.         return $this->surveyBulkMailId;
  1398.     }
  1399.     /**
  1400.      * @param int $surveyBulkMailId
  1401.      */
  1402.     public function setSurveyBulkMailId($surveyBulkMailId): void
  1403.     {
  1404.         $this->surveyBulkMailId $surveyBulkMailId !== null ? (string) $surveyBulkMailId null;
  1405.     }
  1406.     /**
  1407.      * @return string
  1408.      */
  1409.     public function getTemplate()
  1410.     {
  1411.         return $this->template;
  1412.     }
  1413.     /**
  1414.      * @param string $template
  1415.      */
  1416.     public function setTemplate($template): void
  1417.     {
  1418.         $this->template $template !== null ? (string) $template null;
  1419.     }
  1420.     /**
  1421.      * @return string
  1422.      */
  1423.     public function getPageTemplate()
  1424.     {
  1425.         return $this->pageTemplate;
  1426.     }
  1427.     /**
  1428.      * @param string $pageTemplate
  1429.      */
  1430.     public function setPageTemplate($pageTemplate): void
  1431.     {
  1432.         $this->pageTemplate $pageTemplate !== null ? (string) $pageTemplate null;
  1433.     }
  1434.     /**
  1435.      * @return string
  1436.      */
  1437.     public function getFooterTemplate()
  1438.     {
  1439.         return $this->footerTemplate;
  1440.     }
  1441.     /**
  1442.      * @param string $footerTemplate
  1443.      */
  1444.     public function setFooterTemplate($footerTemplate): void
  1445.     {
  1446.         $this->footerTemplate $footerTemplate !== null ? (string) $footerTemplate null;
  1447.     }
  1448.     /**
  1449.      * @return string
  1450.      */
  1451.     public function getEmail()
  1452.     {
  1453.         return $this->email;
  1454.     }
  1455.     /**
  1456.      * @param string $email
  1457.      */
  1458.     public function setEmail($email): void
  1459.     {
  1460.         $this->email $email !== null ? (string) $email null;
  1461.     }
  1462.     /**
  1463.      * @return string
  1464.      */
  1465.     public function getEmailContent()
  1466.     {
  1467.         return $this->emailContent;
  1468.     }
  1469.     /**
  1470.      * @return string
  1471.      */
  1472.     public function getEmailSubject()
  1473.     {
  1474.         return $this->emailSubject;
  1475.     }
  1476.     /**
  1477.      * @param string $emailSubject
  1478.      */
  1479.     public function setEmailSubject($emailSubject): void
  1480.     {
  1481.         $this->emailSubject $emailSubject !== null ? (string) $emailSubject null;
  1482.     }
  1483.     /**
  1484.      * @param string $emailContent
  1485.      */
  1486.     public function setEmailContent($emailContent): void
  1487.     {
  1488.         $this->emailContent $emailContent !== null ? (string) $emailContent null;
  1489.     }
  1490.     /**
  1491.      * @return string
  1492.      */
  1493.     public function getLandingPageContent()
  1494.     {
  1495.         return $this->landingPageContent;
  1496.     }
  1497.     /**
  1498.      * @param string $landingPageContent
  1499.      */
  1500.     public function setLandingPageContent($landingPageContent): void
  1501.     {
  1502.         $this->landingPageContent $landingPageContent !== null ? (string) $landingPageContent null;
  1503.     }
  1504.     public function getLandingPageDescription(): ?string
  1505.     {
  1506.         return $this->landingPageDescription;
  1507.     }
  1508.     public function setLandingPageDescription($landingPageDescription): void
  1509.     {
  1510.         $this->landingPageDescription $landingPageDescription !== null ? (string) $landingPageDescription null;
  1511.     }
  1512.     public function getLandingPageCss(): ?string
  1513.     {
  1514.         return $this->landingPageCss;
  1515.     }
  1516.     public function setLandingPageCss($landingPageCss): void
  1517.     {
  1518.         $this->landingPageCss $landingPageCss !== null ? (string) $landingPageCss null;
  1519.     }
  1520.     public function getLandingPageJs(): ?string
  1521.     {
  1522.         return $this->landingPageJs;
  1523.     }
  1524.     public function setLandingPageJs($landingPageJs): void
  1525.     {
  1526.         $this->landingPageJs $landingPageJs !== null ? (string) $landingPageJs null;
  1527.     }
  1528.     public function getLandingPageFooterTemplate(): ?string
  1529.     {
  1530.         return $this->landingPageFooterTemplate;
  1531.     }
  1532.     public function setLandingPageFooterTemplate($landingPageFooterTemplate): void
  1533.     {
  1534.         $this->landingPageFooterTemplate $landingPageFooterTemplate !== null ? (string) $landingPageFooterTemplate null;
  1535.     }
  1536.     public function getLandingPageSocialImage(): ?string
  1537.     {
  1538.         return $this->landingPageSocialImage;
  1539.     }
  1540.     public function setLandingPageSocialImage($landingPageSocialImage): void
  1541.     {
  1542.         $this->landingPageSocialImage $landingPageSocialImage !== null ? (string) $landingPageSocialImage null;
  1543.     }
  1544.     public function getLandingPageTitle(): ?string
  1545.     {
  1546.         return $this->landingPageTitle;
  1547.     }
  1548.     public function setLandingPageTitle($landingPageTitle): void
  1549.     {
  1550.         $this->landingPageTitle $landingPageTitle !== null ? (string) $landingPageTitle null;
  1551.     }
  1552.     /**
  1553.      * @return string
  1554.      */
  1555.     public function getLandingPageTwig()
  1556.     {
  1557.         return $this->landingPageTwig;
  1558.     }
  1559.     /**
  1560.      * @param string $landingPageTwig
  1561.      */
  1562.     public function setLandingPageTwig($landingPageTwig): void
  1563.     {
  1564.         $this->landingPageTwig $landingPageTwig !== null ? (string) $landingPageTwig null;
  1565.     }
  1566.     public function hasCustomPage(): bool
  1567.     {
  1568.         return $this->hasCustomPage;
  1569.     }
  1570.     public function setHasCustomPage(bool $hasCustomPage): void
  1571.     {
  1572.         $this->hasCustomPage $hasCustomPage;
  1573.     }
  1574.     /**
  1575.      * @return string
  1576.      */
  1577.     public function getGoToPage()
  1578.     {
  1579.         return $this->goToPage;
  1580.     }
  1581.     /**
  1582.      * @param string $goToPage
  1583.      */
  1584.     public function setGoToPage($goToPage): void
  1585.     {
  1586.         $this->goToPage $goToPage !== null ? (string) $goToPage null;
  1587.     }
  1588.     /**
  1589.      * @return string
  1590.      */
  1591.     public function getPhrasesDe()
  1592.     {
  1593.         return $this->phrasesDe;
  1594.     }
  1595.     /**
  1596.      * @param string $phrasesDe
  1597.      */
  1598.     public function setPhrasesDe($phrasesDe): void
  1599.     {
  1600.         $this->phrasesDe $phrasesDe !== null ? (string) $phrasesDe null;
  1601.     }
  1602.     /**
  1603.      * @return string
  1604.      */
  1605.     public function getPhrasesEn()
  1606.     {
  1607.         return $this->phrasesEn;
  1608.     }
  1609.     /**
  1610.      * @param string $phrasesEn
  1611.      */
  1612.     public function setPhrasesEn($phrasesEn): void
  1613.     {
  1614.         $this->phrasesEn $phrasesEn !== null ? (string) $phrasesEn null;
  1615.     }
  1616.     /**
  1617.      * Event registration is open when the batch is active and the event day hasn't passed.
  1618.      * This is NOT the application window (start/end) used for program applications.
  1619.      */
  1620.     public function isEventRegistrationOpen(): bool
  1621.     {
  1622.         if ($this->status !== 'active') {
  1623.             return false;
  1624.         }
  1625.         $eventDate $this->startDate ?? $this->pitchDate;
  1626.         if (!$eventDate) {
  1627.             return false;
  1628.         }
  1629.         return $eventDate >= new \DateTime('today');
  1630.     }
  1631.     /**
  1632.      * Whether this batch belongs to an event (vs. a program like Accelerator/RP).
  1633.      * Based on the two-worlds rule: eventId set = event batch, eventId null = program batch.
  1634.      */
  1635.     public function isEventBatch(): bool
  1636.     {
  1637.         return $this->eventId !== null;
  1638.     }
  1639.     /**
  1640.      * @return DateTime
  1641.      */
  1642.     public function getStart()
  1643.     {
  1644.         return $this->start;
  1645.     }
  1646.     /**
  1647.      * @param DateTime $start
  1648.      */
  1649.     public function setStart($start): void
  1650.     {
  1651.         $this->start $start;
  1652.     }
  1653.     /**
  1654.      * @return DateTime
  1655.      */
  1656.     public function getEnd()
  1657.     {
  1658.         return $this->end;
  1659.     }
  1660.     /**
  1661.      * @param DateTime $end
  1662.      */
  1663.     public function setEnd($end): void
  1664.     {
  1665.         $this->end $end;
  1666.     }
  1667.     /**
  1668.      * @return String
  1669.      */
  1670.     public function getPitchTopic()
  1671.     {
  1672.         return $this->pitchTopic;
  1673.     }
  1674.     /**
  1675.      * @param String $pitchTopic
  1676.      */
  1677.     public function setPitchTopic($pitchTopic): void
  1678.     {
  1679.         $this->pitchTopic $pitchTopic !== null ? (string) $pitchTopic null;
  1680.     }
  1681.     /**
  1682.      * @return string
  1683.      */
  1684.     public function getPitchImageLink()
  1685.     {
  1686.         return $this->pitchImageLink;
  1687.     }
  1688.     /**
  1689.      * @param string $pitchImageLink
  1690.      */
  1691.     public function setPitchImageLink($pitchImageLink): void
  1692.     {
  1693.         $this->pitchImageLink $pitchImageLink !== null ? (string) $pitchImageLink null;
  1694.     }
  1695.     /**
  1696.      * @return string
  1697.      */
  1698.     public function getPitchVideoLink()
  1699.     {
  1700.         return $this->pitchVideoLink;
  1701.     }
  1702.     /**
  1703.      * @param string $pitchVideoLink
  1704.      */
  1705.     public function setPitchVideoLink($pitchVideoLink): void
  1706.     {
  1707.         $this->pitchVideoLink $pitchVideoLink !== null ? (string) $pitchVideoLink null;
  1708.     }
  1709.     /**
  1710.      * @return string
  1711.      */
  1712.     public function getPitchPartner()
  1713.     {
  1714.         return $this->pitchPartner;
  1715.     }
  1716.     /**
  1717.      * @param string $pitchPartner
  1718.      */
  1719.     public function setPitchPartner($pitchPartner): void
  1720.     {
  1721.         $this->pitchPartner $pitchPartner !== null ? (string) $pitchPartner null;
  1722.     }
  1723.     /**
  1724.      * @return int
  1725.      */
  1726.     public function getPitchPartnerId()
  1727.     {
  1728.         return $this->pitchPartnerId;
  1729.     }
  1730.     /**
  1731.      * @param int $pitchPartnerId
  1732.      */
  1733.     public function setPitchPartnerId($pitchPartnerId): void
  1734.     {
  1735.         $this->pitchPartnerId $pitchPartnerId !== null ? (string) $pitchPartnerId null;
  1736.     }
  1737.     /**
  1738.      * @return string
  1739.      */
  1740.     public function getPitchDescription()
  1741.     {
  1742.         return $this->pitchDescription;
  1743.     }
  1744.     /**
  1745.      * @param string $pitchDescription
  1746.      */
  1747.     public function setPitchDescription($pitchDescription): void
  1748.     {
  1749.         $this->pitchDescription $pitchDescription !== null ? (string) $pitchDescription null;
  1750.     }
  1751.     public function getFollowUpPageContent(): ?string
  1752.     {
  1753.         return $this->followUpPageContent;
  1754.     }
  1755.     public function setFollowUpPageContent($followUpPageContent): void
  1756.     {
  1757.         $this->followUpPageContent $followUpPageContent !== null ? (string) $followUpPageContent null;
  1758.     }
  1759.     public function getFollowUpPageDescription(): ?string
  1760.     {
  1761.         return $this->followUpPageDescription;
  1762.     }
  1763.     public function setFollowUpPageDescription($followUpPageDescription): void
  1764.     {
  1765.         $this->followUpPageDescription $followUpPageDescription !== null ? (string) $followUpPageDescription null;
  1766.     }
  1767.     public function getFollowUpPageCss(): ?string
  1768.     {
  1769.         return $this->followUpPageCss;
  1770.     }
  1771.     public function setFollowUpPageCss($followUpPageCss): void
  1772.     {
  1773.         $this->followUpPageCss $followUpPageCss !== null ? (string) $followUpPageCss null;
  1774.     }
  1775.     public function getFollowUpPageJs(): ?string
  1776.     {
  1777.         return $this->followUpPageJs;
  1778.     }
  1779.     public function setFollowUpPageJs($followUpPageJs): void
  1780.     {
  1781.         $this->followUpPageJs $followUpPageJs !== null ? (string) $followUpPageJs null;
  1782.     }
  1783.     public function getFollowUpPageFooterTemplate(): ?string
  1784.     {
  1785.         return $this->followUpPageFooterTemplate;
  1786.     }
  1787.     public function setFollowUpPageFooterTemplate($followUpPageFooterTemplate): void
  1788.     {
  1789.         $this->followUpPageFooterTemplate $followUpPageFooterTemplate !== null ? (string) $followUpPageFooterTemplate null;
  1790.     }
  1791.     public function getFollowUpPageTitle(): ?string
  1792.     {
  1793.         return $this->followUpPageTitle;
  1794.     }
  1795.     public function setFollowUpPageTitle($followUpPageTitle): void
  1796.     {
  1797.         $this->followUpPageTitle $followUpPageTitle !== null ? (string) $followUpPageTitle null;
  1798.     }
  1799.     public function getFollowUpPageSocialImage(): ?string
  1800.     {
  1801.         return $this->followUpPageSocialImage;
  1802.     }
  1803.     public function setFollowUpPageSocialImage($followUpPageSocialImage): void
  1804.     {
  1805.         $this->followUpPageSocialImage $followUpPageSocialImage !== null ? (string) $followUpPageSocialImage null;
  1806.     }
  1807.     /**
  1808.      * @return string
  1809.      */
  1810.     public function getFollowUpDescription()
  1811.     {
  1812.         return $this->followUpDescription;
  1813.     }
  1814.     /**
  1815.      * @param string $followUpDescription
  1816.      */
  1817.     public function setFollowUpDescription($followUpDescription): void
  1818.     {
  1819.         $this->followUpDescription $followUpDescription !== null ? (string) $followUpDescription null;
  1820.     }
  1821.     /**
  1822.      * @return string
  1823.      */
  1824.     public function getFollowUpVideoLink()
  1825.     {
  1826.         return $this->followUpVideoLink;
  1827.     }
  1828.     /**
  1829.      * @param string $followUpVideoLink
  1830.      */
  1831.     public function setFollowUpVideoLink($followUpVideoLink): void
  1832.     {
  1833.         $this->followUpVideoLink $followUpVideoLink !== null ? (string) $followUpVideoLink null;
  1834.     }
  1835.     /**
  1836.      * @return string
  1837.      */
  1838.     public function getFollowUpPresentation()
  1839.     {
  1840.         return $this->followUpPresentation;
  1841.     }
  1842.     /**
  1843.      * @param string $followUpPresentation
  1844.      */
  1845.     public function setFollowUpPresentation($followUpPresentation): void
  1846.     {
  1847.         $this->followUpPresentation $followUpPresentation !== null ? (string) $followUpPresentation null;
  1848.     }
  1849.     public function getFollowUpSkoolUrl(): ?string { return $this->followUpSkoolUrl; }
  1850.     public function setFollowUpSkoolUrl($followUpSkoolUrl): void $this->followUpSkoolUrl $followUpSkoolUrl !== null ? (string) $followUpSkoolUrl null; }
  1851.     public function getFollowUpWhatsAppUrl(): ?string { return $this->followUpWhatsAppUrl; }
  1852.     public function setFollowUpWhatsAppUrl($followUpWhatsAppUrl): void $this->followUpWhatsAppUrl $followUpWhatsAppUrl !== null ? (string) $followUpWhatsAppUrl null; }
  1853.     public function getFollowUpCtaText(): ?string { return $this->followUpCtaText; }
  1854.     public function setFollowUpCtaText($followUpCtaText): void $this->followUpCtaText $followUpCtaText !== null ? (string) $followUpCtaText null; }
  1855.     public function getFollowUpCtaUrl(): ?string { return $this->followUpCtaUrl; }
  1856.     public function setFollowUpCtaUrl($followUpCtaUrl): void $this->followUpCtaUrl $followUpCtaUrl !== null ? (string) $followUpCtaUrl null; }
  1857.     public function getFollowUpDocuments(): ?array { return $this->followUpDocuments; }
  1858.     public function setFollowUpDocuments(?array $followUpDocuments): void $this->followUpDocuments $followUpDocuments; }
  1859.     public function getFollowUpPhotos(): ?array { return $this->followUpPhotos; }
  1860.     public function setFollowUpPhotos(?array $followUpPhotos): void $this->followUpPhotos $followUpPhotos; }
  1861.     public function getFollowUpExtraLinks(): ?array { return $this->followUpExtraLinks; }
  1862.     public function setFollowUpExtraLinks(?array $followUpExtraLinks): void $this->followUpExtraLinks $followUpExtraLinks; }
  1863.     public function getFollowUpChecklist(): ?array { return $this->followUpChecklist; }
  1864.     public function setFollowUpChecklist(?array $followUpChecklist): void $this->followUpChecklist $followUpChecklist; }
  1865.     /**
  1866.      * @return DateTime
  1867.      */
  1868.     public function getPitchDate()
  1869.     {
  1870.         return $this->pitchDate;
  1871.     }
  1872.     /**
  1873.      * @param DateTime $pitchDate
  1874.      */
  1875.     public function setPitchDate($pitchDate): void
  1876.     {
  1877.         $this->pitchDate $pitchDate;
  1878.     }
  1879.     /**
  1880.      * @return DateTime|null
  1881.      */
  1882.     public function getPrepitchDate(): ?DateTime
  1883.     {
  1884.         return $this->prepitchDate;
  1885.     }
  1886.     /**
  1887.      * @param DateTime|null $prepitchDate
  1888.      */
  1889.     public function setPrepitchDate(?DateTime $prepitchDate): void
  1890.     {
  1891.         $this->prepitchDate $prepitchDate;
  1892.     }
  1893.     /**
  1894.      * @return DateTime
  1895.      */
  1896.     public function getPitchTime()
  1897.     {
  1898.         return $this->pitchTime;
  1899.     }
  1900.     /**
  1901.      * @param DateTime $pitchTime
  1902.      */
  1903.     public function setPitchTime($pitchTime): void
  1904.     {
  1905.         $this->pitchTime $pitchTime;
  1906.     }
  1907.     /**
  1908.      * @return string
  1909.      */
  1910.     public function getCity()
  1911.     {
  1912.         return $this->city;
  1913.     }
  1914.     /**
  1915.      * @param string $city
  1916.      */
  1917.     public function setCity($city): void
  1918.     {
  1919.         $this->city $city !== null ? (string) $city null;
  1920.     }
  1921.     /**
  1922.      * @return int
  1923.      */
  1924.     public function getApplicationsCount()
  1925.     {
  1926.         return $this->applicationsCount;
  1927.     }
  1928.     /**
  1929.      * @param int $applicationsCount
  1930.      */
  1931.     public function setApplicationsCount($applicationsCount): void
  1932.     {
  1933.         $this->applicationsCount $applicationsCount !== null ? (string) $applicationsCount null;
  1934.     }
  1935.     /**
  1936.      * @return int
  1937.      */
  1938.     public function getStartedCount()
  1939.     {
  1940.         return $this->startedCount;
  1941.     }
  1942.     /**
  1943.      * @param int $startedCount
  1944.      */
  1945.     public function setStartedCount($startedCount): void
  1946.     {
  1947.         $this->startedCount $startedCount !== null ? (string) $startedCount null;
  1948.     }
  1949.     /**
  1950.      * @return int
  1951.      */
  1952.     public function getAppliedCount()
  1953.     {
  1954.         return $this->appliedCount;
  1955.     }
  1956.     /**
  1957.      * @param int $appliedCount
  1958.      */
  1959.     public function setAppliedCount($appliedCount): void
  1960.     {
  1961.         $this->appliedCount $appliedCount !== null ? (string) $appliedCount null;
  1962.     }
  1963.     /**
  1964.      * @return int
  1965.      */
  1966.     public function getApprovedCount()
  1967.     {
  1968.         return $this->approvedCount;
  1969.     }
  1970.     /**
  1971.      * @param int $approvedCount
  1972.      */
  1973.     public function setApprovedCount($approvedCount): void
  1974.     {
  1975.         $this->approvedCount $approvedCount !== null ? (string) $approvedCount null;
  1976.     }
  1977.     /**
  1978.      * @return int
  1979.      */
  1980.     public function getRejectedCount()
  1981.     {
  1982.         return $this->rejectedCount;
  1983.     }
  1984.     /**
  1985.      * @param int $rejectedCount
  1986.      */
  1987.     public function setRejectedCount($rejectedCount): void
  1988.     {
  1989.         $this->rejectedCount $rejectedCount !== null ? (string) $rejectedCount null;
  1990.     }
  1991.     /**
  1992.      * @return string
  1993.      */
  1994.     public function getSettings()
  1995.     {
  1996.         return $this->settings;
  1997.     }
  1998.     /**
  1999.      * @param string $settings
  2000.      */
  2001.     public function setSettings($settings): void
  2002.     {
  2003.         $this->settings $settings !== null ? (string) $settings null;
  2004.     }
  2005.     public function getCapacity(): ?int
  2006.     {
  2007.         return $this->capacity;
  2008.     }
  2009.     public function setCapacity(?int $capacity): void
  2010.     {
  2011.         $this->capacity $capacity;
  2012.     }
  2013.     /**
  2014.      * @return string
  2015.      */
  2016.     public function getAssessmentDimensions()
  2017.     {
  2018.         return $this->assessmentDimensions;
  2019.     }
  2020.     /**
  2021.      * @param string $assessmentDimensions
  2022.      */
  2023.     public function setAssessmentDimensions($assessmentDimensions): void
  2024.     {
  2025.         $this->assessmentDimensions $assessmentDimensions !== null ? (string) $assessmentDimensions null;
  2026.     }
  2027.     public function getSkoolWebhook()
  2028.     {
  2029.         return $this->skoolWebhook;
  2030.     }
  2031.     public function setSkoolWebhook($skoolWebhook): void
  2032.     {
  2033.         $this->skoolWebhook $skoolWebhook !== null ? (string) $skoolWebhook null;
  2034.     }
  2035.     public function getZapierWebhook()
  2036.     {
  2037.         return $this->zapierWebhook;
  2038.     }
  2039.     public function setZapierWebhook($zapierWebhook): void
  2040.     {
  2041.         $this->zapierWebhook $zapierWebhook !== null ? (string) $zapierWebhook null;
  2042.     }
  2043.     /**
  2044.      * Set createdAt
  2045.      *
  2046.      * @param DateTime $createdAt
  2047.      *
  2048.      * @return Batch
  2049.      */
  2050.     public function setCreatedAt($createdAt)
  2051.     {
  2052.         $this->createdAt $createdAt;
  2053.         return $this;
  2054.     }
  2055.     /**
  2056.      * Get createdAt
  2057.      *
  2058.      * @return DateTime
  2059.      */
  2060.     public function getCreatedAt()
  2061.     {
  2062.         return $this->createdAt;
  2063.     }
  2064.     /**
  2065.      * Set lastModified
  2066.      *
  2067.      * @param DateTime $lastModified
  2068.      *
  2069.      * @return Batch
  2070.      */
  2071.     public function setLastModified($lastModified)
  2072.     {
  2073.         $this->lastModified $lastModified;
  2074.         return $this;
  2075.     }
  2076.     /**
  2077.      * Get lastModified
  2078.      *
  2079.      * @return DateTime
  2080.      */
  2081.     public function getLastModified()
  2082.     {
  2083.         return $this->lastModified;
  2084.     }
  2085.     /**
  2086.      * Set lastChangeUser
  2087.      *
  2088.      * @param string $lastChangeUser
  2089.      *
  2090.      * @return Batch
  2091.      */
  2092.     public function setLastChangeUser($lastChangeUser)
  2093.     {
  2094.         $this->lastChangeUser $lastChangeUser !== null ? (string) $lastChangeUser null;
  2095.         return $this;
  2096.     }
  2097.     /**
  2098.      * Get lastChangeUser
  2099.      *
  2100.      * @return string
  2101.      */
  2102.     public function getLastChangeUser()
  2103.     {
  2104.         return $this->lastChangeUser;
  2105.     }
  2106.     /**
  2107.      * @return string
  2108.      */
  2109.     public function getHistory()
  2110.     {
  2111.         return $this->history;
  2112.     }
  2113.     /**
  2114.      * @param string $history
  2115.      */
  2116.     public function setHistory($history): void
  2117.     {
  2118.         $this->history $history !== null ? (string) $history null;
  2119.     }
  2120.     
  2121.     /**
  2122.      * @return mixed
  2123.      */
  2124.     public function getProgram()
  2125.     {
  2126.         return $this->program;
  2127.     }
  2128.     /**
  2129.      * @param mixed program
  2130.      */
  2131.     public function setProgram($program): void
  2132.     {
  2133.         $this->program $program;
  2134.     }
  2135.     /**
  2136.      * @return mixed
  2137.      */
  2138.     public function getAssessmentTeam()
  2139.     {
  2140.         return $this->assessmentTeam;
  2141.     }
  2142.     public function setAssessmentTeam(mixed $assessmentTeam): void
  2143.     {
  2144.         $this->assessmentTeam $assessmentTeam;
  2145.     }
  2146.     public function __toString(): string
  2147.     {
  2148.         return $this->getName() ?: '';
  2149.     }
  2150. }