iso20022_cain_001_001_02

package
v0.0.0-...-2e988c5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountDetails2

type AccountDetails2 struct {
	AcctNm Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctNm,omitempty"`
	AcctTp Exact2AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctTp,omitempty"`
	AcctId Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctId,omitempty"`
}

type Action9

type Action9 struct {
	Dstn       PartyType20Code  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dstn,omitempty"`
	ActnTp     ActionType11Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ActnTp,omitempty"`
	OthrActnTp Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrActnTp,omitempty"`
	ActnInf    Max70Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ActnInf,omitempty"`
}

type ActionDestination1Code

type ActionDestination1Code string

May be one of FILE, MOBL, OTHN, OTHP, PECR, POFS

type ActionType10Code

type ActionType10Code string

May be one of ACTV, DEAC, DISP, FUPD, PRNT, SNDM

type ActionType11Code

type ActionType11Code string

May be one of CNTI, CNIS, CNTA, CNAS, CPTR, CHDV, VIPM, TRCK, TRXR, OTHN, OTHP, SIGN

type ActionType8Code

type ActionType8Code string

May be one of APPV, BLCK, CPTR, DCLN, RQID, NDCL, RFRL, OTHN, OTHP, STUA

type AddendumData1

type AddendumData1 struct {
	PurchsIdrTp     PurchaseIdentifierType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PurchsIdrTp,omitempty"`
	OthrPurchsIdrTp Max35Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPurchsIdrTp,omitempty"`
	PurchsIdr       Max99Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PurchsIdr,omitempty"`
	AddtlAccptrData AdditionalAcceptorData1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlAccptrData,omitempty"`
	Cstmr           Customer4                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cstmr,omitempty"`
	Sale            Sale1                       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sale,omitempty"`
	Fleet           FleetData2                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Fleet,omitempty"`
	Invc            Invoice1                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Invc,omitempty"`
	TrvlAgcy        TravelAgency2               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlAgcy,omitempty"`
	PssngrTrnsprt   PassengerTransport1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PssngrTrnsprt,omitempty"`
	VhclRntl        []VehicleRentalService1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclRntl,omitempty"`
	Ldgg            []Lodging2                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ldgg,omitempty"`
	ShppgData       ShippingData1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShppgData,omitempty"`
	TelecomSvcs     TelecomServices1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TelecomSvcs,omitempty"`
	TempSvcs        []TemporaryServices1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TempSvcs,omitempty"`
	Instlmt         Instalment3                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Instlmt,omitempty"`
	AddtlData       []AdditionalData1           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type AddendumTaxType1Code

type AddendumTaxType1Code string

May be one of TOTL, ALMI, ASNT, BPTX, KAPA, NKAP, CRTX, CSTX, CITX, COAX, CPST, CORT, COTX, CUST, DLTX, DUTY, EMIT, EMUT, EMET, EMST, EMRT, ENTX, ESET, ENVT, EQUL, EQTX, EUTR, EXEC, FEXT, FNST, FETX, FVAT, FVTS, FIMT, FSST, FICA, FRTX, FSTX, FSFT, FUVT, GIFT, GCAT, GRTX, HVAT, HATX, HSTX, HWTX, INHT, INPO, LTTX, FLST, LITX, LOCO, LSTX, LOCL, LUTX, MATX, METX, MITX, MUTX, MUDE, COUN, NATI, OCTX, OPTX, OTHR, OTHN, OTHP, OTTX, LEVY, POTX, PRTX, PSTX, PPTX, PROV, PHET, QUST, ROCI, RCSB, RCSD, ROTX, RVAT, ROVI, SAUT, SCTX, SPTX, STTA, STAM, SLST, SLTX, SETX, STPT, SPTS, SPFT, SPTG, SRTX, SSTX, STAT, STSL, STEX, SUTX, CTAX, TDDT, TELT, THTX, TRAX, TRAN, UNSP, UUTX, VATA, VATB, WTAX, WESV, WITF, WITL, WITH

type AdditionalAcceptorData1

type AdditionalAcceptorData1 struct {
	AddtlTxRefNb Max70Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlTxRefNb,omitempty"`
	TaxRegnId    Max70Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxRegnId,omitempty"`
	CorpTaxId    Max35Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CorpTaxId,omitempty"`
	CorpTaxIdTp  CorporateTaxType1Code       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CorpTaxIdTp,omitempty"`
	AddtlId      []AdditionalIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
	Chrtcs       AdditionalCharacteristics1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Chrtcs,omitempty"`
	AddtlInf     Max350Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlInf,omitempty"`
}

type AdditionalAction1

type AdditionalAction1 struct {
	Tp         ActionType10Code       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Dstn       PartyType21Code        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dstn,omitempty"`
	OthrDstn   Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrDstn,omitempty"`
	DstnTp     ActionDestination1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DstnTp,omitempty"`
	OthrDstnTp Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrDstnTp,omitempty"`
	DstnAdr    Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DstnAdr,omitempty"`
	Frmt       OutputFormat4Code      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Frmt,omitempty"`
	OthrFrmt   Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrFrmt,omitempty"`
	Cntt       Content1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cntt,omitempty"`
}

type AdditionalAmounts1

type AdditionalAmounts1 struct {
	Tp     TypeOfAmount12Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Amt    Amount14           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Labl   Max70Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Labl,omitempty"`
}

type AdditionalCharacteristicDetails1

type AdditionalCharacteristicDetails1 struct {
	Tp      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	PrvddBy Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrvddBy,omitempty"`
}

type AdditionalCharacteristics1

type AdditionalCharacteristics1 struct {
	BizTp       AdditionalCharacteristicDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizTp,omitempty"`
	Ownr        AdditionalCharacteristicDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ownr,omitempty"`
	Certfctn    AdditionalCharacteristicDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Certfctn,omitempty"`
	OwnrEthncty AdditionalCharacteristicDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OwnrEthncty,omitempty"`
}

type AdditionalData1

type AdditionalData1 struct {
	Tp  Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Val Max2048Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val,omitempty"`
}

type AdditionalFee1

type AdditionalFee1 struct {
	Tp         TypeOfAmount10Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp     Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	FeePrgm    Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FeePrgm,omitempty"`
	FeeDscrptr Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FeeDscrptr,omitempty"`
	Amt        FeeAmount2         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Labl       Max140Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Labl,omitempty"`
}

type AdditionalIdentification1

type AdditionalIdentification1 struct {
	Tp     AdditionalIdentificationType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Val    Max35Text                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type AdditionalIdentificationType1Code

type AdditionalIdentificationType1Code string

May be one of OTHP, OTHN, ICSN, ATNU

type AdditionalInformation19

type AdditionalInformation19 struct {
	NtrdDataNmrc      Max35NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NtrdDataNmrc,omitempty"`
	NtrdDataAlphaNmrc Max350Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NtrdDataAlphaNmrc,omitempty"`
	AddtlData         Max350Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type AdditionalInformation20

type AdditionalInformation20 struct {
	Rcpt     PartyType22Code      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcpt,omitempty"`
	OthrRcpt Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrRcpt,omitempty"`
	Trgt     []UserInterface6Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Trgt,omitempty"`
	OthrTrgt Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTrgt,omitempty"`
	Frmt     OutputFormat4Code    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Frmt,omitempty"`
	OthrFrmt Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrFrmt,omitempty"`
	Tp       Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Val      Max20KText           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type AdditionalRiskData1

type AdditionalRiskData1 struct {
	Tp  Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Val Max10KText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type AdditionalService1

type AdditionalService1 struct {
	Tp     AdditionalServiceType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
}

type AdditionalServiceType1Code

type AdditionalServiceType1Code string

May be one of CACT, CSHB, DCCV, INTP, INTT, LOYT, OTHN, OTHP, PRST

type Address1

type Address1 struct {
	AdrLine1       Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdrLine1,omitempty"`
	AdrLine2       Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdrLine2,omitempty"`
	StrtNm         Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StrtNm,omitempty"`
	BldgNb         Max16Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BldgNb,omitempty"`
	PstlCd         Max16Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PstlCd,omitempty"`
	TwnNm          Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TwnNm,omitempty"`
	CtrySubDvsnMnr Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtrySubDvsnMnr,omitempty"`
	CtrySubDvsnMjr Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtrySubDvsnMjr,omitempty"`
	Ctry           Min2Max3AlphaText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
}

type Adjustment10

type Adjustment10 struct {
	Tp                 Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	AddtlTp            Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlTp,omitempty"`
	Desc               Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Rsn                Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsn,omitempty"`
	PrmtnElgblty       bool      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrmtnElgblty,omitempty"`
	PrmtnCd            Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrmtnCd,omitempty"`
	PrmtnCpnNb         Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrmtnCpnNb,omitempty"`
	Qty                float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Qty,omitempty"`
	UnitPric           float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitPric,omitempty"`
	Pctg               float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pctg,omitempty"`
	AdjstmntAmt        float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdjstmntAmt,omitempty"`
	TaxClctdOnOrgnlAmt bool      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxClctdOnOrgnlAmt,omitempty"`
}

type Adjustment11

type Adjustment11 struct {
	Amt    float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	CdtInd bool      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	Rsn    Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsn,omitempty"`
}

type Adjustment9

type Adjustment9 struct {
	Tp                 Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	AddtlTp            Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlTp,omitempty"`
	Desc               Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Rsn                Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsn,omitempty"`
	PrmtnCd            Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrmtnCd,omitempty"`
	Pctg               float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pctg,omitempty"`
	AdjstmntAmt        float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdjstmntAmt,omitempty"`
	TaxClctdOnOrgnlAmt bool      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxClctdOnOrgnlAmt,omitempty"`
}

type Algorithm11Code

type Algorithm11Code string

May be one of HS25, HS38, HS51, HS01

type Algorithm13Code

type Algorithm13Code string

May be one of EA2C, E3DC, DKP9, UKPT, UKA1, EA9C, EA5C

type Algorithm16Code

type Algorithm16Code string

May be one of HS25, HS38, HS51, HS01, SH31, SH32, SH33, SH35, SHK1, SHK2

type Algorithm17Code

type Algorithm17Code string

May be one of MACC, MCCS, CMA1, MCC1, CMA9, CMA5, CMA2, CM31, CM32, CM33, MCS3, CCA1, CCA2, CCA3

type Algorithm18Code

type Algorithm18Code string

May be one of EA2C, E3DC, DKP9, UKPT, UKA1, EA9C, EA5C, DA12, DA19, DA25, N108, EA5R, EA9R, EA2R, E3DR, E36C, E36R, SD5C

type Algorithm19Code

type Algorithm19Code string

May be one of ERS2, ERS1, RPSS, ECC5, ECC1, ECC4, ECC2, ECC3, ERS3, ECP2, ECP3, ECP5

type Algorithm20Code

type Algorithm20Code string

May be one of HS25, HS38, HS51

type Algorithm23Code

type Algorithm23Code string

May be one of EA2C, E3DC, EA9C, EA5C, EA2R, EA9R, EA5R, E3DR, E36C, E36R, SD5C

type Algorithm5Code

type Algorithm5Code string

May be one of HS25, HS38, HS51

type Algorithm7Code

type Algorithm7Code string

May be one of ERSA, RSAO

type Algorithm8Code

type Algorithm8Code string

May be one of MGF1

type AlgorithmIdentification12

type AlgorithmIdentification12 struct {
	Algo  Algorithm8Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter5     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification18

type AlgorithmIdentification18 struct {
	Algo  Algorithm8Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter9     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification19

type AlgorithmIdentification19 struct {
	Algo  Algorithm7Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter10    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification20

type AlgorithmIdentification20 struct {
	Algo  Algorithm19Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter11     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification21

type AlgorithmIdentification21 struct {
	Algo Algorithm16Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
}

type AlgorithmIdentification22

type AlgorithmIdentification22 struct {
	Algo  Algorithm17Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter7      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification23

type AlgorithmIdentification23 struct {
	Algo  Algorithm18Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter12     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification24

type AlgorithmIdentification24 struct {
	Algo  Algorithm18Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter12     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification25

type AlgorithmIdentification25 struct {
	Algo  Algorithm23Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter7      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification26

type AlgorithmIdentification26 struct {
	Algo  Algorithm8Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Algorithm5Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification27

type AlgorithmIdentification27 struct {
	Algo  Algorithm7Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter13    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type AlgorithmIdentification28

type AlgorithmIdentification28 struct {
	Algo  Algorithm13Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	Param Parameter14     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Param,omitempty"`
}

type Amount10

type Amount10 struct {
	Desc   Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Amt    float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	CdtInd bool      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	Tax    []Tax33   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
}

type Amount11

type Amount11 struct {
	TpOfChrg     TypeOfAmount19Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TpOfChrg,omitempty"`
	OthrTpOfChrg Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTpOfChrg,omitempty"`
	Amt          float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	CdtInd       bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
}

type Amount12

type Amount12 struct {
	Tp     TemporaryServicesCharge1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Rate   float64                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rate,omitempty"`
	Hrs    Max6NumericText              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Hrs,omitempty"`
}

type Amount13

type Amount13 struct {
	Tp   Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Desc Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Amt  float64   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
}

type Amount14

type Amount14 struct {
	Amt float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Ccy ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ccy,omitempty"`
	Sgn bool                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgn,omitempty"`
}

type Amount4

type Amount4 struct {
	Amt      float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Ccy      ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ccy,omitempty"`
	XchgRate float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XchgRate,omitempty"`
	QtnDt    ISODateTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 QtnDt,omitempty"`
}

type Amount5

type Amount5 struct {
	Amt float64 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Sgn bool    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgn,omitempty"`
}

type Amount9

type Amount9 struct {
	Tp           CarRentalServiceType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp       Max35Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Amt          float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt,omitempty"`
	CdtInd       bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	CstmrNtfdInd bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrNtfdInd,omitempty"`
}

type AmountDetails1

type AmountDetails1 struct {
	Tp     TypeOfAmount18Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Amt    float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	CdtInd bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	Tax    []Tax33            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
}

type AncillaryPurchase1

type AncillaryPurchase1 struct {
	AncllryDocNb   Max15Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AncllryDocNb,omitempty"`
	RltdDocNb      Max15Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RltdDocNb,omitempty"`
	SvcCtgyCd      Max4Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcCtgyCd,omitempty"`
	SvcSubCtgyCd   Max4Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcSubCtgyCd,omitempty"`
	SvcPrvdrSvcTp  Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcPrvdrSvcTp,omitempty"`
	CdtRsnCd       Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtRsnCd,omitempty"`
	SummryCmmdtyId Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	Amt            Amount5    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt,omitempty"`
	Fee            float64    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Fee,omitempty"`
	Tax            []Tax33    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax"`
	AddtlData      Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type ApprovalData1

type ApprovalData1 struct {
	ApprvlNtty ApprovalEntity1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ApprvlNtty,omitempty"`
	ApprvlCd   Exact6AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ApprvlCd,omitempty"`
}

type ApprovalEntity1

type ApprovalEntity1 struct {
	Id     Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Tp     PartyType26Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Assgnr PartyType9Code    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry   Min2Max3AlphaText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
}

type AttributeType1Code

type AttributeType1Code string

May be one of CNAT, LATT, OATT, OUAT, CATT

type AuthenticatedData5

type AuthenticatedData5 struct {
	Vrsn        float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	Rcpt        []Recipient6Choice        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcpt"`
	MACAlgo     AlgorithmIdentification22 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MACAlgo"`
	NcpsltdCntt EncapsulatedContent3      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcpsltdCntt"`
	MAC         Max140Binary              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MAC"`
}

type AuthenticationMethod11Code

type AuthenticationMethod11Code string

May be one of APKI, ADVF, ARNB, ARPC, ARQC, ATCC, BTHD, CHSA, CHDN, CUID, DRVI, DRLN, EMAL, EMIN, EMRN, IDCN, MANU, NVSC, FBIG, FBIO, OLDA, OLDS, OFPE, FCPN, OTPW, NBIG, NPIN, OCHI, OTHN, OTHP, PPSG, PSVE, PASN, PSWD, TOKP, PKIS, PLOB, PCDV, SCRT, SCNL, CSEC, SHAF, SHAT, CPSG, SSNB, TXIN, TOKA, CDHI, TOKN, QWAC, PHOM, PWOR, THDS, ADDB, ADDS, CSCV, CRYP, BIOM, MOBL, FPIN

type AuthorisationInitiation1

type AuthorisationInitiation1 struct {
	Envt        Environment1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Envt"`
	Cntxt       Context1             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cntxt"`
	Tx          Transaction77        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tx"`
	AdddmData   AddendumData1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdddmData,omitempty"`
	PrcgRslt    ProcessingResult1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrcgRslt,omitempty"`
	ICCRltdData string               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ICCRltdData,omitempty"`
	PrtctdData  []ProtectedData1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrtctdData,omitempty"`
	SplmtryData []SupplementaryData1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SplmtryData,omitempty"`
}

type AuthorisationInitiationV02

type AuthorisationInitiationV02 struct {
	Hdr      Header42                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Hdr"`
	Body     AuthorisationInitiation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Body"`
	SctyTrlr ContentInformationType20 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SctyTrlr,omitempty"`
}

type AuthorisedAmount1

type AuthorisedAmount1 struct {
	DtTm      ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtTm,omitempty"`
	Amt       float64     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	AddtlData Max350Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type BatchManagementInformation1

type BatchManagementInformation1 struct {
	ColltnId         Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ColltnId,omitempty"`
	BtchId           Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BtchId"`
	MsgSeqNb         Max15NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgSeqNb,omitempty"`
	MsgChcksmInptVal Max140Binary     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgChcksmInptVal,omitempty"`
}

type BytePadding1Code

type BytePadding1Code string

May be one of LNGT, NUL8, NULG, NULL, RAND

type Capabilities1

type Capabilities1 struct {
	CardRdngCpblty       []CardDataReading7Code                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardRdngCpblty,omitempty"`
	OthrCardRdngCpblties []Max35Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrCardRdngCpblties,omitempty"`
	CardWrtgCpblties     []CardDataWriting1Code                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardWrtgCpblties,omitempty"`
	OthrCardWrtgCpblties []Max35Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrCardWrtgCpblties,omitempty"`
	PINLngthCpblties     float64                               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PINLngthCpblties,omitempty"`
	ApprvlCdLngth        float64                               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ApprvlCdLngth,omitempty"`
	MxScrptLngth         float64                               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MxScrptLngth,omitempty"`
	PINPadInprtv         bool                                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PINPadInprtv,omitempty"`
	CardCaptrCpbl        bool                                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardCaptrCpbl,omitempty"`
	OnLineCpblties       OnLineCapability2Code                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OnLineCpblties,omitempty"`
	MsgCpblties          []DisplayCapabilities6                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgCpblties,omitempty"`
	CrdhldrVrfctnCpblty  []CardholderVerificationCapabilities1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrVrfctnCpblty,omitempty"`
}

type CarRentalActivity1Code

type CarRentalActivity1Code string

May be one of CARS, GLBL, INDV, PETP, OTHP, OTHN, OTHR

type CarRentalServiceType2Code

type CarRentalServiceType2Code string

May be one of ADJM, AUTH, BAST, CLEA, DMGS, DLVR, DPOF, ENTE, EXTC, EXDY, EXDI, EXHR, FINE, FUEL, GARA, GPSY, INSU, LATE, LIIN, LDIN, MISC, NAVI, NOSH, ONEW, OTHN, OTHP, PARK, PRIN, PFIN, PHON, REGD, SMOK, TOLL, TOWI

type CardData1

type CardData1 struct {
	PAN           Max19NumericText       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PAN"`
	PrtctdPANInd  bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrtctdPANInd,omitempty"`
	CardSeqNb     Min2Max3NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardSeqNb,omitempty"`
	FctvDt        Max10Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FctvDt,omitempty"`
	XpryDt        Exact4NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XpryDt,omitempty"`
	SvcCd         Exact3NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcCd,omitempty"`
	Trck1         Max76Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Trck1,omitempty"`
	Trck2         Track2Data1Choice      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Trck2,omitempty"`
	Trck3         Max104Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Trck3,omitempty"`
	PmtAcctRef    Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PmtAcctRef,omitempty"`
	CardCtryCd    ISO3NumericCountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardCtryCd,omitempty"`
	CardPdctTp    Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPdctTp,omitempty"`
	CardPdctSubTp Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPdctSubTp,omitempty"`
	CardPrtflIdr  Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPrtflIdr,omitempty"`
	AddtlCardData Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlCardData,omitempty"`
}

type CardDataReading5Code

type CardDataReading5Code string

May be one of TAGC, PHYS, BRCD, MGST, CICC, DFLE, CTLS, ECTL, CDFL

type CardDataReading7Code

type CardDataReading7Code string

May be one of CDFL, ICPY, MGST, ICCY, MICR, MLEY, OCRR, MSIP, OPTC, OTHN, RFID, UNSP, OTHP, KEEN

type CardDataWriting1Code

type CardDataWriting1Code string

May be one of ICPY, MGST, ICCY, MSIP, OTHN, UNSP, OTHP

type CardDepositType1Code

type CardDepositType1Code string

May be one of OTHP, OTHN, ENVL, CHEC, CASH

type CardProgramme1

type CardProgramme1 struct {
	CardPrgrmmPropsd []CardProgrammeMode2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPrgrmmPropsd,omitempty"`
	CardPrgrmmApld   CardProgrammeMode1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPrgrmmApld,omitempty"`
}

type CardProgrammeMode1

type CardProgrammeMode1 struct {
	Tp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Id Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
}

type CardProgrammeMode2

type CardProgrammeMode2 struct {
	Tp Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Id []Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
}

type Cardholder15

type Cardholder15 struct {
	CrdhldrNm CardholderName1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrNm,omitempty"`
	Id        []Credentials1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Adr       Address1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	CtctInf   Contact1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtctInf,omitempty"`
	DtOfBirth ISODate         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtOfBirth,omitempty"`
}

type CardholderName1

type CardholderName1 struct {
	Nm         Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	GvnNm      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GvnNm,omitempty"`
	MddlInitls Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MddlInitls,omitempty"`
	LastNm     Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LastNm,omitempty"`
}

type CardholderVerificationCapabilities1

type CardholderVerificationCapabilities1 struct {
	Cpblty     CardholderVerificationCapability5Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cpblty"`
	OthrCpblty Max35Text                             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrCpblty,omitempty"`
}

type CardholderVerificationCapability5Code

type CardholderVerificationCapability5Code string

May be one of APKI, NOVF, FBIG, FBIO, FDSG, FCPN, FEPN, NBIO, NPIN, OTHN, OTHP, SIGN, UNSP, VORN, PKIS, NOPN, NOOP

type CarrierIdentification1

type CarrierIdentification1 struct {
	Nm     Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Cd     Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cd,omitempty"`
	IATACd Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IATACd,omitempty"`
}

type CertificateIssuer1

type CertificateIssuer1 struct {
	RltvDstngshdNm []RelativeDistinguishedName1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RltvDstngshdNm"`
}

type ClaimInformation1

type ClaimInformation1 struct {
	ClmCrdntls Max500Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ClmCrdntls,omitempty"`
	Assgnr     Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
}

type CommunicationCharacteristics3

type CommunicationCharacteristics3 struct {
	ComTp   POICommunicationType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ComTp"`
	RmotPty []PartyType7Code          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RmotPty"`
	Actv    bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Actv"`
}

type CompanyAssigner2Code

type CompanyAssigner2Code string

May be one of ASSO, AUTH, CPNY, LEII, TRAG, OTHP, OTHN

type Contact1

type Contact1 struct {
	Nm            Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	HomePhneNb    PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HomePhneNb,omitempty"`
	BizPhneNb     PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizPhneNb,omitempty"`
	MobPhneNb     PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MobPhneNb,omitempty"`
	OthrPhneNb    PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPhneNb,omitempty"`
	PrsnlEmailAdr Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrsnlEmailAdr,omitempty"`
	BizEmailAdr   Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizEmailAdr,omitempty"`
	OthrEmailAdr  Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrEmailAdr,omitempty"`
	Lang          ISO2ALanguageCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lang,omitempty"`
}

type Contact2

type Contact2 struct {
	Nm            Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	HomePhneNb    PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HomePhneNb,omitempty"`
	BizPhneNb     PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizPhneNb,omitempty"`
	MobPhneNb     PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MobPhneNb,omitempty"`
	OthrPhneNb    PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPhneNb,omitempty"`
	PrsnlEmailAdr Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrsnlEmailAdr,omitempty"`
	BizEmailAdr   Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizEmailAdr,omitempty"`
	OthrEmailAdr  Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrEmailAdr,omitempty"`
	HomeFaxNb     PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HomeFaxNb,omitempty"`
	BizFaxNb      PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizFaxNb,omitempty"`
	URLAdr        Max256Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 URLAdr,omitempty"`
	Lang          ISO2ALanguageCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lang,omitempty"`
}

type Contact3

type Contact3 struct {
	CntrlPhneNb    PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CntrlPhneNb,omitempty"`
	PrprtyPhneNb   PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrprtyPhneNb,omitempty"`
	TollFreePhneNb PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TollFreePhneNb,omitempty"`
	Email          Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Email,omitempty"`
	FaxNb          PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FaxNb,omitempty"`
	URLAdr         Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 URLAdr,omitempty"`
	Lang           string      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lang,omitempty"`
}

type Contact6

type Contact6 struct {
	HomePhneNb    PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HomePhneNb,omitempty"`
	BizPhneNb     PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizPhneNb,omitempty"`
	MobPhneNb     PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MobPhneNb,omitempty"`
	OthrPhneNb    PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPhneNb,omitempty"`
	PrsnlEmailAdr Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrsnlEmailAdr,omitempty"`
	BizEmailAdr   Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizEmailAdr,omitempty"`
	OthrEmailAdr  Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrEmailAdr,omitempty"`
	HomeFaxNb     PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HomeFaxNb,omitempty"`
	BizFaxNb      PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizFaxNb,omitempty"`
	URLAdr        Max256Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 URLAdr,omitempty"`
	Lang          string      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lang,omitempty"`
}

type Content1

type Content1 struct {
	Val    Max20KText   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
	Sgntr  Max140Binary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgntr,omitempty"`
	CertId Max70Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CertId,omitempty"`
}

type ContentInformationType19

type ContentInformationType19 struct {
	CnttTp       ContentType2Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttTp"`
	EnvlpdData   EnvelopedData5     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EnvlpdData,omitempty"`
	AuthntcdData AuthenticatedData5 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthntcdData,omitempty"`
	SgndData     SignedData5        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SgndData,omitempty"`
	DgstdData    DigestedData5      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstdData,omitempty"`
}

type ContentInformationType20

type ContentInformationType20 struct {
	MACData MACData1          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MACData"`
	MAC     Max8HexBinaryText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MAC"`
}

type ContentType2Code

type ContentType2Code string

May be one of DATA, SIGN, EVLP, DGST, AUTH

type ContentType3Code

type ContentType3Code string

May be one of EVLP, IFSE

type Context1

type Context1 struct {
	PtOfSvcCntxt PointOfServiceContext1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PtOfSvcCntxt"`
	TxCntxt      TransactionContext1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxCntxt"`
	Vrfctn       []Verification1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrfctn,omitempty"`
	RskCntxt     []RiskContext1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RskCntxt,omitempty"`
	SaleCntxt    SaleContext7           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SaleCntxt,omitempty"`
}

type CorporateTaxType1Code

type CorporateTaxType1Code string

May be one of SMBS, OTHR, CORP

type Credentials1

type Credentials1 struct {
	IdCd     Identification2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IdCd"`
	OthrIdCd Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrIdCd,omitempty"`
	IdVal    Max70Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IdVal"`
}

type CryptographicKey13

type CryptographicKey13 struct {
	Id           Max140Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	AddtlId      Max35Binary               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
	Vrsn         Max256Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn"`
	Tp           CryptographicKeyType3Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Fctn         []KeyUsage1Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Fctn,omitempty"`
	ActvtnDt     ISODateTime               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ActvtnDt,omitempty"`
	DeactvtnDt   ISODateTime               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DeactvtnDt,omitempty"`
	KeyVal       ContentInformationType19  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyVal,omitempty"`
	KeyChckVal   Max35Binary               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyChckVal,omitempty"`
	AddtlMgmtInf []GenericInformation1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlMgmtInf,omitempty"`
}

type CryptographicKeyType3Code

type CryptographicKeyType3Code string

May be one of AES2, EDE3, DKP9, AES9, AES5, EDE4

type Customer3

type Customer3 struct {
	CstmrId   Max35Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrId,omitempty"`
	Nm        Max70Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Adr       Address1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Crdntls   []Credentials1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Crdntls,omitempty"`
	AddtlInf  Max256Text     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlInf,omitempty"`
	DtOfBirth ISODate        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtOfBirth,omitempty"`
}

type Customer4

type Customer4 struct {
	Tp                CustomerType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	RefNb             Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RefNb,omitempty"`
	TaxRegnId         []Max70Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxRegnId,omitempty"`
	AuthrsdCtctCpny   Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthrsdCtctCpny,omitempty"`
	AuthrsdCtctNm     Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthrsdCtctNm,omitempty"`
	AuthrsdCtctPhneNb PhoneNumber       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthrsdCtctPhneNb,omitempty"`
	VIPInd            bool              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VIPInd,omitempty"`
	CstmrRltsh        Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrRltsh,omitempty"`
}

type Customer5

type Customer5 struct {
	Nm             Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id             PartyIdentification208 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	CstmrFileRefNb Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrFileRefNb,omitempty"`
	Age            Max2NumericText        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Age,omitempty"`
	Adr            Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct           Contact6               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
}

type Customer6

type Customer6 struct {
	AcctNb Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctNb,omitempty"`
	Nm     Max70Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	PhneNb PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PhneNb,omitempty"`
}

type CustomerAssigner1Code

type CustomerAssigner1Code string

May be one of AUTH, CRCY, CUST, ONFL, OTHR, TRAY

type CustomerDevice2

type CustomerDevice2 struct {
	Dvc   Device1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dvc,omitempty"`
	Id    Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Prvdr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prvdr,omitempty"`
}

type CustomerDeviceType1Code

type CustomerDeviceType1Code string

May be one of MOBL, OTHN, OTHP, PECR, TBLT, NSCR, SECR

type CustomerReference1

type CustomerReference1 struct {
	Id  Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Dtl Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dtl,omitempty"`
}

type CustomerType2Code

type CustomerType2Code string

May be one of CSMR, CPNY

type DeliveryInformation3

type DeliveryInformation3 struct {
	DlvryNoteNb Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DlvryNoteNb,omitempty"`
	Adr         Address1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct        Contact6   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	Instrs      Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Instrs,omitempty"`
	Dt          ISODate    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	Tm          ISOTime    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tm,omitempty"`
}

type DepartureOrArrival1

type DepartureOrArrival1 struct {
	Lctn Max70Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lctn,omitempty"`
	Desc Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Dt   ISODate    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	Tm   ISOTime    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tm,omitempty"`
}

type DepartureOrArrival2

type DepartureOrArrival2 struct {
	CrrierCd Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrrierCd,omitempty"`
	RouteNb  Max35NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RouteNb,omitempty"`
	Dt       ISODate          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	Tm       ISOTime          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tm,omitempty"`
}

type DepositDetails1

type DepositDetails1 struct {
	Tp     CardDepositType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Amt    Amount5              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt,omitempty"`
}

type Destination2

type Destination2 struct {
	NmAndLctn Max99Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NmAndLctn,omitempty"`
	Adr       Address1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
}

type DetailAmount1Code

type DetailAmount1Code string

May be one of CSHB, DONN, DCCF, EXTR, FORX, GRTY, OTHN, OTHP, SRCH, TAXT

type DetailedAmount19

type DetailedAmount19 struct {
	Tp             DetailAmount1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp         Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Amt            Amount5           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	CrdhldrBllgAmt Amount5           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrBllgAmt,omitempty"`
	RcncltnAmt     Amount5           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcncltnAmt,omitempty"`
	Labl           Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Labl,omitempty"`
}

type Device1

type Device1 struct {
	Tp     CustomerDeviceType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Lang   string                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lang,omitempty"`
	PhneNb PhoneNumber             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PhneNb,omitempty"`
	Lctn   GeographicCoordinates1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lctn,omitempty"`
	IPAdr  Max70Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IPAdr,omitempty"`
	Email  Max256Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Email,omitempty"`
}

type DigestedData5

type DigestedData5 struct {
	Vrsn        float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	DgstAlgo    AlgorithmIdentification21 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo"`
	NcpsltdCntt EncapsulatedContent3      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcpsltdCntt"`
	Dgst        Max140Binary              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dgst"`
}

type Discount3

type Discount3 struct {
	Tp  Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Val Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type DisplayCapabilities6

type DisplayCapabilities6 struct {
	Dstn      UserInterface1Code  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dstn"`
	AvlblFrmt []OutputFormat1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AvlblFrmt,omitempty"`
	NbOfLines float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbOfLines,omitempty"`
	LineWidth float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineWidth,omitempty"`
	AvlblLang []string            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AvlblLang,omitempty"`
}

type DisputeData1

type DisputeData1 struct {
	PresntmntCycl  Exact1NumericText   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PresntmntCycl,omitempty"`
	DsptCond       Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptCond,omitempty"`
	DsptSts        Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptSts,omitempty"`
	PrtlDspt       bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrtlDspt,omitempty"`
	DsptRef        []DisputeReference1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptRef,omitempty"`
	DcmnttnSts     Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DcmnttnSts,omitempty"`
	AddtlDsptData  Max1000Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlDsptData,omitempty"`
	DsptRjctRsn    []Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptRjctRsn,omitempty"`
	ChrgbckElgblty Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChrgbckElgblty,omitempty"`
}

type DisputeIdentification1

type DisputeIdentification1 struct {
	Tp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Id Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
}

type DisputeReference1

type DisputeReference1 struct {
	AssgnrNtty     PartyType32Code          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AssgnrNtty,omitempty"`
	OthrAssgnrNtty Max35Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrAssgnrNtty,omitempty"`
	DsptId         []DisputeIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptId"`
}

type Distance1

type Distance1 struct {
	UnitOfMeasr UnitOfMeasure10Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitOfMeasr,omitempty"`
	OdmtrStart  Max10NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OdmtrStart,omitempty"`
	OdmtrRtr    Max10NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OdmtrRtr,omitempty"`
	TtlDstnc    Max10NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlDstnc,omitempty"`
	FreeDstnc   Max10NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FreeDstnc,omitempty"`
	Rate        float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rate,omitempty"`
}

type Document

type Document struct {
	AuthstnInitn AuthorisationInitiationV02 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthstnInitn"`
}

type DocumentReference1

type DocumentReference1 struct {
	Tp  Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Ref Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ref,omitempty"`
}

type Driver1

type Driver1 struct {
	Nm        Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id        Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	DrvgLic   DrivingLicense1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvgLic,omitempty"`
	Mplyr     Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Mplyr,omitempty"`
	MplyeeId  Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MplyeeId,omitempty"`
	DeptNb    Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DeptNb,omitempty"`
	AddtlId   []TravelDocument1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
	DtOfBirth ISODate           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtOfBirth,omitempty"`
	AddtlData Max350Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type DriverInParty1

type DriverInParty1 struct {
	Nm         Max70Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Adr        Address1          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct       Contact6          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	DtOfBirth  ISODate           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtOfBirth,omitempty"`
	Age        Max2NumericText   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Age,omitempty"`
	DrvrCrdntl []TravelDocument1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvrCrdntl,omitempty"`
	DrvgLic    DrivingLicense1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvgLic,omitempty"`
}

type DrivingLicense1

type DrivingLicense1 struct {
	Tp          Max70Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Form        PresentationMedium2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Form,omitempty"`
	Id          Max70Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr      LegalStructure1Code     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	IssncDt     ISODate                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IssncDt,omitempty"`
	XprtnDt     ISODate                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XprtnDt,omitempty"`
	Ctry        Min2Max3AlphaText       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	Stat        Max16Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Stat,omitempty"`
	Prvc        Max16Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prvc,omitempty"`
	OthrAuthrty Max16Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrAuthrty,omitempty"`
}

type ECommerceData1

type ECommerceData1 struct {
	Tp  Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Val Max2048Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type EncapsulatedContent3

type EncapsulatedContent3 struct {
	CnttTp ContentType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttTp"`
	Cntt   Max100KBinary    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cntt,omitempty"`
}

type EncryptedContent4

type EncryptedContent4 struct {
	CnttTp         ContentType2Code          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttTp"`
	CnttNcrptnAlgo AlgorithmIdentification24 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttNcrptnAlgo,omitempty"`
	NcrptdData     Max100KBinary             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdData"`
}

type EncryptedContent5

type EncryptedContent5 struct {
	CnttTp         ContentType2Code          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttTp"`
	CnttNcrptnAlgo AlgorithmIdentification25 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttNcrptnAlgo"`
	NcrptdDataElmt []EncryptedDataElement1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdDataElmt"`
}

type EncryptedData1

type EncryptedData1 struct {
	Ctrl           Exact1HexBinaryText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctrl,omitempty"`
	KeySetIdr      Max8NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeySetIdr,omitempty"`
	DrvdInf        Max32HexBinaryText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvdInf,omitempty"`
	Algo           Max2NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo,omitempty"`
	KeyLngth       Max4NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyLngth,omitempty"`
	KeyPrtcn       Max2NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyPrtcn,omitempty"`
	KeyIndx        Max5NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIndx,omitempty"`
	PddgMtd        Max2NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PddgMtd,omitempty"`
	NcrptdDataFrmt Max2NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdDataFrmt,omitempty"`
	NcrptdDataElmt []EncryptedDataElement1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdDataElmt"`
}

type EncryptedData1Choice

type EncryptedData1Choice struct {
	BinryData   Max100KBinary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BinryData,omitempty"`
	HexBinryVal string        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HexBinryVal,omitempty"`
}

type EncryptedDataElement1

type EncryptedDataElement1 struct {
	Id                   ExternalEncryptedElementIdentification1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	OthrId               Max35Text                                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrId,omitempty"`
	NcrptdData           EncryptedData1Choice                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdData"`
	ClearTxtDataFrmt     EncryptedDataFormat1Code                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ClearTxtDataFrmt,omitempty"`
	OthrClearTxtDataFrmt Max35Text                                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrClearTxtDataFrmt,omitempty"`
}

type EncryptedDataFormat1Code

type EncryptedDataFormat1Code string

May be one of ASCI, BINF, EBCD, HEXF, OTHN, OTHP

type EncryptionFormat2Code

type EncryptionFormat2Code string

May be one of TR31, TR34, I238

type EncryptionFormat3Code

type EncryptionFormat3Code string

May be one of TR34, TR31, CTCE, CBCE

type EnvelopedData5

type EnvelopedData5 struct {
	Vrsn       float64                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	OrgtrInf   OriginatorInformation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgtrInf,omitempty"`
	Rcpt       []Recipient6Choice     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcpt"`
	NcrptdCntt EncryptedContent4      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdCntt,omitempty"`
}

type EnvelopedData6

type EnvelopedData6 struct {
	Vrsn       float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	Rcpt       []Recipient7Choice `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcpt"`
	NcrptdCntt EncryptedContent5  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdCntt,omitempty"`
}

type Environment1

type Environment1 struct {
	Acqrr    PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Acqrr"`
	Sndr     PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sndr,omitempty"`
	Rcvr     PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcvr,omitempty"`
	Accptr   PartyIdentification203 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Accptr,omitempty"`
	Pyer     PartyIdentification211 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pyer,omitempty"`
	Pyee     PartyIdentification211 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pyee,omitempty"`
	Termnl   Terminal1              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Termnl,omitempty"`
	Card     CardData1              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Card"`
	CstmrDvc CustomerDevice2        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrDvc,omitempty"`
	Wllt     Wallet1                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Wllt,omitempty"`
	Tkn      Token1                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tkn,omitempty"`
	Crdhldr  Cardholder15           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Crdhldr,omitempty"`
}

type Exact1HexBinaryText

type Exact1HexBinaryText string

Must match the pattern ([0-9A-F][0-9A-F]){1}

type Exact1NumericText

type Exact1NumericText string

Must match the pattern [0-9]

type Exact2AlphaNumericText

type Exact2AlphaNumericText string

Must match the pattern [a-zA-Z0-9]{2}

type Exact2NumericText

type Exact2NumericText string

Must match the pattern [0-9]{2}

type Exact3NumericText

type Exact3NumericText string

Must match the pattern [0-9]{3}

type Exact4NumericText

type Exact4NumericText string

Must match the pattern [0-9]{4}

type Exact6AlphaNumericText

type Exact6AlphaNumericText string

Must match the pattern [a-zA-Z0-9\s]{6}

type ExternalEncryptedElementIdentification1Code

type ExternalEncryptedElementIdentification1Code string

Must match the pattern ([0-9A-F][0-9A-F]){1,3}

type FeeAmount2

type FeeAmount2 struct {
	Amt      float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Ccy      ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ccy,omitempty"`
	XchgRate float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XchgRate,omitempty"`
	QtnDt    ISODateTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 QtnDt,omitempty"`
	Sgn      bool                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgn,omitempty"`
}

type FinancialInstitution4

type FinancialInstitution4 struct {
	Id           Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Nm           Max70Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Adr          Address1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Email        Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Email,omitempty"`
	URLAdr       Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 URLAdr,omitempty"`
	PhneNb       Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PhneNb,omitempty"`
	CstmrSvc     Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrSvc,omitempty"`
	AddtlCtctInf Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlCtctInf,omitempty"`
}

type FleetData2

type FleetData2 struct {
	Summry  FleetSummary1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	LineItm []FleetLineItem1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineItm,omitempty"`
}

type FleetDiscountTotals1

type FleetDiscountTotals1 struct {
	TtlAmt     float64 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
	FuelAmt    float64 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelAmt,omitempty"`
	NonFuelAmt float64 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NonFuelAmt,omitempty"`
}

type FleetLineItem1

type FleetLineItem1 struct {
	FuelInd           bool                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelInd"`
	SvcTp             FleetServiceType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcTp,omitempty"`
	FuelBrndCd        Max4Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelBrndCd,omitempty"`
	FleetPdctCd       Max4Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FleetPdctCd,omitempty"`
	FleetPdctCtgy     Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FleetPdctCtgy,omitempty"`
	FleetPdctQlfr     Max6Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FleetPdctQlfr,omitempty"`
	FleetPdctCdAssgnr Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FleetPdctCdAssgnr,omitempty"`
	UnitPricTaxInd    bool                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitPricTaxInd,omitempty"`
	UnitPric          float64               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitPric,omitempty"`
	UnitOfMeasr       UnitOfMeasure1Code    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitOfMeasr,omitempty"`
	OthrUnitOfMeasr   Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrUnitOfMeasr,omitempty"`
	PdctQty           Max12NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctQty,omitempty"`
	DscntAmt          float64               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DscntAmt,omitempty"`
	NonTaxblInd       bool                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NonTaxblInd,omitempty"`
	Tax               []Tax33               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	TtlAmtExclgTax    float64               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmtExclgTax,omitempty"`
	TtlAmtInclgTax    float64               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmtInclgTax,omitempty"`
}

type FleetPurchaseType1Code

type FleetPurchaseType1Code string

May be one of FUEL, NONF, FANF

type FleetServiceType1Code

type FleetServiceType1Code string

May be one of SLSV, HSDI, FLSV

type FleetSummary1

type FleetSummary1 struct {
	Drvr            Driver1                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drvr,omitempty"`
	Vhcl            Vehicle5                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vhcl,omitempty"`
	DrvrOrVhclCard  PlainCardData20         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvrOrVhclCard,omitempty"`
	CardFuelPrmptCd float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardFuelPrmptCd,omitempty"`
	AgtFuelPrmptCd  Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AgtFuelPrmptCd,omitempty"`
	TripInf         TripInformation1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TripInf,omitempty"`
	LclAmnty        []LocalAmenity1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LclAmnty,omitempty"`
	TxRltdData      []PaymentTransaction117 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxRltdData,omitempty"`
	AddtlData       AdditionalInformation19 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type Frequency12Code

type Frequency12Code string

May be one of YEAR, DAIL, FRTN, MNTH, QURT, MIAN, TEND, WEEK

type FundingService1

type FundingService1 struct {
	FndgSvc TransferService1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FndgSvc,omitempty"`
	FndgSrc FundingSource2    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FndgSrc,omitempty"`
	ClmInf  ClaimInformation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ClmInf,omitempty"`
}

type FundingSource2

type FundingSource2 struct {
	SrcTp     FundingSourceType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SrcTp,omitempty"`
	OthrSrcTp Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrSrcTp,omitempty"`
	Ref       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ref,omitempty"`
}

type FundingSourceType2Code

type FundingSourceType2Code string

May be one of LOYL, OTHN, OTHP, SVNG, UVRL, CASH, CRDT, CDBT, EPRS, DBAC, CURR, CHQE, PRPD, LCDT

type GenericIdentification172

type GenericIdentification172 struct {
	Id     Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Tp     PartyType17Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Assgnr PartyType18Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry   Min2Max3AlphaText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
}

type GenericIdentification48

type GenericIdentification48 struct {
	Id   Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Vrsn Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn"`
	Issr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Issr"`
}

type GenericInformation1

type GenericInformation1 struct {
	Nm  Max70Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm"`
	Val Max140Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val,omitempty"`
}

type GeographicCoordinates1

type GeographicCoordinates1 struct {
	Lat  Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lat"`
	Long Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Long"`
}

type GoodsAndServices1Code

type GoodsAndServices1Code string

May be one of ELEC, PHYS, ELPH

type GoodsAndServicesSubType1Code

type GoodsAndServicesSubType1Code string

May be one of CRCU, FORX, OTHN, OTHP, SECS

type GracePeriod1

type GracePeriod1 struct {
	Tm         Max3NumericText          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tm"`
	UnitTp     GracePeriodUnitType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitTp"`
	OthrUnitTp Max35Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrUnitTp,omitempty"`
}

type GracePeriodUnitType1Code

type GracePeriodUnitType1Code string

May be one of WEKS, PMTS, OTHP, OTHN, MNTH, DAYS

type Header42

type Header42 struct {
	MsgFctn        MessageFunction16Code       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgFctn"`
	PrtcolVrsn     Max2048Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrtcolVrsn"`
	XchgId         Max35Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XchgId,omitempty"`
	ReTrnsmssnCntr Max3NumericText             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ReTrnsmssnCntr,omitempty"`
	CreDtTm        ISODateTime                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CreDtTm"`
	BtchMgmtInf    BatchManagementInformation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BtchMgmtInf,omitempty"`
	InitgPty       GenericIdentification172    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InitgPty"`
	RcptPty        GenericIdentification172    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcptPty,omitempty"`
	TracData       []AdditionalData1           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TracData,omitempty"`
	Tracblt        []Traceability7             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tracblt,omitempty"`
}

type HiredVehicle1

type HiredVehicle1 struct {
	CpnyTp    Max35Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CpnyTp,omitempty"`
	CpnyNm    Max70Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CpnyNm,omitempty"`
	TpOfVhcl  Max35Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TpOfVhcl,omitempty"`
	VhclId    Max35Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclId,omitempty"`
	DrvrId    Max35Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvrId,omitempty"`
	DrvrTaxId Max35Text    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvrTaxId,omitempty"`
	Dstn      Destination2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dstn,omitempty"`
}

type ISO2ALanguageCode

type ISO2ALanguageCode string

Must match the pattern [a-z]{2,2}

type ISO3NumericCountryCode

type ISO3NumericCountryCode string

Must match the pattern [0-9]{3,3}

type ISO3NumericCurrencyCode

type ISO3NumericCurrencyCode string

Must match the pattern [0-9]{3,3}

type ISODate

type ISODate time.Time

func (ISODate) MarshalText

func (t ISODate) MarshalText() ([]byte, error)

func (*ISODate) UnmarshalText

func (t *ISODate) UnmarshalText(text []byte) error

type ISODateTime

type ISODateTime time.Time

func (ISODateTime) MarshalText

func (t ISODateTime) MarshalText() ([]byte, error)

func (*ISODateTime) UnmarshalText

func (t *ISODateTime) UnmarshalText(text []byte) error

type ISOTime

type ISOTime time.Time

func (ISOTime) MarshalText

func (t ISOTime) MarshalText() ([]byte, error)

func (*ISOTime) UnmarshalText

func (t *ISOTime) UnmarshalText(text []byte) error

type Identification2Code

type Identification2Code string

May be one of DRID, NTID, PASS, SSYN, ARNB, OTHP, OTHN, EMAL, PHNB

type Instalment3

type Instalment3 struct {
	PmtSeqNb float64 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PmtSeqNb,omitempty"`
	Plan     []Plan1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Plan,omitempty"`
}

type InstalmentAmountDetails1

type InstalmentAmountDetails1 struct {
	Tp     InstalmentAmountDetailsType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	SubTp  Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SubTp,omitempty"`
	Amt    Amount5                          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt,omitempty"`
	Pctg   float64                          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pctg,omitempty"`
}

type InstalmentAmountDetailsType1Code

type InstalmentAmountDetailsType1Code string

May be one of TAXX, RQST, OTHP, OTHN, OTHC, INSU, FUNA, FEES, EXPN, AFCO

type InstalmentPeriod1Code

type InstalmentPeriod1Code string

May be one of MNTH, ANNU

type InterestRate1Code

type InterestRate1Code string

May be one of GSRT, NTRT, OTHN, OTHP

type InterestRateDetails1

type InterestRateDetails1 struct {
	Tp     InterestRate1Code     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Prd    InstalmentPeriod1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prd"`
	Rate   float64               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rate"`
}

type Invoice1

type Invoice1 struct {
	Summry  InvoiceSummary1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	LineItm []InvoiceLineItem1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineItm,omitempty"`
}

type InvoiceLineItem1

type InvoiceLineItem1 struct {
	Dt                 ISODate            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	OrdrDt             ISODate            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrdrDt,omitempty"`
	CtrctNb            Max70Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtrctNb,omitempty"`
	ShppgDt            ISODate            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShppgDt,omitempty"`
	RbllgInd           bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RbllgInd,omitempty"`
	MdclSvcsInd        bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MdclSvcsInd,omitempty"`
	ShipToIndstryCd    Max50Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShipToIndstryCd,omitempty"`
	PdctCd             Max70Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctCd,omitempty"`
	PdctQlfr           Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctQlfr,omitempty"`
	Desc               Max256Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	TpOfSpply          Max10Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TpOfSpply,omitempty"`
	UnitOfMeasr        UnitOfMeasure1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitOfMeasr,omitempty"`
	OthrUnitOfMeasr    Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrUnitOfMeasr,omitempty"`
	UnitPric           float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitPric,omitempty"`
	PdctQty            float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctQty,omitempty"`
	Adjstmnt           Adjustment11       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adjstmnt,omitempty"`
	InsrncInd          bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt          float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
	Tax                []Tax33            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	UnqVATInvcRef      Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnqVATInvcRef,omitempty"`
	TtlAmt             float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
	CdtInd             bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	ZeroCostToCstmrInd bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ZeroCostToCstmrInd,omitempty"`
	AddtlData          Max350Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type InvoiceSummary1

type InvoiceSummary1 struct {
	InvcNb         Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcNb,omitempty"`
	Sellr          PartyIdentification206 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sellr,omitempty"`
	Buyr           PartyIdentification206 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Buyr,omitempty"`
	InvcDt         ISODate                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcDt,omitempty"`
	InvcCreDtTm    ISODateTime            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcCreDtTm,omitempty"`
	SummryCmmdtyId Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	FrghtAmt       float64                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FrghtAmt,omitempty"`
	TaxTtl         []Tax33                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxTtl,omitempty"`
	TaxRclmMtd     TaxReclaimMethod1Code  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxRclmMtd,omitempty"`
	AddtlData      Max350Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type IssuerAndSerialNumber1

type IssuerAndSerialNumber1 struct {
	Issr  CertificateIssuer1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Issr"`
	SrlNb Max35Binary        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SrlNb"`
}

type JourneyInformation1

type JourneyInformation1 struct {
	JrnyTp   JourneyType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 JrnyTp,omitempty"`
	JrnyData Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 JrnyData,omitempty"`
	DtAndTm  ISODateTime      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtAndTm,omitempty"`
}

type JourneyType1Code

type JourneyType1Code string

May be one of COAC, EARL, FLGT, LATE, ONTM, OTHR, TRAN, VESS

type KEK5

type KEK5 struct {
	Vrsn          float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	KEKId         KEKIdentifier2            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KEKId"`
	KeyNcrptnAlgo AlgorithmIdentification23 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyNcrptnAlgo"`
	NcrptdKey     Max500Binary              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdKey"`
}

type KEK6

type KEK6 struct {
	Vrsn          float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	KEKId         KEKIdentifier6            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KEKId"`
	KeyNcrptnAlgo AlgorithmIdentification28 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyNcrptnAlgo"`
	NcrptdKey     Max500Binary              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdKey,omitempty"`
}

type KEKIdentifier2

type KEKIdentifier2 struct {
	KeyId     Max140Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyId"`
	KeyVrsn   Max140Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyVrsn"`
	SeqNb     float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SeqNb,omitempty"`
	DerivtnId Min5Max16Binary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DerivtnId,omitempty"`
}

type KEKIdentifier6

type KEKIdentifier6 struct {
	KeyId     Max140Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyId"`
	KeyVrsn   Max140Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyVrsn,omitempty"`
	SeqNb     float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SeqNb,omitempty"`
	DerivtnId Min5Max16Binary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DerivtnId,omitempty"`
}

type KeyTransport5

type KeyTransport5 struct {
	Vrsn          float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	RcptId        Recipient5Choice          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcptId"`
	KeyNcrptnAlgo AlgorithmIdentification19 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyNcrptnAlgo"`
	NcrptdKey     Max5000Binary             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdKey"`
}

type KeyTransport6

type KeyTransport6 struct {
	Vrsn          float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	RcptId        Recipient5Choice          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcptId"`
	KeyNcrptnAlgo AlgorithmIdentification27 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyNcrptnAlgo"`
	NcrptdKey     Max5000Binary             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdKey"`
}

type KeyUsage1Code

type KeyUsage1Code string

May be one of ENCR, DCPT, DENC, DDEC, TRNI, TRNX, MACG, MACV, SIGG, SUGV, PINE, PIND, PINV, KEYG, KEYI, KEYX, KEYD

type LegalStructure1Code

type LegalStructure1Code string

May be one of STAE, PVIN, MUNI, CNTY, NATI

type LifeCycleSupport1Code

type LifeCycleSupport1Code string

May be one of AUTH, FINC

type LocalAmenity1

type LocalAmenity1 struct {
	Tp       LocationAmenity1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp   Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	AvlblInd bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AvlblInd,omitempty"`
}

type Location3

type Location3 struct {
	LctnCd    Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LctnCd,omitempty"`
	LctnNm    Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LctnNm,omitempty"`
	Desc      Max256Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	Adr       Address1                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	LclTmZone Max70Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LclTmZone,omitempty"`
	LclCcy    ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LclCcy,omitempty"`
}

type LocationAmenity1Code

type LocationAmenity1Code string

May be one of AADA, AFLA, AVLA, CRWA, CVSA, DISA, EWAA, MRLA, OTHN, OTHP, PAPA, TSHA, TSRA, TSSA, TFHA, VSWA, VHPA, VMRA

type Lodging2

type Lodging2 struct {
	Summry  LodgingSummary1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	LineItm []LodgingLineItem1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineItm,omitempty"`
}

type LodgingActivity1Code

type LodgingActivity1Code string

May be one of APTM, BEBR, COTT, CRUI, HOME, HOST, HOTL, LODG, MOTL, OTHN, OTHP, RESO, ROAB, TOSH

type LodgingLineItem1

type LodgingLineItem1 struct {
	Dt            ISODate             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	Tm            ISOTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tm,omitempty"`
	Tp            LodgingService1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp        Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	PstChckOutInd bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PstChckOutInd,omitempty"`
	CdtInd        bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtInd,omitempty"`
	UnitAmt       float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitAmt,omitempty"`
	Drtn          Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	SubTtlAmt     float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SubTtlAmt,omitempty"`
	Tax           []Tax33             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	AddtlData     Max350Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type LodgingProperty1

type LodgingProperty1 struct {
	Tp             LodgingActivity1Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp         Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	PrstgsPrprty   Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrstgsPrprty,omitempty"`
	Nm             Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id             PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Lctn           Location3              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lctn,omitempty"`
	Assgnr         CompanyAssigner2Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctct           Contact3               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	Ctry           Min2Max3AlphaText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	FireSftyActInd bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FireSftyActInd,omitempty"`
}

type LodgingRoom1

type LodgingRoom1 struct {
	RoomTp       Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RoomTp,omitempty"`
	RoomLctn     Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RoomLctn,omitempty"`
	BedTp        Max70Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BedTp,omitempty"`
	GstsPerRoom  Max3NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GstsPerRoom,omitempty"`
	AdltsInRoom  Max3NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdltsInRoom,omitempty"`
	ChldrnInRoom Max3NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChldrnInRoom,omitempty"`
	DalyRoomRate float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DalyRoomRate,omitempty"`
}

type LodgingService1Code

type LodgingService1Code string

May be one of ACCO, AUDI, BANQ, BREK, BUSS, CONC, EARA, EARD, ENTR, FCAA, GAME, GARA, GIFT, HEAL, INTE, LAUN, LONG, MINI, NOSH, OTHR, PARK, PHON, REST, RMSE, SPAS, THRD, TRAN, VODS

type LodgingSummary1

type LodgingSummary1 struct {
	FolioNb        Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FolioNb,omitempty"`
	Prprty         LodgingProperty1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prprty,omitempty"`
	Cstmr          Customer5           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cstmr,omitempty"`
	NbOfRooms      Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbOfRooms,omitempty"`
	Room           []LodgingRoom1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Room,omitempty"`
	Drtn           Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	Arrvl          DepartureOrArrival2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Arrvl,omitempty"`
	Dprture        DepartureOrArrival1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dprture,omitempty"`
	NoShowInd      bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NoShowInd,omitempty"`
	InsrncInd      bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt      float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
	TtlTax         []Tax33             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlTax,omitempty"`
	TtlAmt         float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
	AuthrsdAmt     []AuthorisedAmount1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthrsdAmt,omitempty"`
	SummryCmmdtyId Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	LltyPrgrmm     []LoyaltyProgramme2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
	AddtlData      Max350Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type LoyaltyMember1

type LoyaltyMember1 struct {
	Nm            Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Adr           Address1              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Id            Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	MmbSts        Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MmbSts,omitempty"`
	XprtnDt       ISODate               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XprtnDt,omitempty"`
	LltyVal       Max10NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyVal,omitempty"`
	LltyValTp     LoyaltyValueType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyValTp,omitempty"`
	OthrLltyValTp Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrLltyValTp,omitempty"`
	ValToCdt      Max10NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ValToCdt,omitempty"`
	ValToDbt      Max10NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ValToDbt,omitempty"`
	Bal           Max10NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Bal,omitempty"`
}

type LoyaltyProgramme1

type LoyaltyProgramme1 struct {
	PrgrmmElgbltyInd []bool         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrgrmmElgbltyInd,omitempty"`
	PrgrmmIssr       Max35Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrgrmmIssr,omitempty"`
	LltyMmb          LoyaltyMember1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyMmb,omitempty"`
}

type LoyaltyProgramme2

type LoyaltyProgramme2 struct {
	PrgrmmTp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrgrmmTp,omitempty"`
	PrgmId   Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrgmId,omitempty"`
	PtcptId  Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PtcptId,omitempty"`
}

type LoyaltyValueType1Code

type LoyaltyValueType1Code string

May be one of MILE, MONE, OTHR, POIN, PRIV

type MACData1

type MACData1 struct {
	Ctrl         Exact1HexBinaryText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctrl"`
	KeySetIdr    Max8NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeySetIdr"`
	DrvdInf      Max32HexBinaryText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvdInf,omitempty"`
	Algo         Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo"`
	KeyLngth     Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyLngth,omitempty"`
	KeyPrtcn     Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyPrtcn,omitempty"`
	KeyIndx      Max5NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIndx,omitempty"`
	PddgMtd      Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PddgMtd,omitempty"`
	InitlstnVctr Max32HexBinaryText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InitlstnVctr,omitempty"`
}

type Max1000Text

type Max1000Text string

May be no more than 1000 items long

type Max100KBinary

type Max100KBinary []byte

func (Max100KBinary) MarshalText

func (t Max100KBinary) MarshalText() ([]byte, error)

func (*Max100KBinary) UnmarshalText

func (t *Max100KBinary) UnmarshalText(text []byte) error

type Max104Text

type Max104Text string

May be no more than 104 items long

type Max10KText

type Max10KText string

May be no more than 10000 items long

type Max10NumericText

type Max10NumericText string

Must match the pattern [0-9]{1,10}

type Max10Text

type Max10Text string

May be no more than 10 items long

type Max11NumericText

type Max11NumericText string

Must match the pattern [0-9]{1,11}

type Max12NumericText

type Max12NumericText string

Must match the pattern [0-9]{1,12}

type Max140Binary

type Max140Binary []byte

func (Max140Binary) MarshalText

func (t Max140Binary) MarshalText() ([]byte, error)

func (*Max140Binary) UnmarshalText

func (t *Max140Binary) UnmarshalText(text []byte) error

type Max140Text

type Max140Text string

May be no more than 140 items long

type Max15NumericText

type Max15NumericText string

Must match the pattern [0-9]{1,15}

type Max15Text

type Max15Text string

May be no more than 15 items long

type Max16HexBinaryText

type Max16HexBinaryText string

Must match the pattern ([0-9A-F][0-9A-F]){1,16}

type Max16Text

type Max16Text string

May be no more than 16 items long

type Max19HexBinaryText

type Max19HexBinaryText string

Must match the pattern ([0-9A-F][0-9A-F]){1,19}

type Max19NumericText

type Max19NumericText string

Must match the pattern [0-9]{1,19}

type Max2048Text

type Max2048Text string

May be no more than 2048 items long

type Max20KText

type Max20KText string

May be no more than 20000 items long

type Max20Text

type Max20Text string

May be no more than 20 items long

type Max23NumericText

type Max23NumericText string

Must match the pattern [0-9]{1,23}

type Max256Text

type Max256Text string

May be no more than 256 items long

type Max2NumericText

type Max2NumericText string

Must match the pattern [0-9]{1,2}

type Max3000Binary

type Max3000Binary []byte

func (Max3000Binary) MarshalText

func (t Max3000Binary) MarshalText() ([]byte, error)

func (*Max3000Binary) UnmarshalText

func (t *Max3000Binary) UnmarshalText(text []byte) error

type Max32HexBinaryText

type Max32HexBinaryText string

Must match the pattern ([0-9A-F][0-9A-F]){1,32}

type Max350Text

type Max350Text string

May be no more than 350 items long

type Max35Binary

type Max35Binary []byte

func (Max35Binary) MarshalText

func (t Max35Binary) MarshalText() ([]byte, error)

func (*Max35Binary) UnmarshalText

func (t *Max35Binary) UnmarshalText(text []byte) error

type Max35NumericText

type Max35NumericText string

Must match the pattern [0-9]{1,35}

type Max35Text

type Max35Text string

May be no more than 35 items long

type Max37Text

type Max37Text string

May be no more than 37 items long

type Max3NumericText

type Max3NumericText string

Must match the pattern [0-9]{1,3}

type Max40Text

type Max40Text string

May be no more than 40 items long

type Max4NumericText

type Max4NumericText string

Must match the pattern [0-9]{1,4}

type Max4Text

type Max4Text string

May be no more than 4 items long

type Max5000Binary

type Max5000Binary []byte

func (Max5000Binary) MarshalText

func (t Max5000Binary) MarshalText() ([]byte, error)

func (*Max5000Binary) UnmarshalText

func (t *Max5000Binary) UnmarshalText(text []byte) error

type Max500Binary

type Max500Binary []byte

func (Max500Binary) MarshalText

func (t Max500Binary) MarshalText() ([]byte, error)

func (*Max500Binary) UnmarshalText

func (t *Max500Binary) UnmarshalText(text []byte) error

type Max500Text

type Max500Text string

May be no more than 500 items long

type Max50Text

type Max50Text string

May be no more than 50 items long

type Max5NumericText

type Max5NumericText string

Must match the pattern [0-9]{1,5}

type Max6NumericText

type Max6NumericText string

Must match the pattern [0-9]{1,6}

type Max6Text

type Max6Text string

May be no more than 6 items long

type Max70Text

type Max70Text string

May be no more than 70 items long

type Max76Text

type Max76Text string

May be no more than 76 items long

type Max8HexBinaryText

type Max8HexBinaryText string

Must match the pattern ([0-9A-F][0-9A-F]){1,8}

type Max8NumericText

type Max8NumericText string

Must match the pattern [0-9]{1,8}

type Max99Text

type Max99Text string

May be no more than 99 items long

type MemoryCharacteristics1

type MemoryCharacteristics1 struct {
	Id     Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	TtlSz  float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlSz"`
	FreeSz float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FreeSz"`
	Unit   MemoryUnit1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Unit"`
}

type MemoryUnit1Code

type MemoryUnit1Code string

May be one of BYTE, EXAB, GIGA, KILO, MEGA, PETA, TERA

type MessageClass1Code

type MessageClass1Code string

May be one of ADDE, AMDT, AUTH, CMGT, CBCK, FEEC, FINL, INQY, VERI

type MessageFunction16Code

type MessageFunction16Code string

May be one of ADVC, NOTI, CAAD, CANO, REQU

type Min2Max3AlphaText

type Min2Max3AlphaText string

Must match the pattern [a-zA-Z]{2,3}

type Min2Max3NumericText

type Min2Max3NumericText string

Must match the pattern [0-9]{2,3}

type Min5Max16Binary

type Min5Max16Binary []byte

func (Min5Max16Binary) MarshalText

func (t Min5Max16Binary) MarshalText() ([]byte, error)

func (*Min5Max16Binary) UnmarshalText

func (t *Min5Max16Binary) UnmarshalText(text []byte) error

type OfficialDocumentType1Code

type OfficialDocumentType1Code string

May be one of ARNU, AUTH, DIPL, DVLC, EURO, IDEN, INTE, INPO, LZPR, OTHN, OTHP, PASS, VISA, PERM, REFU

type OnBoardDiagnostics1

type OnBoardDiagnostics1 struct {
	NgnIdleTm        float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnIdleTm,omitempty"`
	NgnTtlIdleTm     float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnTtlIdleTm,omitempty"`
	NgnHrs           float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnHrs,omitempty"`
	NgnTtlTm         float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnTtlTm,omitempty"`
	NgnLd            Max12NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnLd,omitempty"`
	NgnRPM           Max5NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnRPM,omitempty"`
	NgnOilTmprtr     float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnOilTmprtr,omitempty"`
	NgnOilPrssr      Max3NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnOilPrssr,omitempty"`
	NgnOilLifeRmng   Max3NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NgnOilLifeRmng,omitempty"`
	ChckNgnWrngSts   Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckNgnWrngSts,omitempty"`
	FuelTankLvlStart Max4NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelTankLvlStart,omitempty"`
	FuelGaugeLvl     Max4NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelGaugeLvl,omitempty"`
	FuelEcnmy        float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FuelEcnmy,omitempty"`
	RfrgrtnHrs       float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RfrgrtnHrs,omitempty"`
	RfrgrtnTmprtr    float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RfrgrtnTmprtr,omitempty"`
	CoolntTmprtr     float64          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CoolntTmprtr,omitempty"`
	BttryVltg        Max4NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BttryVltg,omitempty"`
	HardBrakg        Max4NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HardBrakg,omitempty"`
	HardAcclrtn      Max4NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HardAcclrtn,omitempty"`
}

type OnLineCapability2Code

type OnLineCapability2Code string

May be one of OFLN, ONLN, BOTH

type OriginalDataElements1

type OriginalDataElements1 struct {
	MsgClss             MessageClass1Code                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgClss,omitempty"`
	TxTp                Exact2AlphaNumericText              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxTp,omitempty"`
	AcqrrId             Max11NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcqrrId,omitempty"`
	SndrId              Max11NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SndrId,omitempty"`
	LclDtTm             ISODateTime                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LclDtTm,omitempty"`
	TmZone              Max70Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmZone,omitempty"`
	TxRef               Max35Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxRef,omitempty"`
	TrnsmssnDtTm        ISODateTime                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrnsmssnDtTm,omitempty"`
	SysTracAudtNb       Max12NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SysTracAudtNb,omitempty"`
	RtrvlRefNb          string                              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RtrvlRefNb"`
	LifeCyclSpprt       LifeCycleSupport1Code               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclSpprt,omitempty"`
	LifeCyclTracIdData  TransactionLifeCycleIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclTracIdData,omitempty"`
	LifeCyclTracIdMssng Max70Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclTracIdMssng,omitempty"`
	AcqrrRefData        Max140Text                          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcqrrRefData,omitempty"`
	AcqrrRefNb          Max23NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcqrrRefNb,omitempty"`
	CardIssrRefData     Max1000Text                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardIssrRefData,omitempty"`
}

type OriginalTransactionAmount1

type OriginalTransactionAmount1 struct {
	AmtQlfr        TypeOfAmount11Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AmtQlfr,omitempty"`
	TxAmt          TransactionAmount1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxAmt"`
	CrdhldrBllgAmt Amount4            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrBllgAmt,omitempty"`
	RcncltnAmt     Amount4            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcncltnAmt,omitempty"`
}

type OriginatorInformation1

type OriginatorInformation1 struct {
	Cert []Max5000Binary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cert,omitempty"`
}

type OutputFormat1Code

type OutputFormat1Code string

May be one of MREF, TEXT, HTML

type OutputFormat4Code

type OutputFormat4Code string

May be one of FLNM, MREF, OTHN, OTHP, SMSI, TEXT, URLI, HTML

type PINData1

type PINData1 struct {
	Ctrl          Exact1HexBinaryText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctrl,omitempty"`
	KeySetIdr     Max8NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeySetIdr,omitempty"`
	DrvdInf       Max32HexBinaryText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvdInf,omitempty"`
	Algo          Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Algo,omitempty"`
	KeyLngth      Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyLngth,omitempty"`
	KeyPrtcn      Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyPrtcn,omitempty"`
	KeyIndx       Max5NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIndx,omitempty"`
	PINBlckFrmt   Max2NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PINBlckFrmt"`
	NcrptdPINBlck Max16HexBinaryText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdPINBlck"`
}

type POICommunicationType2Code

type POICommunicationType2Code string

May be one of BLTH, ETHR, GPRS, GSMF, PSTN, RS23, USBD, USBH, WIFI, WT2G, WT3G, WT4G, WT5G

type POIComponentAssessment1Code

type POIComponentAssessment1Code string

May be one of APPL, CERT, EVAL

type POIComponentStatus1Code

type POIComponentStatus1Code string

May be one of WAIT, OUTD, OPER, DACT

type POIComponentType5Code

type POIComponentType5Code string

May be one of AQPP, APPR, TLPR, SCPR, SERV, TERM, DVCE, SECM, APLI, EMVK, EMVO, MDWR, DRVR, OPST, MRPR, CRTF, TMSP, SACP, SAPR

type Parameter10

type Parameter10 struct {
	NcrptnFrmt   EncryptionFormat2Code     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptnFrmt,omitempty"`
	DgstAlgo     Algorithm16Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo,omitempty"`
	MskGnrtrAlgo AlgorithmIdentification18 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MskGnrtrAlgo,omitempty"`
}

type Parameter11

type Parameter11 struct {
	DgstAlgo     Algorithm16Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo"`
	MskGnrtrAlgo AlgorithmIdentification12 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MskGnrtrAlgo"`
	SaltLngth    float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SaltLngth"`
	TrlrFld      float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrlrFld,omitempty"`
}

type Parameter12

type Parameter12 struct {
	NcrptnFrmt   EncryptionFormat2Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptnFrmt,omitempty"`
	InitlstnVctr Max500Binary          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InitlstnVctr,omitempty"`
	BPddg        BytePadding1Code      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BPddg,omitempty"`
}

type Parameter13

type Parameter13 struct {
	DgstAlgo     Algorithm20Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo,omitempty"`
	MskGnrtrAlgo AlgorithmIdentification26 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MskGnrtrAlgo,omitempty"`
}

type Parameter14

type Parameter14 struct {
	NcrptnFrmt   EncryptionFormat3Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptnFrmt,omitempty"`
	InitlstnVctr Max500Binary          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InitlstnVctr,omitempty"`
	BPddg        BytePadding1Code      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BPddg,omitempty"`
}

type Parameter5

type Parameter5 struct {
	DgstAlgo Algorithm11Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo,omitempty"`
}

type Parameter7

type Parameter7 struct {
	InitlstnVctr Max500Binary     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InitlstnVctr,omitempty"`
	BPddg        BytePadding1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BPddg,omitempty"`
}

type Parameter9

type Parameter9 struct {
	DgstAlgo Algorithm16Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo,omitempty"`
}

type PartyIdentification197

type PartyIdentification197 struct {
	Id      Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr  Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry    ISO3NumericCountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm  Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
	AddtlId Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
}

type PartyIdentification200

type PartyIdentification200 struct {
	Id     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Tp     PartyType28Code        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Assgnr PartyType18Code        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry   ISO3NumericCountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
}

type PartyIdentification203

type PartyIdentification203 struct {
	Id           Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry         ISO3NumericCountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
	AddtlId      Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
	NmAndLctn    Max99Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NmAndLctn"`
	Adr          Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Email        Max256Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Email,omitempty"`
	URLAdr       Max256Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 URLAdr,omitempty"`
	PhneNb       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PhneNb,omitempty"`
	CstmrSvc     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrSvc,omitempty"`
	AddtlCtctInf Max256Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlCtctInf,omitempty"`
	TaxRegnId    Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxRegnId,omitempty"`
	AddtlData    []AdditionalData1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
	SpnsrdMrchnt []SponsoredMerchant1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SpnsrdMrchnt,omitempty"`
}

type PartyIdentification206

type PartyIdentification206 struct {
	Nm        Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id        PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Adr       Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct      Contact3               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	TaxRegnId Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxRegnId,omitempty"`
	AddtlInf  Max1000Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlInf,omitempty"`
}

type PartyIdentification207

type PartyIdentification207 struct {
	Cd     Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cd,omitempty"`
	Assgnr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	IATACd Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IATACd,omitempty"`
	Nm     Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	ShrtNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
	Adr    Address1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct   Contact6  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
}

type PartyIdentification208

type PartyIdentification208 struct {
	Tp     Max4Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Id     Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
}

type PartyIdentification209

type PartyIdentification209 struct {
	Nm     Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id     PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Adr    Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct   Contact6               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	Instrs Max350Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Instrs,omitempty"`
}

type PartyIdentification210

type PartyIdentification210 struct {
	PrsnlId    Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrsnlId,omitempty"`
	MplyeeId   PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MplyeeId,omitempty"`
	Nm         Max70Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	PrfssnlLvl Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrfssnlLvl,omitempty"`
}

type PartyIdentification211

type PartyIdentification211 struct {
	FI    FinancialInstitution4 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FI,omitempty"`
	Cstmr Customer3             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cstmr,omitempty"`
}

type PartyType17Code

type PartyType17Code string

May be one of OTHN, OTHP, ACQR, ACQP, CISS, CISP, AGNT

type PartyType18Code

type PartyType18Code string

May be one of ACQR, CISS, CSCH, AGNT

type PartyType20Code

type PartyType20Code string

May be one of ACCP, ACQR, CRDH, CISS, AGNT

type PartyType21Code

type PartyType21Code string

May be one of ACCP, CRDH, OTHN, OTHP

type PartyType22Code

type PartyType22Code string

May be one of CRDH, MERC, OTHN, OTHP, AGNT

type PartyType26Code

type PartyType26Code string

May be one of ACCP, ACQR, ICCA, CISS, DLIS, AGNT, OTHN, OTHP

type PartyType28Code

type PartyType28Code string

May be one of ACCP, ACQR, AGNT, OTHN, OTHP, WLPR, ISUR

type PartyType32Code

type PartyType32Code string

May be one of ACQR, AGNT, ISUR, OTHN, OTHP

type PartyType7Code

type PartyType7Code string

May be one of ACQR, ITAG, PCPT, TMGT, SALE

type PartyType9Code

type PartyType9Code string

May be one of ACQR, ACQP, CISS, CISP, CSCH, SCHP

type PassengerTransport1

type PassengerTransport1 struct {
	Summry        PassengerTransportSummary1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	TripLeg       []TripLeg1                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TripLeg,omitempty"`
	AncllryPurchs []AncillaryPurchase1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AncllryPurchs,omitempty"`
	HirdVhclDtls  []HiredVehicle1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HirdVhclDtls,omitempty"`
}

type PassengerTransportSummary1

type PassengerTransportSummary1 struct {
	DocNb          Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DocNb,omitempty"`
	Rsvatn         ReservationDetails3  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsvatn,omitempty"`
	TrvlAuthstnCd  Max70Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlAuthstnCd,omitempty"`
	TcktIssr       Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TcktIssr,omitempty"`
	OpnTcktInd     bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OpnTcktInd,omitempty"`
	CstmrRef       []CustomerReference1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrRef,omitempty"`
	Pssngr         []Customer5          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pssngr,omitempty"`
	Dprture        DepartureOrArrival1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dprture,omitempty"`
	Drtn           Max4NumericText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	InsrncInd      bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	TtlAmt         AmountDetails1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
	SummryCmmdtyId Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	LltyPrgrmm     LoyaltyProgramme2    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
	AddtlData      Max350Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type PaymentTransaction117

type PaymentTransaction117 struct {
	PurchsTp       FleetPurchaseType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PurchsTp,omitempty"`
	SummryCmmdtyId Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	DscntTtl       FleetDiscountTotals1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DscntTtl,omitempty"`
	TaxTtl         []Tax33                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxTtl,omitempty"`
	TtlAmt         float64                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
}

type PeriodUnit2Code

type PeriodUnit2Code string

May be one of HOUR, HFDA, DAYS, WEEK, MNTH, YEAR, MINU, OTHR

type PeriodUnit3Code

type PeriodUnit3Code string

May be one of OTHP, OTHN, MNTH, WEEK, YEAR, DAYS, EXDY

type PhoneNumber

type PhoneNumber string

Must match the pattern \+[0-9]{1,3}-[0-9()+\-]{1,30}

type PlainCardData20

type PlainCardData20 struct {
	DrvrOrVhclId  Max20Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DrvrOrVhclId,omitempty"`
	AddtlCardData Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlCardData,omitempty"`
}

type Plan1

type Plan1 struct {
	PlanId       Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PlanId,omitempty"`
	PlanOwnr     PlanOwner1Code             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PlanOwnr,omitempty"`
	OthrPlanOwnr Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPlanOwnr,omitempty"`
	InstlmtPmtTp Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InstlmtPmtTp,omitempty"`
	PrdUnit      Frequency12Code            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrdUnit,omitempty"`
	NbOfPrds     float64                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbOfPrds,omitempty"`
	IntrstRate   []InterestRateDetails1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IntrstRate,omitempty"`
	FrstPmtDt    ISODate                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FrstPmtDt,omitempty"`
	FrstAmt      float64                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FrstAmt,omitempty"`
	SbsqntAmt    float64                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SbsqntAmt,omitempty"`
	TtlNbOfPmts  float64                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlNbOfPmts,omitempty"`
	InstlmtCcy   ISO3NumericCurrencyCode    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InstlmtCcy,omitempty"`
	GracePrd     GracePeriod1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GracePrd,omitempty"`
	AmtDtls      []InstalmentAmountDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AmtDtls,omitempty"`
	GrdTtlAmt    float64                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GrdTtlAmt,omitempty"`
}

type PlanOwner1Code

type PlanOwner1Code string

May be one of ACCP, ACQR, ISSR, OTHN, OTHP

type PointOfInteractionComponent8

type PointOfInteractionComponent8 struct {
	Tp       POIComponentType5Code                       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Id       PointOfInteractionComponentIdentification1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Sts      PointOfInteractionComponentStatus3          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sts,omitempty"`
	StdCmplc []GenericIdentification48                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StdCmplc,omitempty"`
	Chrtcs   PointOfInteractionComponentCharacteristics4 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Chrtcs,omitempty"`
	Assmnt   []PointOfInteractionComponentAssessment1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assmnt,omitempty"`
}

type PointOfInteractionComponentAssessment1

type PointOfInteractionComponentAssessment1 struct {
	Tp      POIComponentAssessment1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Assgnr  []Max35Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr"`
	DlvryDt ISODateTime                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DlvryDt,omitempty"`
	XprtnDt ISODateTime                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XprtnDt,omitempty"`
	Nb      Max35Text                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nb"`
}

type PointOfInteractionComponentCharacteristics4

type PointOfInteractionComponentCharacteristics4 struct {
	Mmry           []MemoryCharacteristics1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Mmry,omitempty"`
	Com            []CommunicationCharacteristics3 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Com,omitempty"`
	SctyAccsMdls   float64                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SctyAccsMdls,omitempty"`
	SbcbrIdntyMdls float64                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SbcbrIdntyMdls,omitempty"`
	SctyElmt       []CryptographicKey13            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SctyElmt,omitempty"`
}

type PointOfInteractionComponentIdentification1

type PointOfInteractionComponentIdentification1 struct {
	ItmNb   Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ItmNb,omitempty"`
	PrvdrId Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrvdrId,omitempty"`
	Id      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	SrlNb   Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SrlNb,omitempty"`
}

type PointOfInteractionComponentStatus3

type PointOfInteractionComponentStatus3 struct {
	VrsnNb Max256Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VrsnNb,omitempty"`
	Sts    POIComponentStatus1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sts,omitempty"`
	XpryDt ISODate                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XpryDt,omitempty"`
}

type PointOfServiceContext1

type PointOfServiceContext1 struct {
	CardPres           bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPres,omitempty"`
	CrdhldrPres        bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrPres,omitempty"`
	CrdhldrActvtd      bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrActvtd,omitempty"`
	TrnspndrInittd     bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrnspndrInittd,omitempty"`
	AttnddInd          bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AttnddInd,omitempty"`
	UattnddLvlCtgy     Max35NumericText               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UattnddLvlCtgy,omitempty"`
	EComrcInd          bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EComrcInd,omitempty"`
	EComrcData         []ECommerceData1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EComrcData,omitempty"`
	MOTOInd            bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MOTOInd,omitempty"`
	PrtlApprvlSpprtd   bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrtlApprvlSpprtd,omitempty"`
	DelydAuthstnInd    bool                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DelydAuthstnInd,omitempty"`
	SctyChrtcs         []SecurityCharacteristics1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SctyChrtcs,omitempty"`
	OthrSctyChrtcs     Max35Text                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrSctyChrtcs,omitempty"`
	CardDataNtryMd     CardDataReading7Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardDataNtryMd"`
	OthrCardDataNtryMd Max35Text                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrCardDataNtryMd,omitempty"`
	StorgLctn          Max35Text                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StorgLctn,omitempty"`
	SpclConds          []SpecialConditions1           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SpclConds,omitempty"`
}

type PresentationMedium2Code

type PresentationMedium2Code string

May be one of BIOM, ELEC, PAPR, BOTH

type Priority3Code

type Priority3Code string

May be one of URGT, HIGH, NORM

type ProcessingResult1

type ProcessingResult1 struct {
	ApprvlData    ApprovalData1             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ApprvlData,omitempty"`
	RsltData      ResultData1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RsltData,omitempty"`
	OrgnlRsltData ResultData1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlRsltData,omitempty"`
	ActnReqrd     bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ActnReqrd,omitempty"`
	Actn          []Action9                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Actn,omitempty"`
	AddtlActn     []AdditionalAction1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlActn,omitempty"`
	AddtlInf      []AdditionalInformation20 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlInf,omitempty"`
}

type Product7

type Product7 struct {
	PdctCd         Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctCd,omitempty"`
	SummryCmmdtyId Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
}

type ProductCodeType1Code

type ProductCodeType1Code string

May be one of EA13, EAN8, GTIN, OTHR, PLUP, RS14, UPCA, UPCE

type ProtectedData1

type ProtectedData1 struct {
	CnttTp     ContentType3Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnttTp"`
	EnvlpdData EnvelopedData6   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EnvlpdData,omitempty"`
	NcrptdData EncryptedData1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcrptdData,omitempty"`
}

type PurchaseIdentifierType1Code

type PurchaseIdentifierType1Code string

May be one of CONU, CUOR, CUPO, FONU, INNU, ORNU, OTHN, OTHP, PRNU, PUID, RELO, REAG, RENU, RSNU, SUOR, TINU, TRNU, SUIN, TNID

type ReceiptType1Code

type ReceiptType1Code string

May be one of EMAL, OTHR, PAPR, SMSM, URID

type Recipient5Choice

type Recipient5Choice struct {
	IssrAndSrlNb IssuerAndSerialNumber1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IssrAndSrlNb,omitempty"`
	KeyIdr       KEKIdentifier2         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIdr,omitempty"`
}

type Recipient6Choice

type Recipient6Choice struct {
	KeyTrnsprt KeyTransport5  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyTrnsprt,omitempty"`
	KEK        KEK5           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KEK,omitempty"`
	KeyIdr     KEKIdentifier2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIdr,omitempty"`
}

type Recipient7Choice

type Recipient7Choice struct {
	KeyTrnsprt KeyTransport6  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyTrnsprt,omitempty"`
	KEK        KEK6           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KEK,omitempty"`
	KeyIdr     KEKIdentifier6 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 KeyIdr,omitempty"`
}

type Reconciliation3

type Reconciliation3 struct {
	Id        Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Dt        ISODate   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dt,omitempty"`
	ChckptRef Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckptRef,omitempty"`
}

type RelativeDistinguishedName1

type RelativeDistinguishedName1 struct {
	AttrTp  AttributeType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AttrTp"`
	AttrVal Max140Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AttrVal"`
}

type RentalDetails1

type RentalDetails1 struct {
	RntlId    Max70Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlId,omitempty"`
	RntlDtTm  ISODateTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlDtTm,omitempty"`
	RntlStart ServiceStartEnd1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlStart,omitempty"`
	RntlRtr   ServiceStartEnd1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlRtr,omitempty"`
	RntlTmPrd []PeriodUnit2Code       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlTmPrd,omitempty"`
	TmPrdUnit Max4NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmPrdUnit,omitempty"`
	TmPrdRate float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmPrdRate,omitempty"`
	Ccy       ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ccy,omitempty"`
}

type RentalRate1

type RentalRate1 struct {
	Prd     PeriodUnit3Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prd,omitempty"`
	OthrPrd Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrPrd,omitempty"`
	Rate    float64         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rate,omitempty"`
	PrdCnt  Max4NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrdCnt,omitempty"`
}

type ReservationDetails3

type ReservationDetails3 struct {
	Sys           Max4Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sys,omitempty"`
	RsvatnNb      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RsvatnNb,omitempty"`
	OrgnlSys      Max4Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlSys,omitempty"`
	OrgnlRsvatnNb Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlRsvatnNb,omitempty"`
}

type Response8Code

type Response8Code string

May be one of PRCS, UNPR, UNRV, REJT, TECH, OTHN, OTHP

type ResultData1

type ResultData1 struct {
	Rslt         Response8Code          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rslt,omitempty"`
	OthrRslt     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrRslt,omitempty"`
	RsltDtls     Exact2AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RsltDtls"`
	OthrRsltDtls Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrRsltDtls,omitempty"`
	AddtlRsltInf []AdditionalData1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlRsltInf,omitempty"`
}

type RiskAssessment1

type RiskAssessment1 struct {
	RskAssmntNtty   PartyIdentification200 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RskAssmntNtty,omitempty"`
	RskAssmntTp     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RskAssmntTp,omitempty"`
	Rsn             []Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsn,omitempty"`
	Rslt            Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rslt,omitempty"`
	AddtlRskData    []AdditionalRiskData1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlRskData,omitempty"`
	RcmmnddActn     []ActionType8Code      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcmmnddActn,omitempty"`
	OthrRcmmnddActn Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrRcmmnddActn,omitempty"`
	RcmmnddActnDtls Max256Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcmmnddActnDtls,omitempty"`
}

type RiskAssessmentDataEntityProvider1

type RiskAssessmentDataEntityProvider1 struct {
	Tp     PartyType28Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
}

type RiskContext1

type RiskContext1 struct {
	RskInptData []RiskInputData1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RskInptData,omitempty"`
	RskAssmnt   []RiskAssessment1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RskAssmnt,omitempty"`
}

type RiskInputData1

type RiskInputData1 struct {
	Ntty RiskAssessmentDataEntityProvider1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ntty,omitempty"`
	Tp   Max35Text                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Val  Max10KText                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val"`
}

type Sale1

type Sale1 struct {
	Summry  SaleSummary1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	LineItm []SaleItem2  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineItm,omitempty"`
}

type SaleContext7

type SaleContext7 struct {
	SaleId               Max35Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SaleId,omitempty"`
	SaleRefId            Max35Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SaleRefId,omitempty"`
	SaleRefNb            Max35Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SaleRefNb,omitempty"`
	GoodsAndSvcsTp       GoodsAndServices1Code        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GoodsAndSvcsTp,omitempty"`
	GoodAndSvcsSubTp     GoodsAndServicesSubType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GoodAndSvcsSubTp,omitempty"`
	GoodAndSvcsOthrSubTp Max35Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 GoodAndSvcsOthrSubTp,omitempty"`
	SpltPmtInd           bool                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SpltPmtInd,omitempty"`
	RctReqInd            bool                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RctReqInd,omitempty"`
	RctTp                []ReceiptType1Code           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RctTp,omitempty"`
	RctDstn              Max70Text                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RctDstn,omitempty"`
}

type SaleItem2

type SaleItem2 struct {
	PdctTp            Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctTp,omitempty"`
	PdctCd            Max70Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctCd,omitempty"`
	PdctCdTp          ProductCodeType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctCdTp,omitempty"`
	AddtlPdctCd       Max70Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlPdctCd,omitempty"`
	AddtlPdctCdTp     Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlPdctCdTp,omitempty"`
	PdctCdModfr       float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctCdModfr,omitempty"`
	PdctDesc          Max140Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctDesc,omitempty"`
	UnitOfMeasr       UnitOfMeasure1Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitOfMeasr,omitempty"`
	OthrUnitOfMeasr   Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrUnitOfMeasr,omitempty"`
	PdctQty           float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PdctQty,omitempty"`
	NonAdjstdUnitPric float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NonAdjstdUnitPric,omitempty"`
	NonAdjstdTtlAmt   float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NonAdjstdTtlAmt,omitempty"`
	Adjstmnt          []Adjustment10       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adjstmnt,omitempty"`
	AdjstdAmt         float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdjstdAmt,omitempty"`
	InsrncInd         bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt         float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
	Tax               []Tax33              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	TtlAmt            float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
}

type SaleSummary1

type SaleSummary1 struct {
	SummryCmmdtyId Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	LltyPrgrmm     LoyaltyProgramme2 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
	Adjstmnt       []Adjustment9     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adjstmnt,omitempty"`
}

type SecurityCharacteristics1Code

type SecurityCharacteristics1Code string

May be one of CETE, CPTE, CENC, CMAC, ETEE, METE, MPTE, OPNN, PMAC, PKIE, PRAE, PRAM, PRVN, STAM, APTE, AETE, OTHN, OTHP

type ServiceStartEnd1

type ServiceStartEnd1 struct {
	Lctn    Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Lctn,omitempty"`
	LctnCd  Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LctnCd,omitempty"`
	Adr     Address1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct    Contact2            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	DtAndTm ISODateTime         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtAndTm,omitempty"`
	TmSgmt  TimeSegment1Code    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmSgmt,omitempty"`
	JrnyInf JourneyInformation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 JrnyInf,omitempty"`
}

type SettlementReportingEntity1

type SettlementReportingEntity1 struct {
	Tp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Id Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
}

type SettlementService1

type SettlementService1 struct {
	SttlmSvcPropsd SettlementServiceMode1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmSvcPropsd,omitempty"`
	SttlmSvcApld   SettlementServiceMode1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmSvcApld,omitempty"`
	SttlmSvcDts    SettlementServiceDate1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmSvcDts,omitempty"`
	SttlmRptgNtty  SettlementReportingEntity1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmRptgNtty,omitempty"`
}

type SettlementServiceDate1

type SettlementServiceDate1 struct {
	ReqdSttlmDt   ISODate     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ReqdSttlmDt,omitempty"`
	SttlmDt       ISODate     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmDt,omitempty"`
	SttlmTm       ISOTime     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmTm,omitempty"`
	SttlmPrd      Max35Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmPrd,omitempty"`
	SttlmCutOffTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmCutOffTm,omitempty"`
}

type SettlementServiceMode1

type SettlementServiceMode1 struct {
	Tp        Max35Text     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Id        Max35Text     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	ShrtNm    Max35Text     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
	SttlmPrty Priority3Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmPrty,omitempty"`
}

type ShippingData1

type ShippingData1 struct {
	InvcNb         Max70Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcNb,omitempty"`
	InvcCreDtTm    ISODateTime        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcCreDtTm,omitempty"`
	SvcDscrptrCd   Max40Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcDscrptrCd,omitempty"`
	IncntivAmt     float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IncntivAmt,omitempty"`
	MiscExpnss     float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MiscExpnss,omitempty"`
	InsrncInd      bool               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt      float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
	NetAmt         float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NetAmt,omitempty"`
	Tax            []Tax33            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	SummryCmmdtyId Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	NbOfPackgs     Max6NumericText    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbOfPackgs,omitempty"`
	Packg          []ShippingPackage1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Packg,omitempty"`
	AddtlData      Max350Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type ShippingPackage1

type ShippingPackage1 struct {
	TrckgNb   Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrckgNb,omitempty"`
	Spplr     PartyIdentification209 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Spplr,omitempty"`
	PckpTm    ISOTime                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PckpTm,omitempty"`
	Dlvry     DeliveryInformation3   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dlvry,omitempty"`
	Wght      UnitOfMeasure1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Wght,omitempty"`
	Pdct      []Product7             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Pdct,omitempty"`
	InsrncInd bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt float64                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
}

type SignedData5

type SignedData5 struct {
	Vrsn        float64                     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	DgstAlgo    []AlgorithmIdentification21 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo,omitempty"`
	NcpsltdCntt EncapsulatedContent3        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NcpsltdCntt,omitempty"`
	Cert        []Max5000Binary             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cert,omitempty"`
	Sgnr        []Signer4                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgnr,omitempty"`
}

type Signer4

type Signer4 struct {
	Vrsn        float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Vrsn,omitempty"`
	SgnrId      Recipient5Choice          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SgnrId,omitempty"`
	DgstAlgo    AlgorithmIdentification21 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DgstAlgo"`
	SgndAttrbts []GenericInformation1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SgndAttrbts,omitempty"`
	SgntrAlgo   AlgorithmIdentification20 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SgntrAlgo"`
	Sgntr       Max3000Binary             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sgntr"`
}

type SpecialConditions1

type SpecialConditions1 struct {
	Id  Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Val Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val,omitempty"`
}

type SpecialProgrammeDetails1

type SpecialProgrammeDetails1 struct {
	Nm  Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Val Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val,omitempty"`
}

type SpecialProgrammeQualification1

type SpecialProgrammeQualification1 struct {
	Prgrmm Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prgrmm,omitempty"`
	Dtl    []SpecialProgrammeDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dtl,omitempty"`
}

type SponsoredMerchant1

type SponsoredMerchant1 struct {
	Id      PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	AddtlId Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlId,omitempty"`
	CmonNm  Max140Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CmonNm,omitempty"`
	Adr     Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
}

type SupplementaryData1

type SupplementaryData1 struct {
	PlcAndNm Max350Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PlcAndNm,omitempty"`
	Envlp    SupplementaryDataEnvelope1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Envlp"`
}

type SupplementaryDataEnvelope1

type SupplementaryDataEnvelope1 struct {
	Item string `xml:",any"`
}

type Tax33

type Tax33 struct {
	Tp         AddendumTaxType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	OthrTp     Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Desc       Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	TaxXmptn   bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxXmptn,omitempty"`
	TaxXmptRsn Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TaxXmptRsn,omitempty"`
	Amt        float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Rate       float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rate,omitempty"`
}

type TaxReclaimMethod1Code

type TaxReclaimMethod1Code string

May be one of INPP, INPS, INSU, OTHR

type TelecomCallDetails1

type TelecomCallDetails1 struct {
	Tp     TelephonyCallType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	PhneNb PhoneNumber            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PhneNb,omitempty"`
	City   Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 City,omitempty"`
	Stat   Max16Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Stat,omitempty"`
	Prvc   Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prvc,omitempty"`
	Ctry   Min2Max3AlphaText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
}

type TelecomServices1

type TelecomServices1 struct {
	Summry  TelecomServicesSummary1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Summry,omitempty"`
	LineItm []TelecomServicesLineItem1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LineItm,omitempty"`
}

type TelecomServicesLineItem1

type TelecomServicesLineItem1 struct {
	StartDtTm ISODate             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StartDtTm,omitempty"`
	TmPrd     Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmPrd,omitempty"`
	Drtn      ISOTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	CallFr    TelecomCallDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CallFr,omitempty"`
	CallTo    TelecomCallDetails1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CallTo,omitempty"`
	Chrg      []Amount11          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Chrg,omitempty"`
	TtlTax    []Tax33             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlTax,omitempty"`
	TtlAmt    float64             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlAmt,omitempty"`
	Desc      Max256Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	AddtlData Max350Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TelecomServicesSummary1

type TelecomServicesSummary1 struct {
	Cstmr            Customer6  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cstmr,omitempty"`
	BllgStmtPrdStart ISODate    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BllgStmtPrdStart,omitempty"`
	BllgStmtPrdEnd   ISODate    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BllgStmtPrdEnd,omitempty"`
	BllgEvt          []Amount10 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BllgEvt,omitempty"`
	TtlTax           []Tax33    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TtlTax,omitempty"`
	AddtlData        Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TelephonyCallType1Code

type TelephonyCallType1Code string

May be one of VCML, TFPC, PAGE, OGPC, OTHP, OTHN, OTCL, ICPC

type TemporaryServices1

type TemporaryServices1 struct {
	CtrctgCpny     TemporaryServicesCompany1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtrctgCpny,omitempty"`
	TempMplyee     PartyIdentification210    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TempMplyee,omitempty"`
	Job            TemporaryServicesJob1     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Job,omitempty"`
	FlatRateInd    bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FlatRateInd,omitempty"`
	DscntAmt       float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DscntAmt,omitempty"`
	SummryCmmdtyId Max35Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	Labr           TemporaryServicesLabor1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Labr,omitempty"`
	MiscExpnss     []Amount13                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MiscExpnss,omitempty"`
	SbttlAmt       float64                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SbttlAmt,omitempty"`
	Tax            []Tax33                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
	AddtlData      Max350Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TemporaryServicesCharge1Code

type TemporaryServicesCharge1Code string

May be one of WKND, REGL, OVRT, OTHP, OTHN, ONCL, NITE, HOLI, HAZD

type TemporaryServicesCompany1

type TemporaryServicesCompany1 struct {
	Nm     Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Dept   Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dept,omitempty"`
	Id     PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Sprvsr Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Sprvsr,omitempty"`
}

type TemporaryServicesJob1

type TemporaryServicesJob1 struct {
	JobCd   Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 JobCd,omitempty"`
	Desc    Max256Text      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
	StartDt ISODate         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StartDt,omitempty"`
	Drtn    Max5NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	EndDt   ISODate         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EndDt,omitempty"`
}

type TemporaryServicesLabor1

type TemporaryServicesLabor1 struct {
	TmSheetNb Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmSheetNb,omitempty"`
	WkEndg    Max10NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 WkEndg,omitempty"`
	Chrg      []Amount12       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Chrg,omitempty"`
}

type Terminal1

type Terminal1 struct {
	TermnlId     TerminalIdentification1          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TermnlId"`
	Tp           TerminalType1Code                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp       Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	Cpblties     Capabilities1                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cpblties,omitempty"`
	TermnlIntgtn TerminalIntegrationCategory1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TermnlIntgtn,omitempty"`
	OutdrInd     bool                             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OutdrInd,omitempty"`
	OffPrmissInd bool                             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OffPrmissInd,omitempty"`
	OnBrdInd     bool                             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OnBrdInd,omitempty"`
	POICmpnt     []PointOfInteractionComponent8   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 POICmpnt,omitempty"`
}

type TerminalIdentification1

type TerminalIdentification1 struct {
	Id     Max16Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	Ctry   Min2Max3AlphaText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	ShrtNm Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ShrtNm,omitempty"`
}

type TerminalIntegrationCategory1Code

type TerminalIntegrationCategory1Code string

May be one of MPOI, MSLE, SSLE

type TerminalType1Code

type TerminalType1Code string

May be one of ATMT, MPOS, OTHN, OTHP, POST

type Ticket1

type Ticket1 struct {
	TcktNb         Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TcktNb,omitempty"`
	TcktIssr       PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TcktIssr,omitempty"`
	TcktIsseDt     ISODate                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TcktIsseDt,omitempty"`
	TcktIsseLctn   Max140Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TcktIsseLctn,omitempty"`
	CnjnctnTcktNb  Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CnjnctnTcktNb,omitempty"`
	RstrctdTcktInd bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RstrctdTcktInd,omitempty"`
	OpnTcktInd     bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OpnTcktInd,omitempty"`
	Rstrctns       Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rstrctns,omitempty"`
	XchgdTcktInd   bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XchgdTcktInd,omitempty"`
	XchgdTcktNb    Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XchgdTcktNb,omitempty"`
	RcrdLctrNb     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcrdLctrNb,omitempty"`
	Rsvatn         ReservationDetails3    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsvatn,omitempty"`
}

type TimeSegment1Code

type TimeSegment1Code string

May be one of AMBN, PMAN

type Token1

type Token1 struct {
	PmtTkn        Max19NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PmtTkn,omitempty"`
	TknXpryDt     Exact4NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TknXpryDt,omitempty"`
	TknRqstrId    Max11NumericText  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TknRqstrId,omitempty"`
	TknAssrncData Max140Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TknAssrncData,omitempty"`
	TknAssrncMtd  Max2NumericText   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TknAssrncMtd,omitempty"`
	TknInittdInd  bool              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TknInittdInd,omitempty"`
}

type Traceability7

type Traceability7 struct {
	RlayId      GenericIdentification172 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RlayId"`
	TracDtTmIn  ISODateTime              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TracDtTmIn,omitempty"`
	TracDtTmOut ISODateTime              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TracDtTmOut,omitempty"`
}

type Track2Data1Choice

type Track2Data1Choice struct {
	TxtVal      Max37Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxtVal,omitempty"`
	HexBinryVal Max19HexBinaryText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HexBinryVal,omitempty"`
}

type Transaction77

type Transaction77 struct {
	TxTp             Exact2AlphaNumericText           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxTp"`
	TxSubTp          Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxSubTp,omitempty"`
	AddtlSvc         []AdditionalService1             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlSvc,omitempty"`
	TxAttr           TransactionAttribute1Code        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxAttr,omitempty"`
	OthrTxAttr       Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTxAttr,omitempty"`
	MsgRsn           []Exact4NumericText              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MsgRsn,omitempty"`
	AltrnMsgRsn      []Max35Text                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AltrnMsgRsn,omitempty"`
	PreAuthstnTmLmt  Max6NumericText                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PreAuthstnTmLmt,omitempty"`
	AssoctdDataInd   bool                             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AssoctdDataInd,omitempty"`
	AssoctdDataRef   Max70Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AssoctdDataRef,omitempty"`
	AssoctdDataDstn  Max35Text                        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AssoctdDataDstn,omitempty"`
	SpclPrgrmmQlfctn []SpecialProgrammeQualification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SpclPrgrmmQlfctn,omitempty"`
	TxId             TransactionIdentification8       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxId"`
	DsptData         []DisputeData1                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DsptData,omitempty"`
	TxAmts           TransactionAmounts1              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxAmts"`
	AddtlAmts        []AdditionalAmounts1             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlAmts,omitempty"`
	AddtlFees        []AdditionalFee1                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlFees,omitempty"`
	OrgnlAddtlFees   []AdditionalFee1                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlAddtlFees,omitempty"`
	DpstDtls         []DepositDetails1                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DpstDtls,omitempty"`
	FndsSvcs         FundingService1                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FndsSvcs,omitempty"`
	AcctFr           AccountDetails2                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctFr,omitempty"`
	AcctTo           AccountDetails2                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcctTo,omitempty"`
	TxDesc           Max1000Text                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxDesc,omitempty"`
	AddtlData        []AdditionalData1                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TransactionAmount1

type TransactionAmount1 struct {
	Amt float64                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Amt"`
	Ccy ISO3NumericCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ccy"`
}

type TransactionAmounts1

type TransactionAmounts1 struct {
	AmtQlfr        TypeOfAmount11Code         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AmtQlfr,omitempty"`
	TxAmt          TransactionAmount1         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxAmt,omitempty"`
	CrdhldrBllgAmt Amount4                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CrdhldrBllgAmt,omitempty"`
	RcncltnAmt     Amount4                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RcncltnAmt,omitempty"`
	DtldAmt        []DetailedAmount19         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtldAmt,omitempty"`
	OrgnlTxAmts    OriginalTransactionAmount1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlTxAmts,omitempty"`
}

type TransactionAttribute1Code

type TransactionAttribute1Code string

May be one of AGGR, CADB, DBRP, DFRD, INST, OTHN, OTHP, RCPT, TPUP, PPYT, INCR, PAUT, PACP, SUBR, FRCP, CPLT

type TransactionContext1

type TransactionContext1 struct {
	MrchntCtgyCd        Exact4NumericText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MrchntCtgyCd"`
	MrchntCtgySpcfcData Max35Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MrchntCtgySpcfcData,omitempty"`
	CstmrCnsnt          bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrCnsnt,omitempty"`
	ICCFllbckInd        bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ICCFllbckInd,omitempty"`
	MgntcStrpFllbckInd  bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MgntcStrpFllbckInd,omitempty"`
	LatePresntmntInd    bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LatePresntmntInd,omitempty"`
	FnlAuthstnInd       bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FnlAuthstnInd,omitempty"`
	DfrrdDlvryInd       bool                      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DfrrdDlvryInd,omitempty"`
	TxInitr             TransactionInitiator1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxInitr,omitempty"`
	CardPrgrmm          CardProgramme1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardPrgrmm,omitempty"`
	SttlmSvc            SettlementService1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SttlmSvc,omitempty"`
	Rcncltn             Reconciliation3           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rcncltn,omitempty"`
	CaptrDt             ISODate                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CaptrDt,omitempty"`
}

type TransactionIdentification8

type TransactionIdentification8 struct {
	LclDtTm             ISODateTime                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LclDtTm"`
	TmZone              Max70Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TmZone,omitempty"`
	TxRef               Max35Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxRef,omitempty"`
	TrnsmssnDtTm        ISODateTime                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrnsmssnDtTm,omitempty"`
	SysTracAudtNb       Max12NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SysTracAudtNb"`
	RtrvlRefNb          string                              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RtrvlRefNb"`
	LifeCyclSpprt       LifeCycleSupport1Code               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclSpprt,omitempty"`
	LifeCyclTracIdData  TransactionLifeCycleIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclTracIdData,omitempty"`
	LifeCyclTracIdMssng Max70Text                           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LifeCyclTracIdMssng,omitempty"`
	AcqrrRefData        Max140Text                          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcqrrRefData,omitempty"`
	AcqrrRefNb          Max23NumericText                    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AcqrrRefNb,omitempty"`
	CardIssrRefData     Max1000Text                         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CardIssrRefData,omitempty"`
	OrgnlDataElmts      OriginalDataElements1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OrgnlDataElmts,omitempty"`
}

type TransactionInitiator1Code

type TransactionInitiator1Code string

May be one of MERC, CUST

type TransactionLifeCycleIdentification1

type TransactionLifeCycleIdentification1 struct {
	Id              string            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	AuthstnSeqNb    Exact2NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthstnSeqNb,omitempty"`
	PresntmntSeqNb  Exact2NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PresntmntSeqNb,omitempty"`
	PresntmntSeqCnt Exact2NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PresntmntSeqCnt,omitempty"`
	AuthntcnTkn     Max35Text         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AuthntcnTkn,omitempty"`
}

type TransferService1

type TransferService1 struct {
	SvcPrvdr Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcPrvdr,omitempty"`
	SvcNm    Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcNm,omitempty"`
	Ref      Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ref,omitempty"`
	BizPurp  Max35Text  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BizPurp,omitempty"`
	Desc     Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Desc,omitempty"`
}

type TransportType1Code

type TransportType1Code string

May be one of AIRR, BUSS, OTHN, OTHP, RAIL, SHIP

type TravelAgency2

type TravelAgency2 struct {
	Cpny      PartyIdentification207 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cpny,omitempty"`
	TrvlPackg []TravelAgencyPackage1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlPackg,omitempty"`
	AddtlData Max350Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TravelAgencyPackage1

type TravelAgencyPackage1 struct {
	RsvatnNb      Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RsvatnNb,omitempty"`
	TrvlPackgTp   Max70Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlPackgTp,omitempty"`
	NbInPty       Max10NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbInPty,omitempty"`
	CstmrRef      []CustomerReference1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CstmrRef,omitempty"`
	DataSrc       Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DataSrc,omitempty"`
	DlvryOrdrNb   Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DlvryOrdrNb,omitempty"`
	CdtCardSlipNb Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtCardSlipNb,omitempty"`
	InsrncInd     bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	InsrncAmt     float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncAmt,omitempty"`
	Fee           float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Fee,omitempty"`
}

type TravelDocument1

type TravelDocument1 struct {
	Tp      OfficialDocumentType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp"`
	Form    PresentationMedium2Code   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Form,omitempty"`
	Id      Max70Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id"`
	Assgnr  Max70Text                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	IssncDt ISODate                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 IssncDt,omitempty"`
	XprtnDt ISODate                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 XprtnDt,omitempty"`
	Ctry    Min2Max3AlphaText         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
}

type TripInformation1

type TripInformation1 struct {
	TripNb      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TripNb,omitempty"`
	JobNb       Max10Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 JobNb,omitempty"`
	WorkOrdr    Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 WorkOrdr,omitempty"`
	InvcNb      Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InvcNb,omitempty"`
	BllgId      Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BllgId,omitempty"`
	CtrlNb      Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CtrlNb,omitempty"`
	DlvryTcktNb Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DlvryTcktNb,omitempty"`
}

type TripLeg1

type TripLeg1 struct {
	SeqNb          Max35NumericText       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SeqNb,omitempty"`
	Tckt           Ticket1                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tckt,omitempty"`
	Doc            []DocumentReference1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Doc,omitempty"`
	PrcdrRef       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrcdrRef,omitempty"`
	TrnsprtTp      TransportType1Code     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrnsprtTp,omitempty"`
	OthrTrnsprtTp  Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTrnsprtTp,omitempty"`
	CmmdtyCd       Max4Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CmmdtyCd,omitempty"`
	Crrier         CarrierIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Crrier,omitempty"`
	RouteNb        Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RouteNb,omitempty"`
	SvcClss        Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SvcClss,omitempty"`
	Dprture        DepartureOrArrival1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Dprture,omitempty"`
	Arrvl          DepartureOrArrival1    `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Arrvl,omitempty"`
	Drtn           Max4NumericText        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	StopOverInd    bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 StopOverInd,omitempty"`
	NonDrctRouteCd Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NonDrctRouteCd,omitempty"`
	FairBsisCd     Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FairBsisCd,omitempty"`
	InsrncInd      bool                   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	TripLegAmt     []AmountDetails1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TripLegAmt,omitempty"`
	CdtRsnCd       Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CdtRsnCd,omitempty"`
	PrcdrId        Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PrcdrId,omitempty"`
	LltyPrgrmm     LoyaltyProgramme2      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
	AddtlData      Max350Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type TypeOfAmount10Code

type TypeOfAmount10Code string

May be one of INTC, FEEP, OTHN, OTHP, FEEA

type TypeOfAmount11Code

type TypeOfAmount11Code string

May be one of ACTL, DFLT, ESTM, MAXI, RESD, PRXY, DPST

type TypeOfAmount12Code

type TypeOfAmount12Code string

May be one of AMTH, DCNT, ISCF, CUAT, MAXI, AMTX, AMTN, AMTQ, OTHN, OTHP, RQCH, ANTA, PDCC

type TypeOfAmount18Code

type TypeOfAmount18Code string

May be one of AMTH, BAGG, CHTC, DATA, EXTK, EXTR, FARE, INSU, FDBV, MISC, OTHN, OTHP, PHNE, PRPY, TOTL, EXTF

type TypeOfAmount19Code

type TypeOfAmount19Code string

May be one of CONN, INSU, LNDS, MISC, OTHN, OTHP, USGE

type UnitOfMeasure1

type UnitOfMeasure1 struct {
	UnitOfMeasr     UnitOfMeasure1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitOfMeasr,omitempty"`
	OthrUnitOfMeasr Max35Text          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrUnitOfMeasr,omitempty"`
	NbOfUnits       float64            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NbOfUnits,omitempty"`
}

type UnitOfMeasure10Code

type UnitOfMeasure10Code string

May be one of KMET, MILE

type UnitOfMeasure1Code

type UnitOfMeasure1Code string

May be one of PIEC, TONS, FOOT, GBGA, USGA, GRAM, INCH, KILO, PUND, METR, CMET, MMET, LITR, CELI, MILI, GBOU, USOU, GBQA, USQA, GBPI, USPI, MILE, KMET, YARD, SQKI, HECT, ARES, SMET, SCMT, SMIL, SQMI, SQYA, SQFO, SQIN, ACRE

type UserInterface1Code

type UserInterface1Code string

May be one of CDSP, CRCP, MDSP, MRCP

type UserInterface6Code

type UserInterface6Code string

May be one of CDSP, CRCP, MDSP, MRCP, CRDO, FILE, CHAP, MRAP, MRIN

type Vehicle2

type Vehicle2 struct {
	Tp     Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	NtryMd CardDataReading5Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NtryMd,omitempty"`
	Data   Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Data"`
}

type Vehicle4

type Vehicle4 struct {
	Clss   Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Clss,omitempty"`
	Make   Max35NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Make,omitempty"`
	Mdl    Max35NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Mdl,omitempty"`
	RegnNb Max35Text        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RegnNb,omitempty"`
}

type Vehicle5

type Vehicle5 struct {
	VhclNb         Max35NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclNb,omitempty"`
	VhclIdNb       Max35NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclIdNb,omitempty"`
	FleetNb        Max10Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 FleetNb,omitempty"`
	SubFleetNb     Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SubFleetNb,omitempty"`
	UnitNb         Max35NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 UnitNb,omitempty"`
	TrlrNb         Max35NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrlrNb,omitempty"`
	VhclTag        Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclTag,omitempty"`
	VhclTagNtryMd  CardDataReading5Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclTagNtryMd,omitempty"`
	RplcmntVhclInd bool                 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RplcmntVhclInd,omitempty"`
	Odmtr          float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Odmtr,omitempty"`
	Hbmtr          float64              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Hbmtr,omitempty"`
	MntncId        Max35Text            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 MntncId,omitempty"`
	OnBrdDgnstcs   OnBoardDiagnostics1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OnBrdDgnstcs,omitempty"`
	AddtlVhclData  []Vehicle2           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlVhclData,omitempty"`
}

type VehicleRentalAgreement1

type VehicleRentalAgreement1 struct {
	AgrmtNb      Max35Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AgrmtNb,omitempty"`
	AdjstdInd    bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdjstdInd,omitempty"`
	RntlLctn     Address1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlLctn,omitempty"`
	PckpLctn     []Address1          `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PckpLctn,omitempty"`
	ChckOutDt    ISODate             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckOutDt,omitempty"`
	ChckOutTm    ISOTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckOutTm,omitempty"`
	RtrLctn      Address1            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RtrLctn,omitempty"`
	ChckInDt     ISODate             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckInDt,omitempty"`
	ChckInTm     ISOTime             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckInTm,omitempty"`
	Drtn         Max4NumericText     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	VhclClssDtls Vehicle4            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclClssDtls,omitempty"`
	TrvlDstnc    Distance1           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlDstnc,omitempty"`
	RntlRate     []RentalRate1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlRate,omitempty"`
	RntlDtls     RentalDetails1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlDtls,omitempty"`
	VhclRegnNb   Max70Text           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclRegnNb,omitempty"`
	InsrncInd    bool                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	AddtlAmt     []Amount9           `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlAmt,omitempty"`
	EstmtdTax    []Tax33             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 EstmtdTax,omitempty"`
	DscntPrgrmm  []Discount3         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DscntPrgrmm,omitempty"`
	LltyPrgrmm   []LoyaltyProgramme1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
}

type VehicleRentalCompany1

type VehicleRentalCompany1 struct {
	Nm     Max70Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Nm,omitempty"`
	Id     PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Id,omitempty"`
	Adr    Address1               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Adr,omitempty"`
	Ctct   Contact3               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctct,omitempty"`
	Ctry   Min2Max3AlphaText      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ctry,omitempty"`
	Tp     CarRentalActivity1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
}

type VehicleRentalCustomer1

type VehicleRentalCustomer1 struct {
	RntrNm     Max70Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntrNm"`
	CorpNm     Max70Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CorpNm,omitempty"`
	CorpIdr    Max35Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 CorpIdr"`
	Assgnr     CustomerAssigner1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Assgnr,omitempty"`
	PmryDrvr   []DriverInParty1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PmryDrvr,omitempty"`
	AddtlDrvr  []DriverInParty1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlDrvr,omitempty"`
	LltyPrgrmm LoyaltyProgramme2     `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 LltyPrgrmm,omitempty"`
}

type VehicleRentalInvoice1

type VehicleRentalInvoice1 struct {
	NoShowInd      bool            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 NoShowInd,omitempty"`
	AdjstdInd      bool            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AdjstdInd,omitempty"`
	RtrLctn        Address1        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RtrLctn,omitempty"`
	ChckOutDt      ISODate         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckOutDt,omitempty"`
	ChckOutTm      ISOTime         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckOutTm,omitempty"`
	ChckInDt       ISODate         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckInDt,omitempty"`
	ChckInTm       ISOTime         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 ChckInTm,omitempty"`
	Drtn           Max4NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Drtn,omitempty"`
	VhclClssInvcd  Vehicle4        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclClssInvcd,omitempty"`
	VhclClssPrvdd  Vehicle4        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclClssPrvdd,omitempty"`
	TrvlDstnc      Distance1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TrvlDstnc,omitempty"`
	RntlChrg       []RentalRate1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlChrg,omitempty"`
	SummryCmmdtyId Max35Text       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	InsrncInd      bool            `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 InsrncInd,omitempty"`
	AddtlAmt       []Amount9       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlAmt,omitempty"`
	Tax            []Tax33         `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tax,omitempty"`
}

type VehicleRentalService1

type VehicleRentalService1 struct {
	VhclRntlCpny   VehicleRentalCompany1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VhclRntlCpny,omitempty"`
	Cstmr          VehicleRentalCustomer1  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Cstmr,omitempty"`
	SummryCmmdtyId Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SummryCmmdtyId,omitempty"`
	RntlAgrmt      VehicleRentalAgreement1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlAgrmt,omitempty"`
	RntlInvc       VehicleRentalInvoice1   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RntlInvc,omitempty"`
	AddtlData      Max350Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlData,omitempty"`
}

type Verification1

type Verification1 struct {
	Tp         AuthenticationMethod11Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	OthrTp     Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrTp,omitempty"`
	SubTp      Max35Text                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 SubTp,omitempty"`
	VrfctnInf  []VerificationInformation1 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VrfctnInf,omitempty"`
	VrfctnRslt []VerificationResult1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VrfctnRslt,omitempty"`
}

type Verification2Code

type Verification2Code string

May be one of FAIL, FUTA, MISS, NOVF, OTHN, OTHP, PART, SUCC, ERRR

type VerificationEntity1Code

type VerificationEntity1Code string

May be one of MERC, ACQR, AGNT, ISSR, OTHN, OTHP

type VerificationInformation1

type VerificationInformation1 struct {
	Tp         Max35Text                `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Val        VerificationValue1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Val,omitempty"`
	Rsn        []Max35Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rsn,omitempty"`
	DtTm       ISODateTime              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 DtTm,omitempty"`
	VldtyEndDt ISODate                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VldtyEndDt,omitempty"`
	VldtyEndTm ISOTime                  `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 VldtyEndTm,omitempty"`
}

type VerificationResult1

type VerificationResult1 struct {
	Tp       Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Tp,omitempty"`
	Ntty     VerificationEntity1Code `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Ntty,omitempty"`
	OthrNtty Max35Text               `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrNtty,omitempty"`
	Rslt     Verification2Code       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Rslt,omitempty"`
	OthrRslt Max500Text              `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 OthrRslt,omitempty"`
	RsltDtls []AdditionalData1       `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 RsltDtls,omitempty"`
}

type VerificationValue1Choice

type VerificationValue1Choice struct {
	TxtVal      Max2048Text   `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 TxtVal,omitempty"`
	BinryVal    Max5000Binary `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 BinryVal,omitempty"`
	HexBinryVal string        `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 HexBinryVal,omitempty"`
	PINData     PINData1      `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 PINData,omitempty"`
}

type Wallet1

type Wallet1 struct {
	Prvdr         PartyIdentification197 `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 Prvdr,omitempty"`
	AddtlWlltData Max256Text             `xml:"urn:iso:std:iso:20022:tech:xsd:cain.001.001.02 AddtlWlltData,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL