feat: additional confirmation cycle and status for groups inquiries

This commit is contained in:
Björn Fromme
2026-08-18 12:48:17 +02:00
parent 5045846eed
commit 8dee65d0dc
28 changed files with 677 additions and 95 deletions
+27 -2
View File
@@ -94,6 +94,14 @@ class AccommodationBooking implements BlameableEntityInterface, TimestampableEnt
#[ORM\Column(type: Types::DATETIME_IMMUTABLE, nullable: true)]
private ?\DateTimeImmutable $acceptedAt = null;
/**
* When the office validated the requested services and capacities and released the
* booking confirmation to the customer — deliberately distinct from acceptedAt, which
* only records that the customer committed.
*/
#[ORM\Column(type: Types::DATETIME_IMMUTABLE, nullable: true)]
private ?\DateTimeImmutable $confirmedAt = null;
#[ORM\Column(length: 255, nullable: true)]
#[Assert\NotBlank(groups: ['edit'])]
private ?string $groupName = null;
@@ -373,9 +381,14 @@ class AccommodationBooking implements BlameableEntityInterface, TimestampableEnt
return AccommodationBookingStatus::Open === $this->status;
}
public function isAccepted(): bool
public function isReceived(): bool
{
return AccommodationBookingStatus::Accepted === $this->status;
return AccommodationBookingStatus::Received === $this->status;
}
public function isConfirmed(): bool
{
return AccommodationBookingStatus::Confirmed === $this->status;
}
public function isDiscarded(): bool
@@ -429,6 +442,18 @@ class AccommodationBooking implements BlameableEntityInterface, TimestampableEnt
return $this;
}
public function getConfirmedAt(): ?\DateTimeImmutable
{
return $this->confirmedAt;
}
public function setConfirmedAt(?\DateTimeImmutable $confirmedAt): self
{
$this->confirmedAt = $confirmedAt;
return $this;
}
public function getGroupName(): ?string
{
return $this->groupName;