package com.brilliance.isc.vo.model;

import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class LtdVo extends AbstractCommonVo {

    //Internal Unique ID of Import L/C
    private String inr = NULLSTR;

    //Reference
    private String ownref = NULLSTR;

    //Externally Displayed Name to Identify the Contract
    private String nam = NULLSTR;

    //Date of Creation Opening or Registry
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date credat = NULLDATE;

    //Additional Addresses
    private String adlflg = NULLSTR;

    //Date of Last Amendment
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date amedat = NULLDATE;

    //Number of Amendment
    private  int amenbr ;

    //Available by
    private String avbby = NULLSTR;

    //Available with
    private String avbwth = NULLSTR;

    //Own Charges Borne by
    private String chato = NULLSTR;

    //Date L/C Closed
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date clsdat = NULLDATE;

    //Confirmation Instructions to 2. Adv.Bank
    private String cnfins = NULLSTR;

    //Date of Expiry
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date expdat = NULLDATE;

    //Place of Expiry
    private String expplc = NULLSTR;

    //Form of Documentary Credit
    private String lcrtyp = NULLSTR;

    //Amount Specification
    private String nomspc = NULLSTR;

    //Amount Tolerance - Positive
    private  int nomtop ;

    //Amount Tolerance - Negative
    private  int nomton ;

    //Date L/C Opened/Issued
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date opndat = NULLDATE;

    //Resp. User
    private String ownusr = NULLSTR;

    //Reimbursing Bank Account Identification
    private String rmbact = NULLSTR;

    //Reimbursing Bank Charges
    private String rmbcha = NULLSTR;

    //Reimbursement Information
    private String rmbflg = NULLSTR;

    //Shipment Date
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date shpdat = NULLDATE;

    //Shipment from
    private String shpfro = NULLSTR;

    //Partial Shipment
    private String shppar = NULLSTR;

    //For Transportation to
    private String shpto = NULLSTR;

    //Transshipment
    private String shptrs = NULLSTR;

    //Country Code Risk Country
    private String stacty = NULLSTR;

    //Number of Utilizations
    private  int utlnbr ;

    //Number of Advised Utilizations
    private  int advnbr ;

    //Red/Green Clause?
    private String redclsflg = NULLSTR;

    //Version
    private String ver = NULLSTR;

    //INR of LE Backing this Transfer
    private String ledinr = NULLSTR;

    //Documents to be Substituted
    private String docsubflg = NULLSTR;

    //Port of Loading
    private String porloa = NULLSTR;

    //Port of Discharge
    private String pordis = NULLSTR;

    //Applicable Rules
    private String apprul = NULLSTR;

    //Other Applicable Rules
    private String apprultxt = NULLSTR;

    //Applicable Rules Reimbursement
    private String apprulrmb = NULLSTR;

    //Date of Authorisation to Reimburse
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date autdat = NULLDATE;

    //Special Payment Conditions for specified Bank only
    private String spcrcbflg = NULLSTR;

    //Days of presentation period
    private  int prepers18 ;

    //Presentation period text
    private String prepertxts18 = NULLSTR;

    //Partial Shipment for Swift release 2018
    private String shppars18 = NULLSTR;

    //Transshipment for Swift relase 2018
    private String shptrss18 = NULLSTR;

    //Special payment conditions for beneficiary exists
    private String spcbenflg = NULLSTR;

    //Entity holding Contract
    private String etyextkey = NULLSTR;

    //Maximum tenor in days
    private  int tenmaxday ;

    //BRANCHINR
    private String branchinr = NULLSTR;

    //BCHKEY KEY
    private String bchkeyinr = NULLSTR;

    //交易对手名称
    private String oppnam = NULLSTR;
}
