using System;

namespace MDL.DTOs
{
    /// <summary>
    /// 包含客户信息的标签替换请求DTO
    /// </summary>
    public class LabelReplaceWithCustomerDto
    {
        /// <summary>
        /// ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 提单号
        /// </summary>
        public string? BillOfLadingNumber { get; set; }

        /// <summary>
        /// 大包号
        /// </summary>
        public string? MasterPackageNumber { get; set; }

        /// <summary>
        /// 参考号
        /// </summary>
        public string? ReferenceNumber { get; set; }

        /// <summary>
        /// 中性面单单号
        /// </summary>
        public string NeutralWaybillNumber { get; set; }

        /// <summary>
        /// 尾程跟踪单号
        /// </summary>
        public string? FinalMileTrackingNumber { get; set; }

        /// <summary>
        /// 客户简称（CustomerCode）
        /// </summary>
        public string? CustomerCode { get; set; }

        /// <summary>
        /// 标签
        /// </summary>
        public string? Label { get; set; }

        /// <summary>
        /// 有无面单
        /// </summary>
        public bool HasLabel { get; set; }

        /// <summary>
        /// 换单完成时间
        /// </summary>
        public DateTime? ReplacedAt { get; set; }

        /// <summary>
        /// 换单状态
        /// </summary>
        public string ReplaceStatus { get; set; }

        /// <summary>
        /// 标签推送时间
        /// </summary>
        public DateTime? LabelRetrievedAt { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdatedAt { get; set; }
    }
}
