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

namespace XYY.Service.Standard.ChannelApi.EcoFarmNatural
{
    public class OrderDetails
    {
        /// <summary>
        /// 
        /// </summary>
        public string detailGoods { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string cityOrigin { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public decimal priceUnit { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string currency { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int num { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int serialNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public decimal weightKg { get; set; }
    }

    public class CreateOrderParamRoot
    {
        /// <summary>
        /// 
        /// </summary>
        public string privateKey { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string referenceNum { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consignor { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consignorPhone { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consignorAddr1 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consignorAddr2 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consignorPostCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneePhone { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeEmail { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeAddr1 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeAddr2 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeCompany { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeBuilding { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeCity { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneePostCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string consigneeCountry { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destination { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ddpDdu { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string packagesType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public decimal totalWeight { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int packageLength { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int packageWidth { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int packageHeight { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string overNight { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool signatureRequired { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<OrderDetails> orderDetails { get; set; }
    }

    public class RequestParamBase
    {
        public string privateKey { get; set; }
    }
    public class DownLabelRequestParam:RequestParamBase
    {
        public string labelCode { get; set; }
    }

    public class GetLabelCodeRequest : RequestParamBase
    {
        public string referenceNum { get; set; }
    }
}
