package shipment

import (
	"github.com/shopspring/decimal"
	"time"
)

type ReplyShipmentInfo struct {
	Id                           int64            `json:"id"`
	VouchingClerkId              int64            `json:"vouchingClerkId"`
	CustomName                   string           `json:"customName"`
	CustomShortName              string           `json:"customShortName"`
	EstSailingDate               *time.Time       `json:"estSailingDate"`
	InvoiceSerial                string           `json:"invoiceSerial"`
	InvoiceDate                  time.Time        `json:"invoiceDate"`
	ContractDate                 *time.Time       `json:"contractDate"`
	TradeType                    string           `json:"tradeType"`
	OurCompany                   string           `json:"ourCompany"`
	PaymentType                  string           `json:"paymentType"`
	PaymentDepositRate           *decimal.Decimal `json:"paymentDepositRate"`
	PaymentDepositAmount         *decimal.Decimal `json:"paymentDepositAmount"`
	PaymentCycle                 *int64           `json:"paymentCycle"`
	PaymentTerms                 string           `json:"paymentTerms"`
	CommissionRate               *decimal.Decimal `json:"commissionRate"`
	TradeCountry                 string           `json:"tradeCountry"`
	RecBank                      string           `json:"recBank"`
	RecBankEng                   string           `json:"recBankEng"`
	RecBankName                  string           `json:"recBankName"`
	RecBankNameEng               string           `json:"recBankNameEng"`
	RecBankCardNo                string           `json:"recBankCardNo"`
	RecBankCardName              string           `json:"recBankCardName"`
	RecBankAddress               string           `json:"recBankAddress"`
	Shipper                      string           `json:"shipper"`
	Consignee                    string           `json:"consignee"`
	Notifier                     string           `json:"notifier"`
	DueRecDate                   *time.Time       `json:"dueRecDate"`
	ShipMode                     string           `json:"shipMode"`
	ContainerType                string           `json:"containerType"`
	ReadyDate                    *time.Time       `json:"readyDate"`
	ShipPort                     string           `json:"shipPort"`
	DischargePort                string           `json:"dischargePort"`
	DischargePortEng             string           `json:"dischargePortEng"`
	DeliveryCountry              string           `json:"deliveryCountry"`
	DeliveryCountryEng           string           `json:"deliveryCountryEng"`
	Destination                  string           `json:"destination"`
	FactoryHaulAdress            string           `json:"factoryHaulAdress"`
	LogisticsCompanyId           int64            `json:"logisticsCompanyId"`
	LogisticsCompany             string           `json:"logisticsCompany"`
	LogisticsCompanyContactName  string           `json:"logisticsCompanyContactName"`
	LogisticsCompanyContactPhone string           `json:"logisticsCompanyContactPhone"`
	LogisticsCompanyContactTel   string           `json:"logisticsCompanyContactTel"`
	LogisticsCompanyContactEmail string           `json:"logisticsCompanyContactEmail"`
	SeparableFlag                int64            `json:"separableFlag"`
	CopyCount                    *int64           `json:"copyCount"`
	InsuranceRatio               *int64           `json:"insuranceRatio"`
	CreditSerial                 string           `json:"creditSerial"`
	CreditDate                   *time.Time       `json:"creditDate"`
	InlandShipWay                string           `json:"inlandShipWay"`
	PackagingType                string           `json:"packagingType"`
	ShipmentNo                   string           `json:"shipmentNo"`
	CnoSno                       string           `json:"cnoSno"`
	Declare1                     string           `json:"declare1"`
	Declare2                     string           `json:"declare2"`
	Info                         string           `json:"info"`
	RegulatoryMethods            string           `json:"regulatoryMethods"`
	TaxExemptionNature           string           `json:"taxExemptionNature"`
	MarkText                     string           `json:"markText"`
	MarkImg                      string           `json:"markImg"`
	WorkflowId                   int64            `json:"workflowId"`
	WorkflowStatus               int64            `json:"workflowStatus"`
	WorkflowReason               string           `json:"workflowReason"`
	CreatedStaffId               int64            `json:"createdStaffId"`
	CreatedAt                    *time.Time       `json:"createdAt"`
	SaleCurrency                 string           `json:"saleCurrency"`
	SaleCurrencyName             string           `json:"saleCurrencyName"`
	SaleCurrencySymbol           string           `json:"saleCurrencySymbol"`
	SaleCurrencyRate             decimal.Decimal  `json:"saleCurrencyRate"`
}