user = $user; $this->bookingId = $bookingId; $this->travelDate = $travelDate; $this->formData = $formData; $this->createdAt = new \DateTimeImmutable(); $this->updatedAt = new \DateTimeImmutable(); } public function getId(): ?int { return $this->id; } public function getUser(): User { return $this->user; } public function getBookingId(): int { return $this->bookingId; } public function getBookingNumber(): ?int { return $this->bookingNumber; } public function setBookingNumber(?int $bookingNumber): static { $this->bookingNumber = $bookingNumber; return $this; } public function getTravelDate(): \DateTimeImmutable { return $this->travelDate; } public function setTravelDate(\DateTimeImmutable $travelDate): static { $this->travelDate = $travelDate; return $this; } public function getDateId(): ?int { return $this->dateId; } public function setDateId(?int $dateId): static { $this->dateId = $dateId; return $this; } public function getHotelId(): ?int { return $this->hotelId; } public function setHotelId(?int $hotelId): static { $this->hotelId = $hotelId; return $this; } /** * Checks if the draft has the required travel IDs for export functionality. */ public function hasExportData(): bool { return null !== $this->dateId && null !== $this->hotelId; } public function getFormData(): array { return $this->formData; } public function setFormData(array $formData): static { $this->formData = $formData; $this->updatedAt = new \DateTimeImmutable(); return $this; } public function getCreatedAt(): \DateTimeImmutable { return $this->createdAt; } public function getUpdatedAt(): \DateTimeImmutable { return $this->updatedAt; } }