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

namespace XYY.Service.Standard.ChannelApi.CaiNiao
{
    #region 交航信息
    #region 入参
    public class AirlineParam
    {
        /// <summary>
        /// 
        /// </summary>
        public string flightNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime eta { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime etd { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string transitPortCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string toPortCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string fromPortCode { get; set; }
    }

    public class FailedParcelList
    {
        /// <summary>
        /// 
        /// </summary>
        public string orderCode { get; set; }
    }

    public class MawbFiles
    {
        /// <summary>
        /// 
        /// </summary>
        public string mawbFile { get; set; }
    }

    //public class BigBagList
    //{
    //    /// <summary>
    //    /// 
    //    /// </summary>
    //    public string bigBagTrackingNumber { get; set; }
    //}

    public class TransportRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public string cargoType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public double shipmentWeight { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public AirlineParam airlineParam { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public FailedParcelList failedParcelList { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string uldType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string locale { get; set; } = "zh_CN";
        /// <summary>
        /// 
        /// </summary>
        public string picUrls { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string uldNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string mawbNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string mawbPieces { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> mawbFiles { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> bigBagList { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string weightUnit { get; set; } = "Kg";
    }

    #endregion
    #region 出参
    public class TransportData
    {
        /// <summary>
        /// 
        /// </summary>
        public string warningCode { get; set; }
        /// <summary>
        /// 回告客户预清关风险：警告！距离航班起飞已小于6小时，预清关预留时间不足6小时可能导致清关时效降低
        /// </summary>
        public string warningMsg { get; set; }
    }

    public class TransportResult
    {
        /// <summary>
        /// 
        /// </summary>
        public TransportData data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string needRetry { get; set; }
        /// <summary>
        /// 系统异常
        /// </summary>
        public string errorMsg { get; set; }
    }

    #endregion
    #endregion
    #region 到达
    public class ArriveRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public DateTime atd { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string flightNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int timeZone { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string locale { get; set; } = "zh_CN";
        /// <summary>
        /// 
        /// </summary>
        public string mawbNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime ata { get; set; }
    }
    public class ArriveResult
    {
        /// <summary>
        /// 
        /// </summary>
        public string success { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string needRetry { get; set; }
        /// <summary>
        /// 系统异常
        /// </summary>
        public string errorMsg { get; set; }
    }

    #endregion
}
