<?php
/**
 * BookiFlex Core
 *
 * @package    BookiFlex
 * @subpackage Core
 * @author     BookiFlex
 * @copyright  Copyright (c) 2025 BookiFlex
 * @license    GPL-2.0-or-later
 *
 * @link       https://bookiflex.com
 */


declare(strict_types=1);
namespace BookiFlex\Core\Model\Reservation\Event;

use BookiFlex\Core\Contract\DeferrerEvent\LatestEventInterface;
use BookiFlex\Core\Contract\DeferrerEvent\Trait\LatestEventTrait;

defined( 'ABSPATH' ) || exit;

class ReservationStatusWasChanged implements LatestEventInterface
{
    use LatestEventTrait;

    public function __construct(
        private readonly string $identifier,
        private readonly string $from,
        private readonly string $to,
        private readonly array $payload = []
    ) {
    }

    public function getFrom(): string
    {
        return $this->from;
    }

    public function getTo(): string
    {
        return $this->to;
    }

    public function getPayload(): array
    {
        return $this->payload;
    }
}
