using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace XYY.Data.Model.Standard.Tracking
{
    /// <summary>
    /// 推送请求
    /// </summary>
    public class PostTrackingRequest
    {
        /// <summary>
        /// 运单号
        /// </summary>
        public string TrackingNumber
        {
            get; set;
        }

        /// <summary>
        /// 轨迹详情
        /// </summary>
        public List<PostTrackingRequestItem> List
        {
            get; set;
        }

        /// <summary>
        /// 最新状态
        /// </summary>
        public string Status
        {
            get; set;
        }

        /// <summary>
        /// 轨迹最后修改时间
        /// </summary>
        public DateTime? LastAlterTime
        {
            get; set;
        }

        /// <summary>
        /// 警告中文内容
        /// </summary>
        public string FailCNMessage
        {
            get; set;
        }

        /// <summary>
        /// 警告英文内容
        /// </summary>
        public string FailMessage
        {
            get; set;
        }

        /// <summary>
        /// 警告时间
        /// </summary>
        public DateTime? FailTime
        {
            get; set;
        }

        /// <summary>
        /// 最后一条轨迹时间
        /// </summary>
        public DateTime? LastGetTime
        {
            get; set;
        }

        /// <summary>
        /// 最后一条轨迹内容
        /// </summary>
        public string LastMessage
        {
            get; set;
        }

        /// <summary>
        /// 上网天数
        /// </summary>
        public int? OnlineDay
        {
            get; set;
        }

        /// <summary>
        /// 上网时间
        /// </summary>
        public DateTime? OnlineTime
        {
            get; set;
        }

        /// <summary>
        /// 预上网天数
        /// </summary>
        public int PreInternetAccessDay
        {
            get; set;
        }

        /// <summary>
        /// 预上网时间
        /// </summary>
        public DateTime? PreInternetAccessTime
        {
            get; set;
        }

        /// <summary>
        /// 是否推送异常邮件
        /// </summary>
        public int SendFialEmail
        {
            get; set;
        }

        /// <summary>
        /// 签收天数
        /// </summary>
        public int? SignDay
        {
            get; set;
        }

        /// <summary>
        /// 签收时间
        /// </summary>
        public DateTime? SignTime
        {
            get; set;
        }

        /// <summary>
        /// 状态描述
        /// </summary>
        public string StrStatus
        {
            get; set;
        }

        /// <summary>
        /// 抓取时间
        /// </summary>
        public DateTime? TargetTime
        {
            get; set;
        }

        /// <summary>
        /// 发货时间
        /// </summary>
        public DateTime? DeliveryTime
        {
            get; set;
        }

        public DateTime? Delivered
        {
            get; set;
        } 
    }

    /// <summary>
    /// 轨迹详情
    /// </summary>
    public class PostTrackingRequestItem
    {

        /// <summary>
        /// 事件时间
        /// </summary>
        public DateTime TragetTime
        {
            get; set;
        }

        /// <summary>
        /// 事件地点
        /// </summary>
        public string Location
        {
            get; set;
        }

        /// <summary>
        /// 事件描述
        /// </summary>
        public string Event
        {
            get; set;
        }
    }
}
