<?php

namespace App\Enums;

enum BookingStatus: string
{
    case Enquiry = 'enquiry';
    case Provisional = 'provisional';
    case AwaitingApproval = 'awaiting_approval';
    case AwaitingDeposit = 'awaiting_deposit';
    case Confirmed = 'confirmed';
    case InProgress = 'in_progress';
    case Completed = 'completed';
    case Postponed = 'postponed';
    case Cancelled = 'cancelled';
    case NoShow = 'no_show';

    public function label(): string
    {
        return match ($this) {
            self::Enquiry => 'Enquiry',
            self::Provisional => 'Provisional',
            self::AwaitingApproval => 'Awaiting Approval',
            self::AwaitingDeposit => 'Awaiting Deposit',
            self::Confirmed => 'Confirmed',
            self::InProgress => 'In Progress',
            self::Completed => 'Completed',
            self::Postponed => 'Postponed',
            self::Cancelled => 'Cancelled',
            self::NoShow => 'No Show',
        };
    }
}
