package com.ruoyi.shipping.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 船代系统请求参数实体
 * Y:必填、N：非必填
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ShipperDataVo {
    /** 提单号 Y */
    private String billOfLadingNo;
    /** 预约企业全称 Y */
    private String orderEnterprise;
    /** 预约企业社会统一编码 Y */
    private String orderEnterpriseNo;
    /** 收货人 Y */
    private String consignee;
    /** 收货地址 Y */
    private String consigneeAddress;
    /** 收货人电话 N */
    private String consigneePersonPhone;
    /** 提货单生成时间 Y，格式为 yyyy-mm-dd hh24:mi:ss */
    private String billTime;
    /** 换单企业全称(负责换单的船公司、船代在云港通注册时填写的准确全称) Y */
    private String shipAgent;
    /** 换单企业社会统一编码 Y */
    private String shipAgentNo;
    /** 押箱企业全称(负责换单的船公司、船代在云港通注册时填写的社会统一编码) Y */
    private String contEnterprise;
    /** 押箱企业社会统一编码(负责押箱的船公司、船代、场站押箱点在云港通注册时填写的社会统一编码) Y */
    private String contEnterpriseNo;
    /** 发送方全称 Y */
    private String sendEnterprise;
    /** 发送方类型(船代或船公司)1-船代，2-船公司，3-省电子口岸 Y */
    private String sendType;
    /** 换单操作员姓名 Y */
    private String switchBillPerson;
    /** 交付条款  cy-cy Y */
    private String deliveryClause;
    /** 合同号 N */
    private String contractNo;
    /** 提单类型，1-正本，2-电放，3-海运 N */
    private String billType;
    /** 到付海运费 N */
    private String oceanFreight;
    /** 币种（有到付海运费时必填） N */
    private String currency;
    /** 船公司全称 Y */
    private String shipCompany;
    /** 箱属公司码 Y */
    private String xsgsm;
    /** 进口关区 Y */
    private String importZone;
    /** 第一程运输 Y */
    private String firstTrans;
    /** 内外贸，N-内贸，W-外贸 Y */
    private String tradeFlag;
    /** 码头代码 Y */
    private String mtdm;
    /** 码头船名代码 */
    private String mtVesselCode;
    /** 码头船名编号 */
    private String mtVoyageNumber;
    /** 起运港 Y */
    private String loadingPort;
    /** 卸货港 Y */
    private String dischargePort;
    /** 目的地 N */
    private String destination;
    /** 卸货地点 N */
    private String dischargePlace;
    /** 到达日期(船舶抵港日期) Y */
    private String arrivalDatetime;
    /** 提单唛头(标记) Y */
    private String billMark;
    /** 中文船名，如果内贸没有英文船名，该字段上传中文船名 N */
    private String vesselNameCn;
    /** 英文船名(海关申报时用的英文船名) Y */
    private String vesselNameEn;
    /** 海关航次 Y */
    private String voyageNumber;
    /** 船舶IMO号 Y */
    private String imo;
    /** 货名 Y */
    private String goodsName;
    /** 件数 Y */
    private String packages;
    /** 件数单位 Y */
    private String packagesUnit;
    /** 重量 Y */
    private String weight;
    /** 重量单位（KGS） Y */
    private String weightUnit;
    /** 体积 Y */
    private String volume;
    /** 体积单位(CBM) Y */
    private String volumeUnit;
    /** 备注(换单备注) N */
    private String transferRemark;
    /** 集装箱数量箱型描述(格式) Y */
    private String conDescribe;
    /** 拼箱类型(0: 整箱，1：拼箱) Y */
    private String lclType;
    /** 箱子列表 */
    private List<ShipperContList> contlist;
}
