wire_client 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +35 -0
  3. data/.editorconfig +13 -0
  4. data/.gitignore +11 -0
  5. data/.ruby-version +1 -0
  6. data/.tool-versions +1 -0
  7. data/.tool-versions-e +1 -0
  8. data/Gemfile +4 -0
  9. data/LICENSE +22 -0
  10. data/README.md +46 -0
  11. data/Rakefile +27 -0
  12. data/bin/setup +8 -0
  13. data/lib/wire_client/account/account.rb +59 -0
  14. data/lib/wire_client/account/creditor_account.rb +7 -0
  15. data/lib/wire_client/account/debitor_account.rb +7 -0
  16. data/lib/wire_client/base/constants.rb +61 -0
  17. data/lib/wire_client/base/converters.rb +46 -0
  18. data/lib/wire_client/base/invalid_wire_transaction_error.rb +4 -0
  19. data/lib/wire_client/base/invalid_wire_transaction_type_error.rb +3 -0
  20. data/lib/wire_client/base/validators.rb +95 -0
  21. data/lib/wire_client/messages/credit_transfer.rb +112 -0
  22. data/lib/wire_client/messages/direct_debit.rb +148 -0
  23. data/lib/wire_client/messages/message.rb +215 -0
  24. data/lib/wire_client/providers/base/wire_batch.rb +120 -0
  25. data/lib/wire_client/providers/sftp/sftp_provider.rb +39 -0
  26. data/lib/wire_client/providers/sftp/wire_batch.rb +39 -0
  27. data/lib/wire_client/transaction/credit_transfer_transaction.rb +20 -0
  28. data/lib/wire_client/transaction/direct_debit_transaction.rb +49 -0
  29. data/lib/wire_client/transaction/transaction.rb +87 -0
  30. data/lib/wire_client/version.rb +4 -0
  31. data/lib/wire_client.rb +36 -0
  32. data/schemas/.gitattributes +1 -0
  33. data/schemas/pain.001.001.03.xsd +921 -0
  34. data/schemas/pain.008.001.02.xsd +879 -0
  35. data/wire_client.gemspec +66 -0
  36. metadata +375 -0
@@ -0,0 +1,879 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
3
+ <xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02">
4
+ <xs:element name="Document" type="Document"/>
5
+ <xs:complexType name="AccountIdentification4Choice">
6
+ <xs:sequence>
7
+ <xs:choice>
8
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
9
+ <xs:element name="Othr" type="GenericAccountIdentification1"/>
10
+ </xs:choice>
11
+ </xs:sequence>
12
+ </xs:complexType>
13
+ <xs:complexType name="AccountSchemeName1Choice">
14
+ <xs:sequence>
15
+ <xs:choice>
16
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
17
+ <xs:element name="Prtry" type="Max35Text"/>
18
+ </xs:choice>
19
+ </xs:sequence>
20
+ </xs:complexType>
21
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
22
+ <xs:restriction base="xs:decimal">
23
+ <xs:minInclusive value="0"/>
24
+ <xs:fractionDigits value="5"/>
25
+ <xs:totalDigits value="18"/>
26
+ </xs:restriction>
27
+ </xs:simpleType>
28
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
29
+ <xs:simpleContent>
30
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
31
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
32
+ </xs:extension>
33
+ </xs:simpleContent>
34
+ </xs:complexType>
35
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
36
+ <xs:restriction base="xs:string">
37
+ <xs:pattern value="[A-Z]{3,3}"/>
38
+ </xs:restriction>
39
+ </xs:simpleType>
40
+ <xs:simpleType name="AddressType2Code">
41
+ <xs:restriction base="xs:string">
42
+ <xs:enumeration value="ADDR"/>
43
+ <xs:enumeration value="PBOX"/>
44
+ <xs:enumeration value="HOME"/>
45
+ <xs:enumeration value="BIZZ"/>
46
+ <xs:enumeration value="MLTO"/>
47
+ <xs:enumeration value="DLVY"/>
48
+ </xs:restriction>
49
+ </xs:simpleType>
50
+ <xs:complexType name="AmendmentInformationDetails6">
51
+ <xs:sequence>
52
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlMndtId" type="Max35Text"/>
53
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrSchmeId" type="PartyIdentification32"/>
54
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
55
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlCdtrAgtAcct" type="CashAccount16"/>
56
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtr" type="PartyIdentification32"/>
57
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAcct" type="CashAccount16"/>
58
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
59
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlDbtrAgtAcct" type="CashAccount16"/>
60
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlFnlColltnDt" type="ISODate"/>
61
+ <xs:element maxOccurs="1" minOccurs="0" name="OrgnlFrqcy" type="Frequency1Code"/>
62
+ </xs:sequence>
63
+ </xs:complexType>
64
+ <xs:simpleType name="AnyBICIdentifier">
65
+ <xs:restriction base="xs:string">
66
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
67
+ </xs:restriction>
68
+ </xs:simpleType>
69
+ <xs:complexType name="Authorisation1Choice">
70
+ <xs:sequence>
71
+ <xs:choice>
72
+ <xs:element name="Cd" type="Authorisation1Code"/>
73
+ <xs:element name="Prtry" type="Max128Text"/>
74
+ </xs:choice>
75
+ </xs:sequence>
76
+ </xs:complexType>
77
+ <xs:simpleType name="Authorisation1Code">
78
+ <xs:restriction base="xs:string">
79
+ <xs:enumeration value="AUTH"/>
80
+ <xs:enumeration value="FDET"/>
81
+ <xs:enumeration value="FSUM"/>
82
+ <xs:enumeration value="ILEV"/>
83
+ </xs:restriction>
84
+ </xs:simpleType>
85
+ <xs:simpleType name="BICIdentifier">
86
+ <xs:restriction base="xs:string">
87
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
88
+ </xs:restriction>
89
+ </xs:simpleType>
90
+ <xs:simpleType name="BatchBookingIndicator">
91
+ <xs:restriction base="xs:boolean"/>
92
+ </xs:simpleType>
93
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
94
+ <xs:sequence>
95
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
96
+ <xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+ <xs:complexType name="BranchData2">
100
+ <xs:sequence>
101
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
102
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
103
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
104
+ </xs:sequence>
105
+ </xs:complexType>
106
+ <xs:complexType name="CashAccount16">
107
+ <xs:sequence>
108
+ <xs:element name="Id" type="AccountIdentification4Choice"/>
109
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2"/>
110
+ <xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
111
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
112
+ </xs:sequence>
113
+ </xs:complexType>
114
+ <xs:complexType name="CashAccountType2">
115
+ <xs:sequence>
116
+ <xs:choice>
117
+ <xs:element name="Cd" type="CashAccountType4Code"/>
118
+ <xs:element name="Prtry" type="Max35Text"/>
119
+ </xs:choice>
120
+ </xs:sequence>
121
+ </xs:complexType>
122
+ <xs:simpleType name="CashAccountType4Code">
123
+ <xs:restriction base="xs:string">
124
+ <xs:enumeration value="CASH"/>
125
+ <xs:enumeration value="CHAR"/>
126
+ <xs:enumeration value="COMM"/>
127
+ <xs:enumeration value="TAXE"/>
128
+ <xs:enumeration value="CISH"/>
129
+ <xs:enumeration value="TRAS"/>
130
+ <xs:enumeration value="SACC"/>
131
+ <xs:enumeration value="CACC"/>
132
+ <xs:enumeration value="SVGS"/>
133
+ <xs:enumeration value="ONDP"/>
134
+ <xs:enumeration value="MGLD"/>
135
+ <xs:enumeration value="NREX"/>
136
+ <xs:enumeration value="MOMA"/>
137
+ <xs:enumeration value="LOAN"/>
138
+ <xs:enumeration value="SLRY"/>
139
+ <xs:enumeration value="ODFT"/>
140
+ </xs:restriction>
141
+ </xs:simpleType>
142
+ <xs:complexType name="CategoryPurpose1Choice">
143
+ <xs:sequence>
144
+ <xs:choice>
145
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
146
+ <xs:element name="Prtry" type="Max35Text"/>
147
+ </xs:choice>
148
+ </xs:sequence>
149
+ </xs:complexType>
150
+ <xs:simpleType name="ChargeBearerType1Code">
151
+ <xs:restriction base="xs:string">
152
+ <xs:enumeration value="DEBT"/>
153
+ <xs:enumeration value="CRED"/>
154
+ <xs:enumeration value="SHAR"/>
155
+ <xs:enumeration value="SLEV"/>
156
+ </xs:restriction>
157
+ </xs:simpleType>
158
+ <xs:complexType name="ClearingSystemIdentification2Choice">
159
+ <xs:sequence>
160
+ <xs:choice>
161
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
162
+ <xs:element name="Prtry" type="Max35Text"/>
163
+ </xs:choice>
164
+ </xs:sequence>
165
+ </xs:complexType>
166
+ <xs:complexType name="ClearingSystemMemberIdentification2">
167
+ <xs:sequence>
168
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
169
+ <xs:element name="MmbId" type="Max35Text"/>
170
+ </xs:sequence>
171
+ </xs:complexType>
172
+ <xs:complexType name="ContactDetails2">
173
+ <xs:sequence>
174
+ <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
175
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
176
+ <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
177
+ <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
178
+ <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
179
+ <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
180
+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
181
+ </xs:sequence>
182
+ </xs:complexType>
183
+ <xs:simpleType name="CountryCode">
184
+ <xs:restriction base="xs:string">
185
+ <xs:pattern value="[A-Z]{2,2}"/>
186
+ </xs:restriction>
187
+ </xs:simpleType>
188
+ <xs:simpleType name="CreditDebitCode">
189
+ <xs:restriction base="xs:string">
190
+ <xs:enumeration value="CRDT"/>
191
+ <xs:enumeration value="DBIT"/>
192
+ </xs:restriction>
193
+ </xs:simpleType>
194
+ <xs:complexType name="CreditorReferenceInformation2">
195
+ <xs:sequence>
196
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
197
+ <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
198
+ </xs:sequence>
199
+ </xs:complexType>
200
+ <xs:complexType name="CreditorReferenceType1Choice">
201
+ <xs:sequence>
202
+ <xs:choice>
203
+ <xs:element name="Cd" type="DocumentType3Code"/>
204
+ <xs:element name="Prtry" type="Max35Text"/>
205
+ </xs:choice>
206
+ </xs:sequence>
207
+ </xs:complexType>
208
+ <xs:complexType name="CreditorReferenceType2">
209
+ <xs:sequence>
210
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
211
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
212
+ </xs:sequence>
213
+ </xs:complexType>
214
+ <xs:complexType name="CustomerDirectDebitInitiationV02">
215
+ <xs:sequence>
216
+ <xs:element name="GrpHdr" type="GroupHeader39"/>
217
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation4"/>
218
+ </xs:sequence>
219
+ </xs:complexType>
220
+ <xs:complexType name="DateAndPlaceOfBirth">
221
+ <xs:sequence>
222
+ <xs:element name="BirthDt" type="ISODate"/>
223
+ <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
224
+ <xs:element name="CityOfBirth" type="Max35Text"/>
225
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
226
+ </xs:sequence>
227
+ </xs:complexType>
228
+ <xs:complexType name="DatePeriodDetails">
229
+ <xs:sequence>
230
+ <xs:element name="FrDt" type="ISODate"/>
231
+ <xs:element name="ToDt" type="ISODate"/>
232
+ </xs:sequence>
233
+ </xs:complexType>
234
+ <xs:simpleType name="DecimalNumber">
235
+ <xs:restriction base="xs:decimal">
236
+ <xs:fractionDigits value="17"/>
237
+ <xs:totalDigits value="18"/>
238
+ </xs:restriction>
239
+ </xs:simpleType>
240
+ <xs:complexType name="DirectDebitTransaction6">
241
+ <xs:sequence>
242
+ <xs:element maxOccurs="1" minOccurs="0" name="MndtRltdInf" type="MandateRelatedInformation6"/>
243
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrSchmeId" type="PartyIdentification32"/>
244
+ <xs:element maxOccurs="1" minOccurs="0" name="PreNtfctnId" type="Max35Text"/>
245
+ <xs:element maxOccurs="1" minOccurs="0" name="PreNtfctnDt" type="ISODate"/>
246
+ </xs:sequence>
247
+ </xs:complexType>
248
+ <xs:complexType name="DirectDebitTransactionInformation9">
249
+ <xs:sequence>
250
+ <xs:element name="PmtId" type="PaymentIdentification1"/>
251
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation20"/>
252
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
253
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
254
+ <xs:element maxOccurs="1" minOccurs="0" name="DrctDbtTx" type="DirectDebitTransaction6"/>
255
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
256
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
257
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/>
258
+ <xs:element name="Dbtr" type="PartyIdentification32"/>
259
+ <xs:element name="DbtrAcct" type="CashAccount16"/>
260
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
261
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrForCdtrAgt" type="Max140Text"/>
262
+ <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
263
+ <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
264
+ <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
265
+ <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
266
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/>
267
+ </xs:sequence>
268
+ </xs:complexType>
269
+ <xs:complexType name="Document">
270
+ <xs:sequence>
271
+ <xs:element name="CstmrDrctDbtInitn" type="CustomerDirectDebitInitiationV02"/>
272
+ </xs:sequence>
273
+ </xs:complexType>
274
+ <xs:complexType name="DocumentAdjustment1">
275
+ <xs:sequence>
276
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
277
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
278
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
279
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
280
+ </xs:sequence>
281
+ </xs:complexType>
282
+ <xs:simpleType name="DocumentType3Code">
283
+ <xs:restriction base="xs:string">
284
+ <xs:enumeration value="RADM"/>
285
+ <xs:enumeration value="RPIN"/>
286
+ <xs:enumeration value="FXDR"/>
287
+ <xs:enumeration value="DISP"/>
288
+ <xs:enumeration value="PUOR"/>
289
+ <xs:enumeration value="SCOR"/>
290
+ </xs:restriction>
291
+ </xs:simpleType>
292
+ <xs:simpleType name="DocumentType5Code">
293
+ <xs:restriction base="xs:string">
294
+ <xs:enumeration value="MSIN"/>
295
+ <xs:enumeration value="CNFA"/>
296
+ <xs:enumeration value="DNFA"/>
297
+ <xs:enumeration value="CINV"/>
298
+ <xs:enumeration value="CREN"/>
299
+ <xs:enumeration value="DEBN"/>
300
+ <xs:enumeration value="HIRI"/>
301
+ <xs:enumeration value="SBIN"/>
302
+ <xs:enumeration value="CMCN"/>
303
+ <xs:enumeration value="SOAC"/>
304
+ <xs:enumeration value="DISP"/>
305
+ <xs:enumeration value="BOLD"/>
306
+ <xs:enumeration value="VCHR"/>
307
+ <xs:enumeration value="AROI"/>
308
+ <xs:enumeration value="TSUT"/>
309
+ </xs:restriction>
310
+ </xs:simpleType>
311
+ <xs:simpleType name="ExternalAccountIdentification1Code">
312
+ <xs:restriction base="xs:string">
313
+ <xs:minLength value="1"/>
314
+ <xs:maxLength value="4"/>
315
+ </xs:restriction>
316
+ </xs:simpleType>
317
+ <xs:simpleType name="ExternalCategoryPurpose1Code">
318
+ <xs:restriction base="xs:string">
319
+ <xs:minLength value="1"/>
320
+ <xs:maxLength value="4"/>
321
+ </xs:restriction>
322
+ </xs:simpleType>
323
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
324
+ <xs:restriction base="xs:string">
325
+ <xs:minLength value="1"/>
326
+ <xs:maxLength value="5"/>
327
+ </xs:restriction>
328
+ </xs:simpleType>
329
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
330
+ <xs:restriction base="xs:string">
331
+ <xs:minLength value="1"/>
332
+ <xs:maxLength value="4"/>
333
+ </xs:restriction>
334
+ </xs:simpleType>
335
+ <xs:simpleType name="ExternalLocalInstrument1Code">
336
+ <xs:restriction base="xs:string">
337
+ <xs:minLength value="1"/>
338
+ <xs:maxLength value="35"/>
339
+ </xs:restriction>
340
+ </xs:simpleType>
341
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
342
+ <xs:restriction base="xs:string">
343
+ <xs:minLength value="1"/>
344
+ <xs:maxLength value="4"/>
345
+ </xs:restriction>
346
+ </xs:simpleType>
347
+ <xs:simpleType name="ExternalPersonIdentification1Code">
348
+ <xs:restriction base="xs:string">
349
+ <xs:minLength value="1"/>
350
+ <xs:maxLength value="4"/>
351
+ </xs:restriction>
352
+ </xs:simpleType>
353
+ <xs:simpleType name="ExternalPurpose1Code">
354
+ <xs:restriction base="xs:string">
355
+ <xs:minLength value="1"/>
356
+ <xs:maxLength value="4"/>
357
+ </xs:restriction>
358
+ </xs:simpleType>
359
+ <xs:simpleType name="ExternalServiceLevel1Code">
360
+ <xs:restriction base="xs:string">
361
+ <xs:minLength value="1"/>
362
+ <xs:maxLength value="4"/>
363
+ </xs:restriction>
364
+ </xs:simpleType>
365
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
366
+ <xs:sequence>
367
+ <xs:choice>
368
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
369
+ <xs:element name="Prtry" type="Max35Text"/>
370
+ </xs:choice>
371
+ </xs:sequence>
372
+ </xs:complexType>
373
+ <xs:complexType name="FinancialInstitutionIdentification7">
374
+ <xs:sequence>
375
+ <xs:element maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/>
376
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
377
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
378
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
379
+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
380
+ </xs:sequence>
381
+ </xs:complexType>
382
+ <xs:simpleType name="Frequency1Code">
383
+ <xs:restriction base="xs:string">
384
+ <xs:enumeration value="YEAR"/>
385
+ <xs:enumeration value="MNTH"/>
386
+ <xs:enumeration value="QURT"/>
387
+ <xs:enumeration value="MIAN"/>
388
+ <xs:enumeration value="WEEK"/>
389
+ <xs:enumeration value="DAIL"/>
390
+ <xs:enumeration value="ADHO"/>
391
+ <xs:enumeration value="INDA"/>
392
+ </xs:restriction>
393
+ </xs:simpleType>
394
+ <xs:complexType name="GenericAccountIdentification1">
395
+ <xs:sequence>
396
+ <xs:element name="Id" type="Max34Text"/>
397
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
398
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
399
+ </xs:sequence>
400
+ </xs:complexType>
401
+ <xs:complexType name="GenericFinancialIdentification1">
402
+ <xs:sequence>
403
+ <xs:element name="Id" type="Max35Text"/>
404
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
405
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
406
+ </xs:sequence>
407
+ </xs:complexType>
408
+ <xs:complexType name="GenericOrganisationIdentification1">
409
+ <xs:sequence>
410
+ <xs:element name="Id" type="Max35Text"/>
411
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
412
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
413
+ </xs:sequence>
414
+ </xs:complexType>
415
+ <xs:complexType name="GenericPersonIdentification1">
416
+ <xs:sequence>
417
+ <xs:element name="Id" type="Max35Text"/>
418
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
419
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
420
+ </xs:sequence>
421
+ </xs:complexType>
422
+ <xs:complexType name="GroupHeader39">
423
+ <xs:sequence>
424
+ <xs:element name="MsgId" type="Max35Text"/>
425
+ <xs:element name="CreDtTm" type="ISODateTime"/>
426
+ <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
427
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
428
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
429
+ <xs:element name="InitgPty" type="PartyIdentification32"/>
430
+ <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/>
431
+ </xs:sequence>
432
+ </xs:complexType>
433
+ <xs:simpleType name="IBAN2007Identifier">
434
+ <xs:restriction base="xs:string">
435
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
436
+ </xs:restriction>
437
+ </xs:simpleType>
438
+ <xs:simpleType name="ISODate">
439
+ <xs:restriction base="xs:date"/>
440
+ </xs:simpleType>
441
+ <xs:simpleType name="ISODateTime">
442
+ <xs:restriction base="xs:dateTime"/>
443
+ </xs:simpleType>
444
+ <xs:complexType name="LocalInstrument2Choice">
445
+ <xs:sequence>
446
+ <xs:choice>
447
+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
448
+ <xs:element name="Prtry" type="Max35Text"/>
449
+ </xs:choice>
450
+ </xs:sequence>
451
+ </xs:complexType>
452
+ <xs:complexType name="MandateRelatedInformation6">
453
+ <xs:sequence>
454
+ <xs:element maxOccurs="1" minOccurs="0" name="MndtId" type="Max35Text"/>
455
+ <xs:element maxOccurs="1" minOccurs="0" name="DtOfSgntr" type="ISODate"/>
456
+ <xs:element maxOccurs="1" minOccurs="0" name="AmdmntInd" type="TrueFalseIndicator"/>
457
+ <xs:element maxOccurs="1" minOccurs="0" name="AmdmntInfDtls" type="AmendmentInformationDetails6"/>
458
+ <xs:element maxOccurs="1" minOccurs="0" name="ElctrncSgntr" type="Max1025Text"/>
459
+ <xs:element maxOccurs="1" minOccurs="0" name="FrstColltnDt" type="ISODate"/>
460
+ <xs:element maxOccurs="1" minOccurs="0" name="FnlColltnDt" type="ISODate"/>
461
+ <xs:element maxOccurs="1" minOccurs="0" name="Frqcy" type="Frequency1Code"/>
462
+ </xs:sequence>
463
+ </xs:complexType>
464
+ <xs:simpleType name="Max1025Text">
465
+ <xs:restriction base="xs:string">
466
+ <xs:minLength value="1"/>
467
+ <xs:maxLength value="1025"/>
468
+ </xs:restriction>
469
+ </xs:simpleType>
470
+ <xs:simpleType name="Max10Text">
471
+ <xs:restriction base="xs:string">
472
+ <xs:minLength value="1"/>
473
+ <xs:maxLength value="10"/>
474
+ </xs:restriction>
475
+ </xs:simpleType>
476
+ <xs:simpleType name="Max128Text">
477
+ <xs:restriction base="xs:string">
478
+ <xs:minLength value="1"/>
479
+ <xs:maxLength value="128"/>
480
+ </xs:restriction>
481
+ </xs:simpleType>
482
+ <xs:simpleType name="Max140Text">
483
+ <xs:restriction base="xs:string">
484
+ <xs:minLength value="1"/>
485
+ <xs:maxLength value="140"/>
486
+ </xs:restriction>
487
+ </xs:simpleType>
488
+ <xs:simpleType name="Max15NumericText">
489
+ <xs:restriction base="xs:string">
490
+ <xs:pattern value="[0-9]{1,15}"/>
491
+ </xs:restriction>
492
+ </xs:simpleType>
493
+ <xs:simpleType name="Max16Text">
494
+ <xs:restriction base="xs:string">
495
+ <xs:minLength value="1"/>
496
+ <xs:maxLength value="16"/>
497
+ </xs:restriction>
498
+ </xs:simpleType>
499
+ <xs:simpleType name="Max2048Text">
500
+ <xs:restriction base="xs:string">
501
+ <xs:minLength value="1"/>
502
+ <xs:maxLength value="2048"/>
503
+ </xs:restriction>
504
+ </xs:simpleType>
505
+ <xs:simpleType name="Max34Text">
506
+ <xs:restriction base="xs:string">
507
+ <xs:minLength value="1"/>
508
+ <xs:maxLength value="34"/>
509
+ </xs:restriction>
510
+ </xs:simpleType>
511
+ <xs:simpleType name="Max35Text">
512
+ <xs:restriction base="xs:string">
513
+ <xs:minLength value="1"/>
514
+ <xs:maxLength value="35"/>
515
+ </xs:restriction>
516
+ </xs:simpleType>
517
+ <xs:simpleType name="Max4Text">
518
+ <xs:restriction base="xs:string">
519
+ <xs:minLength value="1"/>
520
+ <xs:maxLength value="4"/>
521
+ </xs:restriction>
522
+ </xs:simpleType>
523
+ <xs:simpleType name="Max70Text">
524
+ <xs:restriction base="xs:string">
525
+ <xs:minLength value="1"/>
526
+ <xs:maxLength value="70"/>
527
+ </xs:restriction>
528
+ </xs:simpleType>
529
+ <xs:complexType name="NameAndAddress10">
530
+ <xs:sequence>
531
+ <xs:element name="Nm" type="Max140Text"/>
532
+ <xs:element name="Adr" type="PostalAddress6"/>
533
+ </xs:sequence>
534
+ </xs:complexType>
535
+ <xs:simpleType name="NamePrefix1Code">
536
+ <xs:restriction base="xs:string">
537
+ <xs:enumeration value="DOCT"/>
538
+ <xs:enumeration value="MIST"/>
539
+ <xs:enumeration value="MISS"/>
540
+ <xs:enumeration value="MADM"/>
541
+ </xs:restriction>
542
+ </xs:simpleType>
543
+ <xs:simpleType name="Number">
544
+ <xs:restriction base="xs:decimal">
545
+ <xs:fractionDigits value="0"/>
546
+ <xs:totalDigits value="18"/>
547
+ </xs:restriction>
548
+ </xs:simpleType>
549
+ <xs:complexType name="OrganisationIdentification4">
550
+ <xs:sequence>
551
+ <xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/>
552
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
553
+ </xs:sequence>
554
+ </xs:complexType>
555
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
556
+ <xs:sequence>
557
+ <xs:choice>
558
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
559
+ <xs:element name="Prtry" type="Max35Text"/>
560
+ </xs:choice>
561
+ </xs:sequence>
562
+ </xs:complexType>
563
+ <xs:complexType name="Party6Choice">
564
+ <xs:sequence>
565
+ <xs:choice>
566
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
567
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
568
+ </xs:choice>
569
+ </xs:sequence>
570
+ </xs:complexType>
571
+ <xs:complexType name="PartyIdentification32">
572
+ <xs:sequence>
573
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
574
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
575
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/>
576
+ <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
577
+ <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
578
+ </xs:sequence>
579
+ </xs:complexType>
580
+ <xs:complexType name="PaymentIdentification1">
581
+ <xs:sequence>
582
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
583
+ <xs:element name="EndToEndId" type="Max35Text"/>
584
+ </xs:sequence>
585
+ </xs:complexType>
586
+ <xs:complexType name="PaymentInstructionInformation4">
587
+ <xs:sequence>
588
+ <xs:element name="PmtInfId" type="Max35Text"/>
589
+ <xs:element name="PmtMtd" type="PaymentMethod2Code"/>
590
+ <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
591
+ <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
592
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
593
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation20"/>
594
+ <xs:element name="ReqdColltnDt" type="ISODate"/>
595
+ <xs:element name="Cdtr" type="PartyIdentification32"/>
596
+ <xs:element name="CdtrAcct" type="CashAccount16"/>
597
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
598
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/>
599
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
600
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
601
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/>
602
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/>
603
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrSchmeId" type="PartyIdentification32"/>
604
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="DrctDbtTxInf" type="DirectDebitTransactionInformation9"/>
605
+ </xs:sequence>
606
+ </xs:complexType>
607
+ <xs:simpleType name="PaymentMethod2Code">
608
+ <xs:restriction base="xs:string">
609
+ <xs:enumeration value="DD"/>
610
+ </xs:restriction>
611
+ </xs:simpleType>
612
+ <xs:complexType name="PaymentTypeInformation20">
613
+ <xs:sequence>
614
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
615
+ <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
616
+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
617
+ <xs:element maxOccurs="1" minOccurs="0" name="SeqTp" type="SequenceType1Code"/>
618
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
619
+ </xs:sequence>
620
+ </xs:complexType>
621
+ <xs:simpleType name="PercentageRate">
622
+ <xs:restriction base="xs:decimal">
623
+ <xs:fractionDigits value="10"/>
624
+ <xs:totalDigits value="11"/>
625
+ </xs:restriction>
626
+ </xs:simpleType>
627
+ <xs:complexType name="PersonIdentification5">
628
+ <xs:sequence>
629
+ <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
630
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
631
+ </xs:sequence>
632
+ </xs:complexType>
633
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
634
+ <xs:sequence>
635
+ <xs:choice>
636
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
637
+ <xs:element name="Prtry" type="Max35Text"/>
638
+ </xs:choice>
639
+ </xs:sequence>
640
+ </xs:complexType>
641
+ <xs:simpleType name="PhoneNumber">
642
+ <xs:restriction base="xs:string">
643
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
644
+ </xs:restriction>
645
+ </xs:simpleType>
646
+ <xs:complexType name="PostalAddress6">
647
+ <xs:sequence>
648
+ <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
649
+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
650
+ <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
651
+ <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
652
+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
653
+ <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
654
+ <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
655
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
656
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
657
+ <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
658
+ </xs:sequence>
659
+ </xs:complexType>
660
+ <xs:simpleType name="Priority2Code">
661
+ <xs:restriction base="xs:string">
662
+ <xs:enumeration value="HIGH"/>
663
+ <xs:enumeration value="NORM"/>
664
+ </xs:restriction>
665
+ </xs:simpleType>
666
+ <xs:complexType name="Purpose2Choice">
667
+ <xs:sequence>
668
+ <xs:choice>
669
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
670
+ <xs:element name="Prtry" type="Max35Text"/>
671
+ </xs:choice>
672
+ </xs:sequence>
673
+ </xs:complexType>
674
+ <xs:complexType name="ReferredDocumentInformation3">
675
+ <xs:sequence>
676
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
677
+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
678
+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
679
+ </xs:sequence>
680
+ </xs:complexType>
681
+ <xs:complexType name="ReferredDocumentType1Choice">
682
+ <xs:sequence>
683
+ <xs:choice>
684
+ <xs:element name="Cd" type="DocumentType5Code"/>
685
+ <xs:element name="Prtry" type="Max35Text"/>
686
+ </xs:choice>
687
+ </xs:sequence>
688
+ </xs:complexType>
689
+ <xs:complexType name="ReferredDocumentType2">
690
+ <xs:sequence>
691
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
692
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
693
+ </xs:sequence>
694
+ </xs:complexType>
695
+ <xs:complexType name="RegulatoryAuthority2">
696
+ <xs:sequence>
697
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
698
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
699
+ </xs:sequence>
700
+ </xs:complexType>
701
+ <xs:complexType name="RegulatoryReporting3">
702
+ <xs:sequence>
703
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
704
+ <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
705
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
706
+ </xs:sequence>
707
+ </xs:complexType>
708
+ <xs:simpleType name="RegulatoryReportingType1Code">
709
+ <xs:restriction base="xs:string">
710
+ <xs:enumeration value="CRED"/>
711
+ <xs:enumeration value="DEBT"/>
712
+ <xs:enumeration value="BOTH"/>
713
+ </xs:restriction>
714
+ </xs:simpleType>
715
+ <xs:complexType name="RemittanceAmount1">
716
+ <xs:sequence>
717
+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
718
+ <xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
719
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
720
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
721
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
722
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
723
+ </xs:sequence>
724
+ </xs:complexType>
725
+ <xs:complexType name="RemittanceInformation5">
726
+ <xs:sequence>
727
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
728
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/>
729
+ </xs:sequence>
730
+ </xs:complexType>
731
+ <xs:complexType name="RemittanceLocation2">
732
+ <xs:sequence>
733
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
734
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
735
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
736
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
737
+ </xs:sequence>
738
+ </xs:complexType>
739
+ <xs:simpleType name="RemittanceLocationMethod2Code">
740
+ <xs:restriction base="xs:string">
741
+ <xs:enumeration value="FAXI"/>
742
+ <xs:enumeration value="EDIC"/>
743
+ <xs:enumeration value="URID"/>
744
+ <xs:enumeration value="EMAL"/>
745
+ <xs:enumeration value="POST"/>
746
+ <xs:enumeration value="SMSM"/>
747
+ </xs:restriction>
748
+ </xs:simpleType>
749
+ <xs:simpleType name="SequenceType1Code">
750
+ <xs:restriction base="xs:string">
751
+ <xs:enumeration value="FRST"/>
752
+ <xs:enumeration value="RCUR"/>
753
+ <xs:enumeration value="FNAL"/>
754
+ <xs:enumeration value="OOFF"/>
755
+ </xs:restriction>
756
+ </xs:simpleType>
757
+ <xs:complexType name="ServiceLevel8Choice">
758
+ <xs:sequence>
759
+ <xs:choice>
760
+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
761
+ <xs:element name="Prtry" type="Max35Text"/>
762
+ </xs:choice>
763
+ </xs:sequence>
764
+ </xs:complexType>
765
+ <xs:complexType name="StructuredRegulatoryReporting3">
766
+ <xs:sequence>
767
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
768
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
769
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
770
+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
771
+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
772
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
773
+ </xs:sequence>
774
+ </xs:complexType>
775
+ <xs:complexType name="StructuredRemittanceInformation7">
776
+ <xs:sequence>
777
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
778
+ <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/>
779
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
780
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/>
781
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/>
782
+ <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
783
+ </xs:sequence>
784
+ </xs:complexType>
785
+ <xs:complexType name="TaxAmount1">
786
+ <xs:sequence>
787
+ <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
788
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
789
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
790
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
791
+ </xs:sequence>
792
+ </xs:complexType>
793
+ <xs:complexType name="TaxAuthorisation1">
794
+ <xs:sequence>
795
+ <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
796
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
797
+ </xs:sequence>
798
+ </xs:complexType>
799
+ <xs:complexType name="TaxInformation3">
800
+ <xs:sequence>
801
+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
802
+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
803
+ <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
804
+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
805
+ <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
806
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
807
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
808
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
809
+ <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
810
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
811
+ </xs:sequence>
812
+ </xs:complexType>
813
+ <xs:complexType name="TaxParty1">
814
+ <xs:sequence>
815
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
816
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
817
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
818
+ </xs:sequence>
819
+ </xs:complexType>
820
+ <xs:complexType name="TaxParty2">
821
+ <xs:sequence>
822
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
823
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
824
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
825
+ <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
826
+ </xs:sequence>
827
+ </xs:complexType>
828
+ <xs:complexType name="TaxPeriod1">
829
+ <xs:sequence>
830
+ <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
831
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
832
+ <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
833
+ </xs:sequence>
834
+ </xs:complexType>
835
+ <xs:complexType name="TaxRecord1">
836
+ <xs:sequence>
837
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
838
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
839
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
840
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
841
+ <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
842
+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
843
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
844
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
845
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
846
+ </xs:sequence>
847
+ </xs:complexType>
848
+ <xs:complexType name="TaxRecordDetails1">
849
+ <xs:sequence>
850
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
851
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
852
+ </xs:sequence>
853
+ </xs:complexType>
854
+ <xs:simpleType name="TaxRecordPeriod1Code">
855
+ <xs:restriction base="xs:string">
856
+ <xs:enumeration value="MM01"/>
857
+ <xs:enumeration value="MM02"/>
858
+ <xs:enumeration value="MM03"/>
859
+ <xs:enumeration value="MM04"/>
860
+ <xs:enumeration value="MM05"/>
861
+ <xs:enumeration value="MM06"/>
862
+ <xs:enumeration value="MM07"/>
863
+ <xs:enumeration value="MM08"/>
864
+ <xs:enumeration value="MM09"/>
865
+ <xs:enumeration value="MM10"/>
866
+ <xs:enumeration value="MM11"/>
867
+ <xs:enumeration value="MM12"/>
868
+ <xs:enumeration value="QTR1"/>
869
+ <xs:enumeration value="QTR2"/>
870
+ <xs:enumeration value="QTR3"/>
871
+ <xs:enumeration value="QTR4"/>
872
+ <xs:enumeration value="HLF1"/>
873
+ <xs:enumeration value="HLF2"/>
874
+ </xs:restriction>
875
+ </xs:simpleType>
876
+ <xs:simpleType name="TrueFalseIndicator">
877
+ <xs:restriction base="xs:boolean"/>
878
+ </xs:simpleType>
879
+ </xs:schema>