<?php

declare(strict_types=1);

namespace Kylin\Pet\Models;

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

/**
 * 消毒记录
 *
 * 依据 GB/T 45204-2024《宠物寄养服务规范》第 6.1 条：
 * 消毒记录保留 ≥ 2 年（730 天）。
 *
 * @property int    $id
 * @property int    $boarding_id    寄养记录 ID
 * @property string $disinfected_at  消毒时间
 * @property string $disinfectant    消毒剂名称
 * @property string $operator        操作人
 * @property string $area            消毒区域
 */
class PetDisinfectionLog extends BaseModel
{
    protected $table = 'kylin_pet_disinfection_logs';

    protected $fillable = [
        'boarding_id', 'disinfected_at', 'disinfectant',
        'operator', 'area',
    ];

    protected $casts = [
        'disinfected_at' => 'datetime',
    ];

    public function boarding(): BelongsTo
    {
        return $this->belongsTo(PetBoarding::class, 'boarding_id');
    }
}