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