<?php

declare(strict_types=1);

namespace Kylin\Library\Models;

use Illuminate\Database\Eloquent\Relations\HasMany;
use Kylin\Core\Models\BaseModel;

/**
 * 座位模型
 *
 * 依据《普通高等学校图书馆规程》：
 * 座位预约需合理限制，防止资源垄断。
 *
 * @property int    $id
 * @property string $seat_no        座位编号
 * @property string $area           区域
 * @property string $floor          楼层
 * @property string $status         状态（available/occupied/reserved/maintenance）
 */
class Seat extends BaseModel
{
    protected $table = 'kylin_library_seats';

    protected $fillable = [
        'seat_no', 'area', 'floor', 'status',
    ];

    /**
     * 座位预约记录
     */
    public function reservations(): HasMany
    {
        return $this->hasMany(SeatReservation::class, 'seat_id');
    }
}