using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Domain.IoTXiaoMiEntity
{
    /// <summary>
    /// 统⼀请求头
    /// </summary>
    public class Header
    {
    }
    /// <summary>
    /// 统⼀请求body
    /// </summary>
    public class Body
    {
        /// <summary>
        /// 该Id 由请求服务器⽣成，消息应答和信息请求中的requedtId 必须⼀致
        /// </summary>
        public string requestId { get; set; }
        /// <summary>
        /// 该属性由请求服务器发送，消息应答和信息请求中的intent 必须⼀致
        /// </summary>
        public string intent { get; set; }
        /// <summary>
        /// 根据请求接⼝的不同，内容也不同
        /// </summary>
        public Data data { get; set; }
    }
    /// <summary>
    /// 根据请求接⼝的不同，内容也不同
    /// </summary>
    public class Data
    {
        /// <summary>
        /// 为房间绑定的唯⼀⾳箱SN
        /// </summary>
        public string uniqueKey { get; set; }
    }
    /// <summary>
    /// 回复同步设备
    /// </summary>
    public class Response
    {
        /// <summary>
        /// 该Id 由请求服务器⽣成，消息应答和信息请求中的requedtId 必须⼀致
        /// </summary>
        public string requestId { get; set; }
        /// <summary>
        /// 该属性由请求服务器发送，消息应答和信息请求中的intent 必须⼀致
        /// </summary>
        public string intent { get; set; }
        /// <summary>
        /// 特殊情况会说明，未说明置空
        /// </summary>
        public string kind { get; set; }
        /// <summary>
        /// 设备信息
        /// </summary>
        public List<Device> devices { get; set; }
    }
    /// <summary>
    /// 设备信息
    /// </summary>
    public class Device
    {
        /// <summary>
        /// 枚举值："Scene", "Light", "AC", "Curtain", "TV", "Switch"
        /// </summary>
        public string deviceType { get; set; }
        /// <summary>
        /// did 即DeviceID，是设备的唯⼀标识符，必须是字符串，不能超过50个字符，该did由开发者⾃⾏设置，场景类型下，did对应场景ID，如 “SCENE-SWIMMING-18”
        /// </summary>
        public string did { get; set; }
        /// <summary>
        /// 产品的名称，该字段由开发者⾃⾏设置
        /// </summary>
        public string deviceName { get; set; }
        /// <summary>
        /// ⾃定义标识，如没有可传空，⾮场景类型下都为空串，场景类型下，personalize对应触发关键字，触发语句通过逗号分隔
        /// </summary>
        public string personalize { get; set; }
 
    }
    /// <summary>
    /// 统⼀错误
    /// </summary>
    public class Error
    {
        /// <summary>
        /// -101
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string description { get; set; }        
    }
}

