<?php

namespace App\Modules\Room\Domain;

use App\Modules\Shared\Domain\ValueObject\EnumValueObject;

class RoomStatus extends EnumValueObject
{

    public const DELETED = 0;
    public const INACTIVE = 1;
    public const PENDING = 2;
    public const RESERVED = 3;
    public const CONFIRMED = 4;
    public const PAYED = 5;

    public static function values(): array
    {
        return [
            self::DELETED,
            self::INACTIVE,
            self::PENDING,
            self::RESERVED,
            self::CONFIRMED,
            self::PAYED
        ];
    }

    public static function defaultValue()
    {
        return new self(self::PENDING);
    }

    public static function deletedValue()
    {
        return new self(self::DELETED);
    }

    public static function validValues(): array
    {
        return [
            self::PENDING,
            self::RESERVED,
            self::CONFIRMED,
            self::PAYED
        ];
    }
}
