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

namespace XYY.Service.Standard.ChannelApi.PostNL.Model
{
    public class Assistlabel_item
    {
        /// <summary>
        /// 
        /// </summary>
        public string assistlabel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string receptacle_type { get; set; } = "BG";
        /// <summary>
        /// 
        /// </summary>
        public string format { get; set; } = "E";
        /// <summary>
        /// 
        /// </summary>
        public string product_code { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> items { get; set; }
    }

    public class ManifestRequestBody
    {
        /// <summary>
        /// 
        /// </summary>
        public string type { get; set; } = "ASSISTLABEL";
        /// <summary>
        /// 
        /// </summary>
        public Assistlabel_item assistlabel_item { get; set; }
    }

    public class Assistlabel_itemsItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string assistlabel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string receptacle_type { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string format { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> items { get; set; }
    }

    public class DetailsItem
    {
        /// <summary>
        /// 
        /// </summary>
        public List<string> manifest_codes { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<Assistlabel_itemsItem> assistlabel_items { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string url { get; set; }
    }

    public class ManifestData
    {
        /// <summary>
        /// 
        /// </summary>
        public List<DetailsItem> details { get; set; }
    }

    public class ManifestRequestResponse
    {
        /// <summary>
        /// 
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public ManifestData data { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Message message { get; set; }
    }


}
