You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

408 lines
11 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
/// <summary>
/// 马士基订舱请求
/// </summary>
public class MSKBookingDto
{
/// <summary>
/// 记录ID
/// </summary>
public Nullable<long> id { get; set; }
/// <summary>
/// 船公司代码
/// </summary>
public string carrierId { get; set; }
/// <summary>
/// 订舱ID
/// </summary>
public long bookingId { get; set; }
/// <summary>
/// 合同唯一id
/// </summary>
[RegularExpression("[a-zA-Z0-9_/,-]{1,50}",ErrorMessage = " [a-zA-Z0-9_/,-]{1,50}")]
public string priceReference { get; set; }
/// <summary>
/// 产品类型(MaerskSpot, SealandSpot, MaerskContract)
/// </summary>
public string productCode { get; set; }
/// <summary>
/// 请求类别, 目前只能传 BOOKAPI
/// </summary>
public string sender { get; set; }
/// <summary>
/// 订舱公司名称
/// </summary>
public string bookedByCompanyName { get; set; }
/// <summary>
/// 承运人id,用于识别预定方
/// </summary>
public string bookedByMaerskPartyCode { get; set; }
/// <summary>
/// 订舱公司名称联系人姓名
/// </summary>
public string bookedByCompanyContactName { get; set; }
/// <summary>
/// 订舱公司名称联系人邮箱
/// </summary>
public string bookedByCompanyContactEmail { get; set; }
/// <summary>
/// 订舱公司名称联系人电话号码
/// </summary>
public string bookedByCompanyContactPhone { get; set; }
/// <summary>
/// 当前订舱公司是否也是合约方 true-标识合约信息跟订舱公司一致false-标识有单独的合约方
/// </summary>
public bool isBookingPartOwnPrice { get; set; }
/// <summary>
/// 价格所有者公司名称
/// </summary>
public string priceOwnerCompanyName { get; set; }
/// <summary>
/// 价格所有者id
/// </summary>
public string priceOwnerMaerskPartyCode { get; set; }
/// <summary>
/// 价格所有者联系人姓名
/// </summary>
public string priceOwnerContactName { get; set; }
/// <summary>
/// 价格所有者联系人邮箱
/// </summary>
public string priceOwnerContactEmail { get; set; }
/// <summary>
/// 价格所有者联系人电话号码
/// </summary>
public string priceOwnerContactPhone { get; set; }
/// <summary>
/// 价格所有者合约号
/// </summary>
public string priceOwnerReference { get; set; }
/// <summary>
/// 价格所有者合约号主键
/// </summary>
public string priceOwnerReferenceId { get; set; }
/// <summary>
/// 价格所有者合约号名称
/// </summary>
public string priceOwnerReferenceName { get; set; }
/// <summary>
/// 承运人代码MAEU, SEAU, SEJJ, MCPU, MAEI
/// </summary>
public string carrierCode { get; set; }
/// <summary>
/// 最早起运日期, 不可小于当前日期
/// </summary>
public Nullable<DateTime> earliestDepartureDate { get; set; }
/// <summary>
/// 出口服务类型(CY, SD, CFS)
/// </summary>
public string exportServiceMode { get; set; }
/// <summary>
/// 进口服务类型
/// </summary>
public string importServiceMode { get; set; }
/// <summary>
/// 收货地UN地点代码
/// </summary>
public string placeOfReceiptUnLocCode { get; set; }
/// <summary>
/// 收货地城市英文名称
/// </summary>
public string placeOfReceiptCityName { get; set; }
/// <summary>
/// 收货地国家代码
/// </summary>
public string placeOfReceiptCountryCode { get; set; }
/// <summary>
/// 交货地UN地点代码
/// </summary>
public string placeOfDeliveryUnLocCode { get; set; }
/// <summary>
/// 交货地城市英文名称
/// </summary>
public string placeOfDeliveryCityName { get; set; }
/// <summary>
/// 交货地国家代码
/// </summary>
public string placeOfDeliveryCountryCode { get; set; }
/// <summary>
/// 出发时间, ISO时间格式
/// </summary>
public Nullable<DateTime> originDepartureDateTimeLocal { get; set; }
/// <summary>
/// 到达时间, ISO时间格式
/// </summary>
public Nullable<DateTime> destinationArrivalDateTimeLocal { get; set; }
/// <summary>
/// 是否冷冻处理
/// </summary>
public bool isReefer { get; set; } = false;
/// <summary>
/// 温度探头的数量
/// </summary>
public Nullable<int> noOfProbes { get; set; }
/// <summary>
/// 温度
/// </summary>
public Nullable<decimal> temperature { get; set; }
/// <summary>
/// 通风
/// </summary>
[Range(0,285)]
public Nullable<int> ventilation { get; set; }
/// <summary>
/// 湿度
/// </summary>
public Nullable<int> humidity { get; set; }
/// <summary>
/// 货物代码
/// </summary>
[RegularExpression("^[0-9]{6}$",ErrorMessage = "6")]
public string commodityCode { get; set; }
/// <summary>
/// 货物名称
/// </summary>
public string commodityName { get; set; }
/// <summary>
/// 货物类型, 箱型, 为REEFER 时, 需要上传reeferSettings参数中的温度,通风,湿度等(DRY, REEFER)
/// </summary>
public string cargoType { get; set; }
/// <summary>
/// 重量
/// </summary>
public Nullable<int> totalCargoWeight { get; set; }
/// <summary>
/// 货物总体积
/// </summary>
public Nullable<decimal> totalCargoVolume { get; set; }
/// <summary>
/// 货物代码类型, 目前只能传 MaerskCode
/// </summary>
public string commodityCodeType { get; set; }
/// <summary>
/// 船名代码
/// </summary>
public string carrierVesselCode { get; set; }
/// <summary>
/// 船名
/// </summary>
public string vesselName { get; set; }
/// <summary>
/// 航次号
/// </summary>
public string exportVoyageNumber { get; set; }
/// <summary>
/// 运输方式(BAR, BCO, DST, FEF, FEO, MVS, RCO, RR, SSH, TRK, VSF, VSL, VSM)
/// </summary>
public string transportMode { get; set; }
/// <summary>
/// 预计航行天数
/// </summary>
public Nullable<int> EstSailingDays { get; set; }
/// <summary>
/// 合约号主键
/// </summary>
public Nullable<long> priceReferenceId { get; set; }
/// <summary>
/// 合约号名称
/// </summary>
public string priceReferenceName { get; set; }
/// <summary>
/// 我希望使用托运人自己的集装箱
/// </summary>
public bool isShipperOwned { get; set; }
/// <summary>
/// 我想使用进口退货集装箱或者其他三角集运选项
/// </summary>
public bool isImportReturned { get; set; }
/// <summary>
/// 查询船期ID
/// </summary>
public string carrierProductId { get; set; }
/// <summary>
/// 是否不使用船期表订舱
/// </summary>
public bool isSendNoSchedule { get; set; } = false;
/// <summary>
/// 收货地国家名称
/// </summary>
public string placeOfReceiptCountryName { get; set; }
/// <summary>
/// 收货地行政名称
/// </summary>
public string placeOfReceiptRegionName { get; set; }
/// <summary>
/// 交货地国家名称
/// </summary>
public string placeOfDeliveryCountryName { get; set; }
/// <summary>
/// 交货地行政名称
/// </summary>
public string placeOfDeliveryRegionName { get; set; }
/// <summary>
/// 用户录入收货地UN地点代码
/// </summary>
public string userPlaceOfReceiptUnLocCode { get; set; }
/// <summary>
/// 用户录入收货地城市英文名称
/// </summary>
public string userPlaceOfReceiptCityName { get; set; }
/// <summary>
/// 用户录入收货地国家代码
/// </summary>
public string userPlaceOfReceiptCountryCode { get; set; }
// <summary>
/// 用户录入收货地国家名称
/// </summary>
public string userPlaceOfReceiptCountryName { get; set; }
/// <summary>
/// 用户录入收货地行政名称
/// </summary>
public string userPlaceOfReceiptRegionName { get; set; }
/// <summary>
/// 用户录入交货地国家名称
/// </summary>
public string userPlaceOfDeliveryCountryName { get; set; }
/// <summary>
/// 用户录入交货地行政名称
/// </summary>
public string userPlaceOfDeliveryRegionName { get; set; }
/// <summary>
/// 用户录入交货地UN地点代码
/// </summary>
public string userPlaceOfDeliveryUnLocCode { get; set; }
/// <summary>
/// 用户录入交货地城市英文名称
/// </summary>
public string userPlaceOfDeliveryCityName { get; set; }
/// <summary>
/// 用户录入交货地国家代码
/// </summary>
public string userPlaceOfDeliveryCountryCode { get; set; }
/// <summary>
/// 箱型箱量列表
/// </summary>
public List<MSKBookingCtnInfo> ctns { get; set; }
}
public class MSKBookingCtnInfo
{
/// <summary>
/// 箱型
/// </summary>
public string ctnCode { get; set; }
/// <summary>
/// 箱型名称
/// </summary>
public string ctnName { get; set; }
/// <summary>
/// 箱量
/// </summary>
public Nullable<int> ctnNum { get; set; }
/// <summary>
/// 箱内重量
/// </summary>
public Nullable<decimal> ctnSufferWeight { get; set; }
/// <summary>
/// 集装箱主键
/// </summary>
public Nullable<long> id { get; set; }
/// <summary>
/// 对应船公司箱型
/// </summary>
public string carrierCtnCode { get; set; }
/// <summary>
/// 箱计量单位
/// </summary>
public string stuffingMeasurementType { get; set; }
/// <summary>
/// 重量或者体积的计量单位
/// </summary>
public string stuffingMeasurementUnit { get; set; }
}
}