package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.IStream;
import com.brilliance.mda.runtime.mda.impl.StreamImpl;
import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

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


/**
 * TABLE:git:GIT - Guarantee Text
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Git extends AbstractCommonVo {

    //Internal Unique ID of Contract
    private String inr = NULLSTR;

    //Version Counter
    private String ver = NULLSTR;

    //Object of Contract
    private String covgodsrv = NULLSTR;

    //Guarantee Text
    private String gidtxt = NULLSTR;

    //Guarantee Text with Variables
    private String gtxgidtxt = NULLSTR;

    //History of Amendments
    private String gidtxtame = NULLSTR;

    //Original Contract Place
    private String orcplc = NULLSTR;

    //Additional Info
    private String addinf = NULLSTR;

    //Declaration of Indemnity Text
    private String revtxt = NULLSTR;

    //List of Modified Fields in GIDGRP
    private String fldmodblk = NULLSTR;

    //Applicable Rules
    private String apprul = NULLSTR;

    //Specification of Applicable Rule
    private String apprultxt = NULLSTR;

    //Content of TAG 72
    private String contag72 = NULLSTR;

    //Content of TAG 79
    private String contag79 = NULLSTR;

    //Additional Amount Covered
    private String addamtcov = NULLSTR;

    //Charges Deducted
    private String chaded = NULLSTR;

    //Amount Specification
    private String amtspc = NULLSTR;

    //Account Specification
    private String accspc = NULLSTR;

    //Method of Transmission additional Text
    private String dtatrntxt = NULLSTR;

    //Guarantee Text
    private String gidtxt2 = NULLSTR;

    //Delivery of original guarantee additional text
    private String dtadeltxt = NULLSTR;

    //Method of Transmission
    private String dtatrntyp = NULLSTR;

    //Kind of Guarantee
    private String dtalegfrm = NULLSTR;

    //Type of Guarantee
    private String dtagartyp = NULLSTR;

    //Wording of Guarantee
    private String dtawrd = NULLSTR;

    //Special Terms
    private String dtaspctrm = NULLSTR;

    //Indicator of Alternative Beneficial Owner
    private String dtabenown = NULLSTR;

    //Delivery of original guarantee
    private String dtadel = NULLSTR;

    //Type of Guarantee Amount
    private String dtaamttyp = NULLSTR;

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

    //Specification of Expiry
    private String dtaspcexp = NULLSTR;

    //Reference type
    private String dtareftyp = NULLSTR;

    //Liability Details
    private String dtaliadet = NULLSTR;

    //Reference
    private String dtaref = NULLSTR;

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

    //Reference date 2
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date dtarefdat1 = NULLDATE;

    //Guarantee Value in Percent
    private BigDecimal dtaamtprc = Decimals.ZERO_SCALE8;

    //Additional Text for Type of Guarantee
    private String dtagartyptxt = NULLSTR;

    //Unlimited Guarantee
    private String dtaexpflg = NULLSTR;

    //Special Agreements
    private String dtaspcagr = NULLSTR;

    //Additional Amount Covered
    private String addamtcovc = NULLSTR;

    //Additional Amount Covered
    private String addamtcovs20 = NULLSTR;

    //Applicable Rules - Counter Undertaking
    private String apprulc = NULLSTR;

    //Specification of Applicable Rule - Counter Undertaking
    private String apprultxtc = NULLSTR;

    //Object of Contract Sequence Cwith Variables, holds ATX
    private String atxcovgodsrvc = NULLSTR;

    //Object of Contract with Variables, holds ATX
    private String atxcovgodsrv = NULLSTR;

    //Guarantee Text with Variables
    private String atxgidtxtc = NULLSTR;

    //Expiry Condition/Event  with Variables, holds ATX
    private String atxexptxt = NULLSTR;

    //Guarantee Text with Variables
    private String gtxgidtxt2 = NULLSTR;

    //Document and Presentation Instructions with Variables, holds ATX
    private String atxpreper = NULLSTR;

    //Liability Condition/Event - Counter Undertaking with Variables, holds ATX
    private String atxliatxtc = NULLSTR;

    //Delivery to / Collection By
    private String deltoadr = NULLSTR;

    //Document and Presentation Instructions with Variables, holds ATX
    private String atxpreperc = NULLSTR;

    //Delivery to / Collection By
    private String deltoadrc = NULLSTR;

    //Expiry Condition/Event
    private String exptxt = NULLSTR;

    //Specification of Type of Undertaking - Counter Undertaking
    private String gartyptxtc = NULLSTR;

    //Guarantee Text  local undertaking
    private String gidtxtc = NULLSTR;

    //Additional Details to Code for Charges
    private String feetxt = NULLSTR;

    //Additional Details to Code for Charges
    private String feetxtc = NULLSTR;

    //Guarantee Text with Variables - Counter Undertaking
    private String gtxgidtxtc = NULLSTR;

    //Confirmation Indicator
    private String dtacon = NULLSTR;

    //History of Amendments
    private String gidtxtamec = NULLSTR;

    //Liability Condition/Event - Counter Undertaking
    private String liatxtc = NULLSTR;

    //Other Charges Reimbursement Authorization
    private String rmbcha = NULLSTR;

    //Document and Presentation Instructions
    private String preper = NULLSTR;

    //Document and Presentation Instructions
    private String preperc = NULLSTR;

    //Transfer Conditions
    private String trfcondc = NULLSTR;

    //Transfer Conditions
    private String trfcond = NULLSTR;

    //Additional Info - Local Undertaking Seq. C
    private String addinfc = NULLSTR;

    //Object of Contract - Local Undertaking Seq. C
    private String covgodsrvc = NULLSTR;

    //Specification of Type of Undertaking - Counter Undertaking
    private String gartyptxtin = NULLSTR;

    //Notification Information
    private String nottxt = NULLSTR;

    //Automatic Extension non-Extension Notification - Local Undertaking Seq. C
    private String nottxtc = NULLSTR;

    //Original Contract Place - Local Undertaking Seq. C
    private String orcplcc = NULLSTR;

    //decrease amount stream
    private String decamtstm = NULLSTR;

    //Guarantee TextMW
    private String gidtxtmw = NULLSTR;

    //Guarantee Text with VariablesMW
    private String gtxgidtxtmw = NULLSTR;
}