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

namespace XYY.Service.Standard.ChannelApi.HermesPUDO
{

    public class BarcodeObject
    {
        /// <summary>
        /// 
        /// </summary>
        public string barcode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string barcodeFormatted { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string barcodeSymbology { get; set; }
    }

    public class Import
    {
        /// <summary>
        /// 
        /// </summary>
        public List<string> destination { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> source { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> sortlevel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> info { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<BarcodeObject> barcodeObject { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string carrier { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string layoutVariant { get; set; }
    }

    public class Export
    {
        /// <summary>
        /// 
        /// </summary>
        public List<string> client { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string carrier { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string layoutVariant { get; set; }
    }

    public class LabelContent
    {
        /// <summary>
        /// 
        /// </summary>
        public string mode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Import import { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Export export { get; set; }
    }

    public class Signature
    {
    }

    public class RespHomeDelivery
    {
    }

    public class Tracking
    {
    }

    public class ConfirmedServices
    {
        /// <summary>
        /// 
        /// </summary>
        public Signature signature { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public RespHomeDelivery homeDelivery { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Tracking tracking { get; set; }
    }

    class TrackingInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public string shipmentId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string url { get; set; }
    }

    class RespDelivery
    {
        /// <summary>
        /// 
        /// </summary>
        public LabelContent labelContent { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string labelBase64 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string labelType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string orderId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<ConfirmedServices> confirmedServices { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TrackingInfo trackingInfo { get; set; }
    }

    class CreatePodResponse
    {
        /// <summary>
        /// 
        /// </summary>
        public RespDelivery delivery { get; set; }
    }
}
