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.

283 lines
7.8 KiB
C#

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>
/// 承运人代码MAEU, SEAU, SEJJ, MCPU, MAEI
/// </summary>
public string carrierCode { get; set; }
/// <summary>
/// 最早起运日期, 不可小于当前日期
/// </summary>
public string 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 List<MSKBookingCtnInfo> ctns { get; set; }
}
public class MSKBookingCtnInfo
{
/// <summary>
/// 箱型
/// </summary>
public string ctnCode { 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; }
}
}