using Myshipping.Application.EDI.Dtos; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Myshipping.Application.EDI { /// /// ONE API订舱 /// public static class ONESoApiHelper { } /// /// ONE订舱传输对象 /// public class ONESoApiModel : BookingHelperBaseModel { /// /// 箱信息数组,箱型箱量等信息 /// public List boxInfos { get; set; } /// /// 货物信息数据,品名, 重量等信息 /// public CargoInfo cargoInfo { get; set; } /// /// 收发通等联系信息,按照网站规则, 只提供对应的名字即可, 但是需要与网站上一致 /// public ContactInfo contactInfo { get; set; } /// /// 约号相关信息,约号必填, namedAccount可不传, 但是必须与实际对应 /// public ContractInfo contractInfo { get; set; } /// /// 备注信息,数据字典, 部分参数目前不涉及, 只传备注文本即可 /// public RemarkInfo remarkInfo { get; set; } /// /// 路线信息,港口,船期等信息 /// public Routes routes { get; set; } /// /// 模板名字,保存为模板时这个字段必填 /// public string saveName { get; set; } /// /// 船期数据,船期查询的结果中选择的数据集, 原样上传 /// public object shipInfo { get; set; } } /// /// ONEBOxInfo,箱相关数据 /// public partial class OnebOxInfo { /// /// 箱型,每个箱类型对应自己可选的箱型, 需要做映射 /// public string boxSize { get; set; } /// /// 箱类型,每个箱类型对应自己可选的箱型, 需要做映射 /// public string boxType { get; set; } /// /// 箱量,当前箱型的总箱量 /// public long quantity { get; set; } /// /// SOC箱量,不能大于总箱量 /// public long? socQuantity { get; set; } } /// /// 货物信息数据,品名, 重量等信息 /// /// ONECargoInfo,货物相关信息 /// public partial class CargoInfo { /// /// 品名,需和网站上一致 /// public string commodity { get; set; } /// /// 返回的日期,精确到天, 可以不传 /// public string returnDate { get; set; } /// /// 重量,重量 /// public long weight { get; set; } /// /// 重量单位,重量单位 /// public string? weightUnit { get; set; } } /// /// 收发通等联系信息,按照网站规则, 只提供对应的名字即可, 但是需要与网站上一致 /// ONEContactInfo,联系人相关数据 /// public partial class ContactInfo { /// /// 收货人,可以不传 /// public string consigneeName { get; set; } /// /// 货代名,和网站上保值一致, 且已经在账户的通讯录中 /// public string forwarderName { get; set; } /// /// 发货人名字,和网站上保值一致, 且已经在账户的通讯录中 /// public string shipperName { get; set; } } /// /// 约号相关信息,约号必填, namedAccount可不传, 但是必须与实际对应 /// ONEContractInfo,客户约号信息 /// public partial class ContractInfo { /// /// 客户约号,必填,且应与网站数据一致 /// public string contractNo { get; set; } /// /// 约号对应的账户名,如果传则必须与网站一直, 不传则默认选择 Unable to find Named Account or Not Applicable /// public string namedAccount { get; set; } } /// /// 备注信息,数据字典, 部分参数目前不涉及, 只传备注文本即可 /// ONERemarkInfo,ONE订舱时备注信息 /// public partial class RemarkInfo { /// /// Booking Freight Forwarder Ref. No. /// public string bkgFFRefNo { get; set; } /// /// Booking Shipper Ref. No. /// public string bkgShRefNo { get; set; } /// /// Invoice Ref. No. /// public string invoiceRefNo { get; set; } /// /// Manual Booking Number /// public string manualBookingNo { get; set; } /// /// 订舱网点名 /// public string officeName { get; set; } /// /// S/I Freight Forwarder No. /// public string siFFNo { get; set; } /// /// S/I Shipper Ref. No. /// public string siSHRefNo { get; set; } /// /// 备注信息,备注信息, 默认为空 /// public string specialInstruction { get; set; } } /// /// 路线信息,港口,船期等信息 /// OneAutoRoutes,路线信息 /// public partial class Routes { /// /// 交货地,交货地, 与网站上应一致, 注意不要CY及DOOR信息, 运输方式有相关参数 /// public string destinationName { get; set; } /// /// 运送形态 /// public string? inboundHaulage { get; set; } /// /// 时间范围,按周计算, 取值范围2, 4, 6, 8 /// public string? numberOfWeeks { get; set; } /// /// 收货地,收货地, 与网站上应一致, 注意不要CY及DOOR信息, 运输方式有相关参数 /// public string originName { get; set; } /// /// 运送方式 /// public string? outboundHaulage { get; set; } /// /// 查询日期,默认为两天后 /// public string searchConditionDate { get; set; } } }