namespace Oms.Application.Dtos.Orders;
///
/// 订单出参。
///
public class OrderOutput
{
///
/// 主键。
///
public int Id { get; set; }
///
/// 客户单号。
///
public string? ClientNo { get; set; }
///
/// 跟踪号。
///
public string? TrackNo { get; set; }
///
/// 服务商单号(下游 createOrderOne Data.serviceNo)。
///
public string? DownstreamServiceNo { get; set; }
///
/// 服务单号。
///
public string ServiceNo { get; set; } = string.Empty;
///
/// 产品编码。
///
public string? ProductCode { get; set; }
///
/// 销售产品名称。
///
public string? ProductName { get; set; }
///
/// 渠道编码。
///
public string? ChannelCode { get; set; }
///
/// 下游 API 服务商编码 supplierCode。
///
public string? DownstreamSupplierCode { get; set; }
///
/// 下游 itfx 应用 AppKey。
///
public string? DownstreamAppKey { get; set; }
///
/// 下游 itfx 应用 Id(用于运行时读取 AppSecret)。
///
public int? DownstreamAppId { get; set; }
///
/// 渠道预报编码 ForecastCode。
///
public string? ChannelForecastCode { get; set; }
///
/// 服务渠道名称。
///
public string? ChannelName { get; set; }
///
/// 收件国家/地区二字码。
///
public string? ConsigneeCountry { get; set; }
///
/// 收件国家/地区中文名称。
///
public string? ConsigneeCountryName { get; set; }
///
/// 货物属性。
///
public string? CargoAttribute { get; set; }
///
/// 仓库主键。
///
public int? WarehouseId { get; set; }
///
/// 仓库名称。
///
public string? Warehouse { get; set; }
///
/// 客户主键。
///
public int? CustomerId { get; set; }
///
/// 客户名称。
///
public string? CustomerName { get; set; }
///
/// 客户编码。
///
public string? CustomerCode { get; set; }
///
/// 订单来源。
///
public string? OrderSource { get; set; }
///
/// 预约揽收时间。
///
public DateTime? PickupTime { get; set; }
///
/// 发件地址簿 Id。
///
public int? CustomerSenderAddressId { get; set; }
///
/// 幂等请求标识。
///
public string? RequestId { get; set; }
///
/// 出口报关方式。
///
public string? ExportCustomsMode { get; set; }
///
/// 预报失败原因(草稿订单)。
///
public string? PredeclareFailReason { get; set; }
///
/// 待排货原因(排货或渠道买价未匹配,空表示已排货或无待办)。
///
public string? AllocationPendingReason { get; set; }
///
/// 申报币种。
///
public string? DeclaredCurrency { get; set; }
///
/// 申报总金额。
///
public decimal? DeclaredSum { get; set; }
///
/// 包裹数量。
///
public int? Quantity { get; set; }
///
/// 是否 COD。
///
public bool IsCod { get; set; }
///
/// COD 币种。
///
public string? CodCurrency { get; set; }
///
/// COD 金额。
///
public decimal? CodSum { get; set; }
///
/// 订单状态名称。
///
public string? OrderStatus { get; set; }
///
/// 状态。
///
public string Status { get; set; } = string.Empty;
///
/// 子状态 code:pending / processed。
///
public string? HandleStatus { get; set; }
///
/// 子状态名称。
///
public string? HandleStatusName { get; set; }
public string? IssueType { get; set; }
public string? IssueTypeName { get; set; }
public string? IssueTitle { get; set; }
public string? IssueContent { get; set; }
public int? IssueTemplateId { get; set; }
public string? IssueRemark { get; set; }
public DateTime? IssueTime { get; set; }
public string? ClaimType { get; set; }
public string? ClaimTypeName { get; set; }
public decimal? ClaimAmount { get; set; }
public string? ClaimCurrency { get; set; }
public string? ClaimReason { get; set; }
public DateTime? ClaimTime { get; set; }
public string? PreviousOrderStatus { get; set; }
///
/// 收货时间。
///
public DateTime? ReceiveTime { get; set; }
///
/// 发货时间。
///
public DateTime? ShipTime { get; set; }
///
/// 支付时间。
///
public DateTime? PayTime { get; set; }
///
/// 是否已支付。
///
public bool IsPaid { get; set; }
///
/// 签收时间。
///
public DateTime? SignTime { get; set; }
///
/// 是否拦截。
///
public bool IsIntercept { get; set; }
///
/// 是否偏远。
///
public bool IsRemote { get; set; }
///
/// 客户勾选附加服务字典 code 列表。
///
public List AdditionalServices { get; set; } = [];
///
/// 是否勾选保险附加服务。
///
public bool HasInsurance { get; set; }
///
/// 预报应收快照(入库不覆盖)。
///
public decimal? ForecastReceivableAmount { get; set; }
///
/// 预报应付快照(入库不覆盖)。
///
public decimal? ForecastPayableAmount { get; set; }
///
/// 创建时间。
///
public DateTime? CreateTime { get; set; }
///
/// 创建人。
///
public string? CreateBy { get; set; }
///
/// 更新时间。
///
public DateTime? UpdateTime { get; set; }
///
/// 更新人。
///
public string? UpdateBy { get; set; }
///
/// 寄件人信息。
///
public OrderSenderOutput? Sender { get; set; }
///
/// 收件人信息。
///
public OrderReceiverOutput? Receiver { get; set; }
///
/// 订单内件集合。
///
public List Items { get; set; } = [];
///
/// 重量明细集合。
///
public List WeightList { get; set; } = [];
///
/// 费用明细集合。
///
public List FeeList { get; set; } = [];
///
/// 计费重(优先收货行,其次预报行)。
///
public decimal? ChargeableWeight { get; set; }
///
/// 应收合计(当前有效应收费用之和)。
///
public decimal? ReceivableAmount { get; set; }
}