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.

253 lines
7.0 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>
/// 承运人代码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>
/// 交货地UN地点代码
/// </summary>
public string placeOfDeliveryUnLocCode { get; set; }
/// <summary>
/// 交货地城市英文名称
/// </summary>
public string placeOfDeliveryCityName { 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 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; }
}
}