uuid = Uuid::v4()->toRfc4122(); } public function getId(): ?int { return $this->id; } public function getUuid(): string { return $this->uuid; } public function getAccommodation(): ?Accommodation { return $this->accommodation; } public function setAccommodation(?Accommodation $accommodation): self { $this->accommodation = $accommodation; return $this; } public function getDateFrom(): ?\DateTimeImmutable { return $this->dateFrom; } public function setDateFrom(\DateTimeImmutable $dateFrom): self { $this->dateFrom = $dateFrom; return $this; } public function getDateTo(): ?\DateTimeImmutable { return $this->dateTo; } public function setDateTo(\DateTimeImmutable $dateTo): self { $this->dateTo = $dateTo; return $this; } public function getNights(): int { if (null === $this->dateFrom || null === $this->dateTo) { return 0; } return $this->dateFrom->diff($this->dateTo)->days; } public function getPaxCount(): int { return $this->paxCount; } public function setPaxCount(int $paxCount): self { $this->paxCount = $paxCount; return $this; } public function getMinorsCount(): int { return $this->minorsCount; } public function setMinorsCount(int $minorsCount): self { $this->minorsCount = $minorsCount; return $this; } public function getChildrenCount(): int { return $this->childrenCount; } public function setChildrenCount(int $childrenCount): self { $this->childrenCount = $childrenCount; return $this; } public function getBoardServiceLabel(): ?string { return $this->boardServiceLabel; } public function setBoardServiceLabel(?string $boardServiceLabel): self { $this->boardServiceLabel = $boardServiceLabel; return $this; } public function getBoardServicePrice(): ?int { return $this->boardServicePrice; } public function setBoardServicePrice(?int $boardServicePrice): self { $this->boardServicePrice = $boardServicePrice; return $this; } public function getBoardServiceOriginalId(): ?int { return $this->boardServiceOriginalId; } public function setBoardServiceOriginalId(?int $boardServiceOriginalId): self { $this->boardServiceOriginalId = $boardServiceOriginalId; return $this; } public function getAdditionalServices(): array { return $this->additionalServices; } public function setAdditionalServices(array $additionalServices): self { $this->additionalServices = $additionalServices; return $this; } public function addAdditionalServiceSnapshot(string $label, int $price, AdditionalServiceType|string $type, ?int $originalServiceId): self { $this->additionalServices[] = [ 'label' => $label, 'price' => $price, 'type' => $type instanceof AdditionalServiceType ? $type->value : $type, 'originalServiceId' => $originalServiceId, ]; return $this; } public function isInquiry(): bool { return $this->isInquiry; } public function setIsInquiry(bool $isInquiry): self { $this->isInquiry = $isInquiry; return $this; } public function getAccessLinkIssuedAt(): ?\DateTimeImmutable { return $this->accessLinkIssuedAt; } public function setAccessLinkIssuedAt(?\DateTimeImmutable $accessLinkIssuedAt): self { $this->accessLinkIssuedAt = $accessLinkIssuedAt; return $this; } public function getAcceptedAt(): ?\DateTimeImmutable { return $this->acceptedAt; } public function setAcceptedAt(?\DateTimeImmutable $acceptedAt): self { $this->acceptedAt = $acceptedAt; return $this; } public function getGroupName(): ?string { return $this->groupName; } public function setGroupName(string $groupName): self { $this->groupName = $groupName; return $this; } public function getSalutation(): ?string { return $this->salutation; } public function setSalutation(?string $salutation): self { $this->salutation = $salutation; return $this; } public function getFirstName(): ?string { return $this->firstName; } public function setFirstName(string $firstName): self { $this->firstName = $firstName; return $this; } public function getLastName(): ?string { return $this->lastName; } public function setLastName(string $lastName): self { $this->lastName = $lastName; return $this; } public function getEmail(): ?string { return $this->email; } public function setEmail(string $email): self { $this->email = $email; return $this; } public function getPhone(): ?string { return $this->phone; } public function setPhone(?string $phone): self { $this->phone = $phone; return $this; } public function getStreet(): ?string { return $this->street; } public function setStreet(?string $street): self { $this->street = $street; return $this; } public function getZip(): ?string { return $this->zip; } public function setZip(?string $zip): self { $this->zip = $zip; return $this; } public function getCity(): ?string { return $this->city; } public function setCity(?string $city): self { $this->city = $city; return $this; } public function getRemarks(): ?string { return $this->remarks; } public function setRemarks(?string $remarks): self { $this->remarks = $remarks; return $this; } public function getDiscount(): ?int { return $this->discount; } public function setDiscount(?int $discount): self { $this->discount = $discount; return $this; } }