24 lines
623 B
PHP
24 lines
623 B
PHP
<?php
|
|
|
|
namespace App\Enum\Groups;
|
|
|
|
/**
|
|
* How a booking record came about — deliberately orthogonal to the status, which
|
|
* carries the lifecycle. The origin is set once when the record is created and
|
|
* never changes afterwards, so an accepted offer stays recognisable as one without
|
|
* the origin ever contradicting the status it has reached.
|
|
*/
|
|
enum AccommodationBookingOrigin: string
|
|
{
|
|
case Offer = 'offer';
|
|
case Direct = 'direct';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::Offer => 'Angebot',
|
|
self::Direct => 'Direktbuchung',
|
|
};
|
|
}
|
|
}
|