using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Myshipping.Application { /// /// /// public class MSKAPIBookingDto { /// /// 请求接口账户KEY /// public string userKey { get; set; } /// /// 请求接口账户密钥 /// public string userSecret { get; set; } /// /// 运行环境(TEST, PRODUCTION) /// public string operatingEnvironment { get; set; } /// /// 马士基APPKey /// public string mskAppKey { get; set; } /// /// 马士基APP密钥 /// public string mskAppSecret { get; set; } /// /// 订舱数据集 /// public MSKAPIBookingBodyDto bookingBody { get; set; } } /// /// /// public class MSKAPIBookingBodyDto { /// /// 订舱基本数据 /// public MSKAPIBookingReferenceDto references { get; set; } /// /// 订舱人信息 /// public MSKAPIBookingMandatoryParties mandatoryParties { get; set; } /// /// 港口信息 /// public MSKAPIBookingTransport transport { get; set; } /// /// 货物信息 /// public MSKAPIBookingCargo cargo { get; set; } /// /// 设备及运输信息 /// public List equipmentAndHaulage { get; set; } } /// /// 订舱基本数据 /// public class MSKAPIBookingReferenceDto { /// /// 合同唯一id /// public string priceReference { get; set; } /// /// 产品类型(MaerskSpot, SealandSpot, MaerskContract) /// public string productCode { get; set; } /// /// 请求类别, 目前只能传 BOOKAPI /// public string sender { get; set; } /// /// 对应的产品类型 /// public string deliveryAgreementType { get; set; } /// /// Flag that indicates if the Spot Rate Product Offer is rollable. This flag is applicable to Spot bookings only /// public Nullable isRollable { get; set; } /// /// 是否接受接受即期条款和条件 /// public Nullable isSpotTermsAndConditionsAccepted { get; set; } /// /// 预定地点名称 /// public string bookingOfficeName { get; set; } /// /// 预定地点代码 /// public string bookingOfficeUNLocationCode { get; set; } } /// /// 订舱人信息 /// public class MSKAPIBookingMandatoryParties { /// /// 订舱公司名称 /// public string bookedByCompanyName { get; set; } /// /// 订舱公司地址信息 /// public MSKAPIBookingMandatoryPartyAddress bookedByCompanyAddress { get; set; } /// /// 订舱预定参考 /// public string bookedByPartyReference { get; set; } /// /// 承运人id,用于识别预定方 /// public string bookedByMaerskPartyCode { get; set; } /// /// 预定方联系信息 /// public MSKAPIBookingMandatoryPartyContact bookedByPartyContact { get; set; } /// /// 价格所有者公司名称 /// public string priceOwnerCompanyName { get; set; } /// /// 价格所有者公司地址信息 /// public MSKAPIBookingMandatoryPartyAddress priceOwnerCompanyAddress { get; set; } /// /// 价格可选参考 /// public string priceOwnerPartyReference { get; set; } /// /// 价格所有者id /// public string priceOwnerMaerskPartyCode { get; set; } /// /// 价格所有者联系人 /// public MSKAPIBookingMandatoryPartyContact priceOwnerPartyContact { get; set; } /// /// /// public Nullable isPriceOwnerFromServiceContractAccepted { get; set; } } /// /// 地址信息 /// public class MSKAPIBookingMandatoryPartyAddress { /// /// 街道号及名称 /// public string streetAddress { get; set; } /// /// 城市名 /// public string cityName { get; set; } /// /// 邮政编码 /// public string postalCode { get; set; } /// /// 马士基内部定义的地址id /// public string maerskDepotOrTerminalGeoId { get; set; } /// /// ISO国家代码 /// public string ISOcountryCode { get; set; } /// /// 出口SD服务的客户设施代码 /// public string customerFacilityCode { get; set; } } /// /// 联系人信息 /// public class MSKAPIBookingMandatoryPartyContact { /// /// 联系人姓名 /// public string name { get; set; } /// /// 邮箱 /// public string email { get; set; } /// /// 电话号码 /// public string phoneNumber { get; set; } } /// /// 港口信息 /// public class MSKAPIBookingTransport { /// /// 承运人代码(MAEU, SEAU, SEJJ, MCPU, MAEI) /// public string carrierCode { get; set; } /// /// 最早起运日期, 不可小于当前日期 /// public string earliestDepartureDate { get; set; } /// /// 出口服务类型(CY, SD, CFS) /// public string exportServiceMode { get; set; } /// /// 进口服务类型 /// public string importServiceMode { get; set; } /// /// 路线信息 /// public MSKAPIBookingRouteDetails routeDetails { get; set; } } /// /// /// public class MSKAPIBookingRouteDetails { /// /// 收货地信息 /// public MSKAPIBookingRouteDetailsBase placeOfReceipt { get; set; } /// /// 交货地 /// public MSKAPIBookingRouteDetailsBase placeOfDelivery { get; set; } /// /// 首选装货港 /// public MSKAPIBookingRouteDetailsBase preferredLoadPort { get; set; } /// /// 首选卸货港 /// public MSKAPIBookingRouteDetailsBase preferredDischargePort { get; set; } public MSKAPIBookingRoute selectedRoute { get; set; } } /// /// /// public class MSKAPIBookingRouteDetailsBase { /// /// UN地点代码, 目前采用这种策略 /// public string UNLocationCode { get; set; } /// /// 站点名称 /// public string siteName { get; set; } /// /// 城市名称 /// public string cityName { get; set; } /// /// 区域名 /// public string regionName { get; set; } /// /// ISO国家代码 /// public string ISOcountryCode { get; set; } /// /// 马士基城市id /// public string maerskCityGeoId { get; set; } /// /// 马士基站点id /// public string maerskSiteGeoId { get; set; } } /// /// /// public class MSKAPIBookingRoute { /// /// 根据特定的出发地和目的地为航线计划分配ID /// public string routeScheduleId { get; set; } /// /// 日历周序号 /// public Nullable weekNumber { get; set; } /// /// 路线id /// public string routeId { get; set; } /// /// 路线代码 /// public string routeCode { get; set; } /// /// 贸易航线名称 /// public string tradeLaneName { get; set; } /// /// ap Moller-Maersk A/S为专门为指定客户帐户创建的指定帐户海洋产品(NAP)分配的唯一ID /// public string namedAccountProductReference { get; set; } /// /// /// public MSKAPIBookingCardinalDirection cardinalDirection { get; set; } /// /// /// public List bookingSchedules { get; set; } /// /// 航行时间,分钟为单位 /// public string transitTime { get; set; } } /// /// /// public class MSKAPIBookingCardinalDirection { /// /// 方向代码(N, S, W, E) /// public string directionCode { get; set; } /// /// 方向名(NORTH, SOUTH, WEST, EAST) /// public string directionName { get; set; } } /// /// /// public class MSKAPIBookingSchedules { /// /// 路线唯一id /// public string routeLinkId { get; set; } /// /// 出发时间, ISO时间格式 /// public string originDepartureDateTimeLocal { get; set; } /// /// 到达时间, ISO时间格式 /// public string destinationArrivalDateTimeLocal { get; set; } /// /// /// public MSKAPIBookingTransportMode transportMode { get; set; } /// /// The time in minutes between the current route link and the next route link. /// public Nullable layoverTime { get; set; } /// /// Describes the type of route link(P, E, M, I, D, T ) /// public string routingType { get; set; } /// /// 运营商分配的业务代码 /// public string serviceCode { get; set; } /// /// 产品序列id /// public string routingSequence { get; set; } /// /// 出发地 /// public MSKAPIBookingRouteDetailsBase startLocation { get; set; } /// /// 目的地 /// public MSKAPIBookingRouteDetailsBase endLocation { get; set; } /// /// 承运人代码 /// public string inlandCarrierCode { get; set; } /// /// 可选的定期航空公司名称 /// public string carrierName { get; set; } /// /// 运输方式代码(BAR, BCO, DST, FEF, FEO, MVS, RCO, RR, SSH, TRK, VSF, VSL, VSM) /// public string transportModeCode { get; set; } /// /// 航行时间,分钟 /// public Nullable transitTime { get; set; } /// /// 航行时间单位 /// public string transitTimeUnits { get; set; } } /// /// 交通工具(船舶)信息 /// public class MSKAPIBookingTransportMode { /// /// 船舶信息 /// public MSKAPIBookingTransportModeVessel vessel { get; set; } /// /// 出口航次代码 /// public string exportVoyageNumber { get; set; } /// /// 进口航次代码 /// public string importVoyageNumber { get; set; } } /// /// /// public class MSKAPIBookingTransportModeVessel { /// /// 运营商分配的唯一的3个字符的代码 /// public string maerskVesselCode { get; set; } /// /// 船名 /// public string name { get; set; } /// /// 船舶所属的国家代号 /// public string flagCode { get; set; } /// /// 船舶所属的国家名称 /// public string flagName { get; set; } /// /// 船舶IMO号 /// public string vesselIMONumber { get; set; } /// /// 船舶的唯一字母数字标识 /// public string callSign { get; set; } /// /// 船舶建造的年份 /// public string buildYear { get; set; } } /// /// /// public class MSKAPIBookingCargo { /// /// 货物代码 /// public string commodityCode { get; set; } /// /// 货物代码类型, 目前只能传 MaerskCode /// public string commodityCodeType { get; set; } /// /// 货物类型, 箱型, 为REEFER 时, 需要上传reeferSettings参数中的温度,通风,湿度等(DRY, REEFER) /// public string cargoType { get; set; } /// /// 重量 /// public Nullable totalCargoWeight { get; set; } /// /// 重量单位(KGS, LBS) /// public string totalWeightMeasurementUnit { get; set; } /// /// 货物总体积 /// public Nullable totalCargoVolume { get; set; } /// /// 总体积单位(MTQ, FTQ) /// public string totalVolumeMeasurementUnit { get; set; } /// /// 冻柜相关配置 /// public MSKAPIBookingCargoReeferSettings reeferSettings { get; set; } } /// /// 货物信息 /// public class MSKAPIBookingCargoReeferSettings { /// /// 冷藏集装箱类型(STANDARD, MAGNUM, SUPER_FREEZER, STAR_CARE, STAR_FRESH) /// public string reeferContainerConfiguration { get; set; } /// /// 温度 /// public Nullable temperatureDetails { get; set; } /// /// 温度类型(F, C) /// public string temperatureMeasureUnit { get; set; } /// /// 温度探头的数量 /// public Nullable noOfProbes { get; set; } /// /// 通风 /// public Nullable ventilation { get; set; } /// /// 湿度 /// public Nullable humidity { get; set; } /// /// 是否需要冷处理 /// public Nullable isColdTreatmentRequired { get; set; } /// /// 是否需要发电机组 /// public Nullable isGensetOriginRequired { get; set; } /// /// 氧气百分比,此字段仅适用于StarCare或StarFresh冷藏箱类型 /// public Nullable o2Percentage { get; set; } /// /// 二氧化碳百分比,此字段仅适用于StarCare或StarFresh冷藏箱类型 /// public Nullable co2Percentage { get; set; } } /// /// /// public class MSKAPIBookingEquipmentAndHaulage { /// /// 设备详细信息 /// public MSKAPIBookingEquipmentAndHaulageItem equipmentDetails { get; set; } /// /// 装箱细节信息 /// public List stuffingDetails { get; set; } } /// /// 设备详细信息 /// public class MSKAPIBookingEquipmentAndHaulageItem { /// /// ISO箱型代码 /// (20T3, 22G1, 22H0, 22P1, 22R1, 22T3, 22U1, 22U3, 22V2, 25G1, 2928, 2CG1, 2EG1, 42G1, /// 42P0, 42P1, 42R1, 42T3, 42U1, 45G1, 45P3, 45R1, 45R9, 45U1, 4928, 49P0, 4CG1, 4EG1, /// L5G1, L5R1, LEG1) /// public string ISOEquipmentCode { get; set; } /// /// 箱量 /// public Nullable equipmentQuantity { get; set; } /// /// 集装箱标识号 /// public string shipperEquipmentReference { get; set; } /// /// 是否是托运人所有 /// public Nullable isShipperOwned { get; set; } /// /// 是否返场 /// public Nullable isImportReturned { get; set; } } /// /// /// public class MSKAPIBookingStuffingdetails { /// /// 箱计量单位(WEIGHT, VOLUME) /// public string stuffingMeasurementType { get; set; } /// /// 重量或者体积 /// public Nullable stuffingValue { get; set; } /// /// 重量或者体积的计量单位(KGS, LBS, MTQ, FTQ) /// public string stuffingMeasurementUnit { get; set; } } }