using System;
using System.Collections.Generic;

namespace DAL.New_Models;

public partial class TbHost
{
    public int Id { get; set; }

    public int? HotelId { get; set; }

    /// <summary>
    /// 主机编号
    /// </summary>
    public string? HostNumber { get; set; }

    /// <summary>
    /// 房间号
    /// </summary>
    public string? RoomNumber { get; set; }

    public string? Ip { get; set; }

    /// <summary>
    /// 子网掩码
    /// </summary>
    public string? SubnetMask { get; set; }

    /// <summary>
    /// 默认网关
    /// </summary>
    public string? Gateway { get; set; }

    /// <summary>
    /// 端口
    /// </summary>
    public int? Port { get; set; }

    public string? Mac { get; set; }

    /// <summary>
    /// 所属楼层
    /// </summary>
    public int? GroupId { get; set; }

    /// <summary>
    /// 房型
    /// </summary>
    public int? RoomTypeId { get; set; }

    /// <summary>
    /// 状态 0：离线 1：在线
    /// </summary>
    public bool? Status { get; set; }

    /// <summary>
    /// 版本号
    /// </summary>
    public string? Version { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    public string? Remark { get; set; }

    /// <summary>
    /// 注册日期
    /// </summary>
    public DateTime? RegisterDate { get; set; }

    /// <summary>
    /// 房态
    /// </summary>
    public int? RoomStatusId { get; set; }

    /// <summary>
    /// 身份
    /// </summary>
    public int? RoomCardId { get; set; }

    /// <summary>
    /// 门锁
    /// </summary>
    public bool? DoorLockStatus { get; set; }

    public DateTime? DoorLockStatusUpdateTime { get; set; }

    /// <summary>
    /// 保险箱：0关，1开，2未接保险箱
    /// </summary>
    public int? SafeStatus { get; set; }

    public short? HostTemp { get; set; }

    public string? ConfigVersion { get; set; }

    public bool? PowerSupply { get; set; }

    public int? AuthorizedHours { get; set; }

    public int? LockStatus { get; set; }

    public float? LockVoltage { get; set; }

    public string? ProductKey { get; set; }

    public string? DeviceName { get; set; }

    public string? DeviceSecret { get; set; }

    public string? IotId { get; set; }

    public bool? IsPublish { get; set; }

    public string? HostSecret { get; set; }

    public string? RokidWebhookUrl { get; set; }

    public string? XiaoDuCuid { get; set; }

    public bool? IsSyncRoomNumber { get; set; }

    public bool? IsAutoUpdate { get; set; }

    public string? Dns { get; set; }

    public string? TclskillId { get; set; }

    public string? Tclcuid { get; set; }

    public string? HuaWeiCuid { get; set; }

    public DateTime? MacbindDate { get; set; }

    public int? Iptype { get; set; }

    public DateTime? ExpireTime { get; set; }

    public string? Season { get; set; }

    public string? ServerIp { get; set; }

    public DateTime? RunTime { get; set; }

    public DateTime? SetExpireTime { get; set; }

    public bool? IsLock { get; set; }

    public int? ServerPort { get; set; }

    public string? LanIp { get; set; }

    public int? LanPort { get; set; }

    public DateTime? LastModifiedTime { get; set; }

    public string? XiaoMiCuid { get; set; }

    public string? Wxvalidate { get; set; }

    public string? Model { get; set; }

    public string? LauncherVersion { get; set; }

    public int? UpgradeStatus { get; set; }

    public DateTime? UpgradeTime { get; set; }

    public int? FrameNo { get; set; }

    public bool? IsDeleted { get; set; }

    public string? TianMaoCuid { get; set; }

    public DateTime? FrameNoTime { get; set; }

    public string? DisableStartTime { get; set; }

    public string? DisableEndTime { get; set; }

    public bool? IsWelcomeDisableTime { get; set; }

    public string? FcsLocationUuid { get; set; }

    public string? HiWeiCuid { get; set; }

    public virtual TbGroup? Group { get; set; }

    public virtual TbSysHotel? Hotel { get; set; }

    public virtual TbRoomCard? RoomCard { get; set; }

    public virtual TbRoomStatus? RoomStatus { get; set; }

    public virtual TbRoomType? RoomType { get; set; }

    public virtual ICollection<TbHostUpdateStatus> TbHostUpdateStatuses { get; set; } = new List<TbHostUpdateStatus>();

    public virtual ICollection<TbRoomService> TbRoomServices { get; set; } = new List<TbRoomService>();
}
