wire_client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,921 @@
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.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
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="AmountType3Choice">
51
+ <xs:sequence>
52
+ <xs:choice>
53
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
54
+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
55
+ </xs:choice>
56
+ </xs:sequence>
57
+ </xs:complexType>
58
+ <xs:simpleType name="AnyBICIdentifier">
59
+ <xs:restriction base="xs:string">
60
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
61
+ </xs:restriction>
62
+ </xs:simpleType>
63
+ <xs:complexType name="Authorisation1Choice">
64
+ <xs:sequence>
65
+ <xs:choice>
66
+ <xs:element name="Cd" type="Authorisation1Code"/>
67
+ <xs:element name="Prtry" type="Max128Text"/>
68
+ </xs:choice>
69
+ </xs:sequence>
70
+ </xs:complexType>
71
+ <xs:simpleType name="Authorisation1Code">
72
+ <xs:restriction base="xs:string">
73
+ <xs:enumeration value="AUTH"/>
74
+ <xs:enumeration value="FDET"/>
75
+ <xs:enumeration value="FSUM"/>
76
+ <xs:enumeration value="ILEV"/>
77
+ </xs:restriction>
78
+ </xs:simpleType>
79
+ <xs:simpleType name="BICIdentifier">
80
+ <xs:restriction base="xs:string">
81
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
82
+ </xs:restriction>
83
+ </xs:simpleType>
84
+ <xs:simpleType name="BaseOneRate">
85
+ <xs:restriction base="xs:decimal">
86
+ <xs:fractionDigits value="10"/>
87
+ <xs:totalDigits value="11"/>
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="Cheque6">
159
+ <xs:sequence>
160
+ <xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
161
+ <xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
162
+ <xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
163
+ <xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
164
+ <xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
165
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
166
+ <xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
167
+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
168
+ <xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
169
+ <xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
170
+ <xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
171
+ </xs:sequence>
172
+ </xs:complexType>
173
+ <xs:simpleType name="ChequeDelivery1Code">
174
+ <xs:restriction base="xs:string">
175
+ <xs:enumeration value="MLDB"/>
176
+ <xs:enumeration value="MLCD"/>
177
+ <xs:enumeration value="MLFA"/>
178
+ <xs:enumeration value="CRDB"/>
179
+ <xs:enumeration value="CRCD"/>
180
+ <xs:enumeration value="CRFA"/>
181
+ <xs:enumeration value="PUDB"/>
182
+ <xs:enumeration value="PUCD"/>
183
+ <xs:enumeration value="PUFA"/>
184
+ <xs:enumeration value="RGDB"/>
185
+ <xs:enumeration value="RGCD"/>
186
+ <xs:enumeration value="RGFA"/>
187
+ </xs:restriction>
188
+ </xs:simpleType>
189
+ <xs:complexType name="ChequeDeliveryMethod1Choice">
190
+ <xs:sequence>
191
+ <xs:choice>
192
+ <xs:element name="Cd" type="ChequeDelivery1Code"/>
193
+ <xs:element name="Prtry" type="Max35Text"/>
194
+ </xs:choice>
195
+ </xs:sequence>
196
+ </xs:complexType>
197
+ <xs:simpleType name="ChequeType2Code">
198
+ <xs:restriction base="xs:string">
199
+ <xs:enumeration value="CCHQ"/>
200
+ <xs:enumeration value="CCCH"/>
201
+ <xs:enumeration value="BCHQ"/>
202
+ <xs:enumeration value="DRFT"/>
203
+ <xs:enumeration value="ELDR"/>
204
+ </xs:restriction>
205
+ </xs:simpleType>
206
+ <xs:complexType name="ClearingSystemIdentification2Choice">
207
+ <xs:sequence>
208
+ <xs:choice>
209
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
210
+ <xs:element name="Prtry" type="Max35Text"/>
211
+ </xs:choice>
212
+ </xs:sequence>
213
+ </xs:complexType>
214
+ <xs:complexType name="ClearingSystemMemberIdentification2">
215
+ <xs:sequence>
216
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
217
+ <xs:element name="MmbId" type="Max35Text"/>
218
+ </xs:sequence>
219
+ </xs:complexType>
220
+ <xs:complexType name="ContactDetails2">
221
+ <xs:sequence>
222
+ <xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
223
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
224
+ <xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
225
+ <xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
226
+ <xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
227
+ <xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
228
+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
229
+ </xs:sequence>
230
+ </xs:complexType>
231
+ <xs:simpleType name="CountryCode">
232
+ <xs:restriction base="xs:string">
233
+ <xs:pattern value="[A-Z]{2,2}"/>
234
+ </xs:restriction>
235
+ </xs:simpleType>
236
+ <xs:simpleType name="CreditDebitCode">
237
+ <xs:restriction base="xs:string">
238
+ <xs:enumeration value="CRDT"/>
239
+ <xs:enumeration value="DBIT"/>
240
+ </xs:restriction>
241
+ </xs:simpleType>
242
+ <xs:complexType name="CreditTransferTransactionInformation10">
243
+ <xs:sequence>
244
+ <xs:element name="PmtId" type="PaymentIdentification1"/>
245
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
246
+ <xs:element name="Amt" type="AmountType3Choice"/>
247
+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRateInformation1"/>
248
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
249
+ <xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque6"/>
250
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
251
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4"/>
252
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount16"/>
253
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4"/>
254
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount16"/>
255
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4"/>
256
+ <xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount16"/>
257
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
258
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/>
259
+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification32"/>
260
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount16"/>
261
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
262
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
263
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
264
+ <xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
265
+ <xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
266
+ <xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
267
+ <xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
268
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/>
269
+ </xs:sequence>
270
+ </xs:complexType>
271
+ <xs:complexType name="CreditorReferenceInformation2">
272
+ <xs:sequence>
273
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
274
+ <xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
275
+ </xs:sequence>
276
+ </xs:complexType>
277
+ <xs:complexType name="CreditorReferenceType1Choice">
278
+ <xs:sequence>
279
+ <xs:choice>
280
+ <xs:element name="Cd" type="DocumentType3Code"/>
281
+ <xs:element name="Prtry" type="Max35Text"/>
282
+ </xs:choice>
283
+ </xs:sequence>
284
+ </xs:complexType>
285
+ <xs:complexType name="CreditorReferenceType2">
286
+ <xs:sequence>
287
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
288
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
289
+ </xs:sequence>
290
+ </xs:complexType>
291
+ <xs:complexType name="CustomerCreditTransferInitiationV03">
292
+ <xs:sequence>
293
+ <xs:element name="GrpHdr" type="GroupHeader32"/>
294
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation3"/>
295
+ </xs:sequence>
296
+ </xs:complexType>
297
+ <xs:complexType name="DateAndPlaceOfBirth">
298
+ <xs:sequence>
299
+ <xs:element name="BirthDt" type="ISODate"/>
300
+ <xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
301
+ <xs:element name="CityOfBirth" type="Max35Text"/>
302
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
303
+ </xs:sequence>
304
+ </xs:complexType>
305
+ <xs:complexType name="DatePeriodDetails">
306
+ <xs:sequence>
307
+ <xs:element name="FrDt" type="ISODate"/>
308
+ <xs:element name="ToDt" type="ISODate"/>
309
+ </xs:sequence>
310
+ </xs:complexType>
311
+ <xs:simpleType name="DecimalNumber">
312
+ <xs:restriction base="xs:decimal">
313
+ <xs:fractionDigits value="17"/>
314
+ <xs:totalDigits value="18"/>
315
+ </xs:restriction>
316
+ </xs:simpleType>
317
+ <xs:complexType name="Document">
318
+ <xs:sequence>
319
+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/>
320
+ </xs:sequence>
321
+ </xs:complexType>
322
+ <xs:complexType name="DocumentAdjustment1">
323
+ <xs:sequence>
324
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
325
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
326
+ <xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
327
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
328
+ </xs:sequence>
329
+ </xs:complexType>
330
+ <xs:simpleType name="DocumentType3Code">
331
+ <xs:restriction base="xs:string">
332
+ <xs:enumeration value="RADM"/>
333
+ <xs:enumeration value="RPIN"/>
334
+ <xs:enumeration value="FXDR"/>
335
+ <xs:enumeration value="DISP"/>
336
+ <xs:enumeration value="PUOR"/>
337
+ <xs:enumeration value="SCOR"/>
338
+ </xs:restriction>
339
+ </xs:simpleType>
340
+ <xs:simpleType name="DocumentType5Code">
341
+ <xs:restriction base="xs:string">
342
+ <xs:enumeration value="MSIN"/>
343
+ <xs:enumeration value="CNFA"/>
344
+ <xs:enumeration value="DNFA"/>
345
+ <xs:enumeration value="CINV"/>
346
+ <xs:enumeration value="CREN"/>
347
+ <xs:enumeration value="DEBN"/>
348
+ <xs:enumeration value="HIRI"/>
349
+ <xs:enumeration value="SBIN"/>
350
+ <xs:enumeration value="CMCN"/>
351
+ <xs:enumeration value="SOAC"/>
352
+ <xs:enumeration value="DISP"/>
353
+ <xs:enumeration value="BOLD"/>
354
+ <xs:enumeration value="VCHR"/>
355
+ <xs:enumeration value="AROI"/>
356
+ <xs:enumeration value="TSUT"/>
357
+ </xs:restriction>
358
+ </xs:simpleType>
359
+ <xs:complexType name="EquivalentAmount2">
360
+ <xs:sequence>
361
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
362
+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
363
+ </xs:sequence>
364
+ </xs:complexType>
365
+ <xs:complexType name="ExchangeRateInformation1">
366
+ <xs:sequence>
367
+ <xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
368
+ <xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
369
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
370
+ </xs:sequence>
371
+ </xs:complexType>
372
+ <xs:simpleType name="ExchangeRateType1Code">
373
+ <xs:restriction base="xs:string">
374
+ <xs:enumeration value="SPOT"/>
375
+ <xs:enumeration value="SALE"/>
376
+ <xs:enumeration value="AGRD"/>
377
+ </xs:restriction>
378
+ </xs:simpleType>
379
+ <xs:simpleType name="ExternalAccountIdentification1Code">
380
+ <xs:restriction base="xs:string">
381
+ <xs:minLength value="1"/>
382
+ <xs:maxLength value="4"/>
383
+ </xs:restriction>
384
+ </xs:simpleType>
385
+ <xs:simpleType name="ExternalCategoryPurpose1Code">
386
+ <xs:restriction base="xs:string">
387
+ <xs:minLength value="1"/>
388
+ <xs:maxLength value="4"/>
389
+ </xs:restriction>
390
+ </xs:simpleType>
391
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
392
+ <xs:restriction base="xs:string">
393
+ <xs:minLength value="1"/>
394
+ <xs:maxLength value="5"/>
395
+ </xs:restriction>
396
+ </xs:simpleType>
397
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
398
+ <xs:restriction base="xs:string">
399
+ <xs:minLength value="1"/>
400
+ <xs:maxLength value="4"/>
401
+ </xs:restriction>
402
+ </xs:simpleType>
403
+ <xs:simpleType name="ExternalLocalInstrument1Code">
404
+ <xs:restriction base="xs:string">
405
+ <xs:minLength value="1"/>
406
+ <xs:maxLength value="35"/>
407
+ </xs:restriction>
408
+ </xs:simpleType>
409
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
410
+ <xs:restriction base="xs:string">
411
+ <xs:minLength value="1"/>
412
+ <xs:maxLength value="4"/>
413
+ </xs:restriction>
414
+ </xs:simpleType>
415
+ <xs:simpleType name="ExternalPersonIdentification1Code">
416
+ <xs:restriction base="xs:string">
417
+ <xs:minLength value="1"/>
418
+ <xs:maxLength value="4"/>
419
+ </xs:restriction>
420
+ </xs:simpleType>
421
+ <xs:simpleType name="ExternalPurpose1Code">
422
+ <xs:restriction base="xs:string">
423
+ <xs:minLength value="1"/>
424
+ <xs:maxLength value="4"/>
425
+ </xs:restriction>
426
+ </xs:simpleType>
427
+ <xs:simpleType name="ExternalServiceLevel1Code">
428
+ <xs:restriction base="xs:string">
429
+ <xs:minLength value="1"/>
430
+ <xs:maxLength value="4"/>
431
+ </xs:restriction>
432
+ </xs:simpleType>
433
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
434
+ <xs:sequence>
435
+ <xs:choice>
436
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
437
+ <xs:element name="Prtry" type="Max35Text"/>
438
+ </xs:choice>
439
+ </xs:sequence>
440
+ </xs:complexType>
441
+ <xs:complexType name="FinancialInstitutionIdentification7">
442
+ <xs:sequence>
443
+ <xs:element maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/>
444
+ <xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
445
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
446
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
447
+ <xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
448
+ </xs:sequence>
449
+ </xs:complexType>
450
+ <xs:complexType name="GenericAccountIdentification1">
451
+ <xs:sequence>
452
+ <xs:element name="Id" type="Max34Text"/>
453
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
454
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
455
+ </xs:sequence>
456
+ </xs:complexType>
457
+ <xs:complexType name="GenericFinancialIdentification1">
458
+ <xs:sequence>
459
+ <xs:element name="Id" type="Max35Text"/>
460
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
461
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
462
+ </xs:sequence>
463
+ </xs:complexType>
464
+ <xs:complexType name="GenericOrganisationIdentification1">
465
+ <xs:sequence>
466
+ <xs:element name="Id" type="Max35Text"/>
467
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
468
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
469
+ </xs:sequence>
470
+ </xs:complexType>
471
+ <xs:complexType name="GenericPersonIdentification1">
472
+ <xs:sequence>
473
+ <xs:element name="Id" type="Max35Text"/>
474
+ <xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
475
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
476
+ </xs:sequence>
477
+ </xs:complexType>
478
+ <xs:complexType name="GroupHeader32">
479
+ <xs:sequence>
480
+ <xs:element name="MsgId" type="Max35Text"/>
481
+ <xs:element name="CreDtTm" type="ISODateTime"/>
482
+ <xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
483
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
484
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
485
+ <xs:element name="InitgPty" type="PartyIdentification32"/>
486
+ <xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/>
487
+ </xs:sequence>
488
+ </xs:complexType>
489
+ <xs:simpleType name="IBAN2007Identifier">
490
+ <xs:restriction base="xs:string">
491
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
492
+ </xs:restriction>
493
+ </xs:simpleType>
494
+ <xs:simpleType name="ISODate">
495
+ <xs:restriction base="xs:date"/>
496
+ </xs:simpleType>
497
+ <xs:simpleType name="ISODateTime">
498
+ <xs:restriction base="xs:dateTime"/>
499
+ </xs:simpleType>
500
+ <xs:simpleType name="Instruction3Code">
501
+ <xs:restriction base="xs:string">
502
+ <xs:enumeration value="CHQB"/>
503
+ <xs:enumeration value="HOLD"/>
504
+ <xs:enumeration value="PHOB"/>
505
+ <xs:enumeration value="TELB"/>
506
+ </xs:restriction>
507
+ </xs:simpleType>
508
+ <xs:complexType name="InstructionForCreditorAgent1">
509
+ <xs:sequence>
510
+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
511
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
512
+ </xs:sequence>
513
+ </xs:complexType>
514
+ <xs:complexType name="LocalInstrument2Choice">
515
+ <xs:sequence>
516
+ <xs:choice>
517
+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
518
+ <xs:element name="Prtry" type="Max35Text"/>
519
+ </xs:choice>
520
+ </xs:sequence>
521
+ </xs:complexType>
522
+ <xs:simpleType name="Max10Text">
523
+ <xs:restriction base="xs:string">
524
+ <xs:minLength value="1"/>
525
+ <xs:maxLength value="10"/>
526
+ </xs:restriction>
527
+ </xs:simpleType>
528
+ <xs:simpleType name="Max128Text">
529
+ <xs:restriction base="xs:string">
530
+ <xs:minLength value="1"/>
531
+ <xs:maxLength value="128"/>
532
+ </xs:restriction>
533
+ </xs:simpleType>
534
+ <xs:simpleType name="Max140Text">
535
+ <xs:restriction base="xs:string">
536
+ <xs:minLength value="1"/>
537
+ <xs:maxLength value="140"/>
538
+ </xs:restriction>
539
+ </xs:simpleType>
540
+ <xs:simpleType name="Max15NumericText">
541
+ <xs:restriction base="xs:string">
542
+ <xs:pattern value="[0-9]{1,15}"/>
543
+ </xs:restriction>
544
+ </xs:simpleType>
545
+ <xs:simpleType name="Max16Text">
546
+ <xs:restriction base="xs:string">
547
+ <xs:minLength value="1"/>
548
+ <xs:maxLength value="16"/>
549
+ </xs:restriction>
550
+ </xs:simpleType>
551
+ <xs:simpleType name="Max2048Text">
552
+ <xs:restriction base="xs:string">
553
+ <xs:minLength value="1"/>
554
+ <xs:maxLength value="2048"/>
555
+ </xs:restriction>
556
+ </xs:simpleType>
557
+ <xs:simpleType name="Max34Text">
558
+ <xs:restriction base="xs:string">
559
+ <xs:minLength value="1"/>
560
+ <xs:maxLength value="34"/>
561
+ </xs:restriction>
562
+ </xs:simpleType>
563
+ <xs:simpleType name="Max35Text">
564
+ <xs:restriction base="xs:string">
565
+ <xs:minLength value="1"/>
566
+ <xs:maxLength value="35"/>
567
+ </xs:restriction>
568
+ </xs:simpleType>
569
+ <xs:simpleType name="Max4Text">
570
+ <xs:restriction base="xs:string">
571
+ <xs:minLength value="1"/>
572
+ <xs:maxLength value="4"/>
573
+ </xs:restriction>
574
+ </xs:simpleType>
575
+ <xs:simpleType name="Max70Text">
576
+ <xs:restriction base="xs:string">
577
+ <xs:minLength value="1"/>
578
+ <xs:maxLength value="70"/>
579
+ </xs:restriction>
580
+ </xs:simpleType>
581
+ <xs:complexType name="NameAndAddress10">
582
+ <xs:sequence>
583
+ <xs:element name="Nm" type="Max140Text"/>
584
+ <xs:element name="Adr" type="PostalAddress6"/>
585
+ </xs:sequence>
586
+ </xs:complexType>
587
+ <xs:simpleType name="NamePrefix1Code">
588
+ <xs:restriction base="xs:string">
589
+ <xs:enumeration value="DOCT"/>
590
+ <xs:enumeration value="MIST"/>
591
+ <xs:enumeration value="MISS"/>
592
+ <xs:enumeration value="MADM"/>
593
+ </xs:restriction>
594
+ </xs:simpleType>
595
+ <xs:simpleType name="Number">
596
+ <xs:restriction base="xs:decimal">
597
+ <xs:fractionDigits value="0"/>
598
+ <xs:totalDigits value="18"/>
599
+ </xs:restriction>
600
+ </xs:simpleType>
601
+ <xs:complexType name="OrganisationIdentification4">
602
+ <xs:sequence>
603
+ <xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/>
604
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
605
+ </xs:sequence>
606
+ </xs:complexType>
607
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
608
+ <xs:sequence>
609
+ <xs:choice>
610
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
611
+ <xs:element name="Prtry" type="Max35Text"/>
612
+ </xs:choice>
613
+ </xs:sequence>
614
+ </xs:complexType>
615
+ <xs:complexType name="Party6Choice">
616
+ <xs:sequence>
617
+ <xs:choice>
618
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
619
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
620
+ </xs:choice>
621
+ </xs:sequence>
622
+ </xs:complexType>
623
+ <xs:complexType name="PartyIdentification32">
624
+ <xs:sequence>
625
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
626
+ <xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
627
+ <xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/>
628
+ <xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
629
+ <xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
630
+ </xs:sequence>
631
+ </xs:complexType>
632
+ <xs:complexType name="PaymentIdentification1">
633
+ <xs:sequence>
634
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
635
+ <xs:element name="EndToEndId" type="Max35Text"/>
636
+ </xs:sequence>
637
+ </xs:complexType>
638
+ <xs:complexType name="PaymentInstructionInformation3">
639
+ <xs:sequence>
640
+ <xs:element name="PmtInfId" type="Max35Text"/>
641
+ <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
642
+ <xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
643
+ <xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
644
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
645
+ <xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
646
+ <xs:element name="ReqdExctnDt" type="ISODate"/>
647
+ <xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
648
+ <xs:element name="Dbtr" type="PartyIdentification32"/>
649
+ <xs:element name="DbtrAcct" type="CashAccount16"/>
650
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
651
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/>
652
+ <xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
653
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
654
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/>
655
+ <xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/>
656
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransactionInformation10"/>
657
+ </xs:sequence>
658
+ </xs:complexType>
659
+ <xs:simpleType name="PaymentMethod3Code">
660
+ <xs:restriction base="xs:string">
661
+ <xs:enumeration value="CHK"/>
662
+ <xs:enumeration value="TRF"/>
663
+ <xs:enumeration value="TRA"/>
664
+ </xs:restriction>
665
+ </xs:simpleType>
666
+ <xs:complexType name="PaymentTypeInformation19">
667
+ <xs:sequence>
668
+ <xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
669
+ <xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
670
+ <xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
671
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
672
+ </xs:sequence>
673
+ </xs:complexType>
674
+ <xs:simpleType name="PercentageRate">
675
+ <xs:restriction base="xs:decimal">
676
+ <xs:fractionDigits value="10"/>
677
+ <xs:totalDigits value="11"/>
678
+ </xs:restriction>
679
+ </xs:simpleType>
680
+ <xs:complexType name="PersonIdentification5">
681
+ <xs:sequence>
682
+ <xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
683
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
684
+ </xs:sequence>
685
+ </xs:complexType>
686
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
687
+ <xs:sequence>
688
+ <xs:choice>
689
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
690
+ <xs:element name="Prtry" type="Max35Text"/>
691
+ </xs:choice>
692
+ </xs:sequence>
693
+ </xs:complexType>
694
+ <xs:simpleType name="PhoneNumber">
695
+ <xs:restriction base="xs:string">
696
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
697
+ </xs:restriction>
698
+ </xs:simpleType>
699
+ <xs:complexType name="PostalAddress6">
700
+ <xs:sequence>
701
+ <xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
702
+ <xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
703
+ <xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
704
+ <xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
705
+ <xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
706
+ <xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
707
+ <xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
708
+ <xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
709
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
710
+ <xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
711
+ </xs:sequence>
712
+ </xs:complexType>
713
+ <xs:simpleType name="Priority2Code">
714
+ <xs:restriction base="xs:string">
715
+ <xs:enumeration value="HIGH"/>
716
+ <xs:enumeration value="NORM"/>
717
+ </xs:restriction>
718
+ </xs:simpleType>
719
+ <xs:complexType name="Purpose2Choice">
720
+ <xs:sequence>
721
+ <xs:choice>
722
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
723
+ <xs:element name="Prtry" type="Max35Text"/>
724
+ </xs:choice>
725
+ </xs:sequence>
726
+ </xs:complexType>
727
+ <xs:complexType name="ReferredDocumentInformation3">
728
+ <xs:sequence>
729
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
730
+ <xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
731
+ <xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
732
+ </xs:sequence>
733
+ </xs:complexType>
734
+ <xs:complexType name="ReferredDocumentType1Choice">
735
+ <xs:sequence>
736
+ <xs:choice>
737
+ <xs:element name="Cd" type="DocumentType5Code"/>
738
+ <xs:element name="Prtry" type="Max35Text"/>
739
+ </xs:choice>
740
+ </xs:sequence>
741
+ </xs:complexType>
742
+ <xs:complexType name="ReferredDocumentType2">
743
+ <xs:sequence>
744
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
745
+ <xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
746
+ </xs:sequence>
747
+ </xs:complexType>
748
+ <xs:complexType name="RegulatoryAuthority2">
749
+ <xs:sequence>
750
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
751
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
752
+ </xs:sequence>
753
+ </xs:complexType>
754
+ <xs:complexType name="RegulatoryReporting3">
755
+ <xs:sequence>
756
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
757
+ <xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
758
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
759
+ </xs:sequence>
760
+ </xs:complexType>
761
+ <xs:simpleType name="RegulatoryReportingType1Code">
762
+ <xs:restriction base="xs:string">
763
+ <xs:enumeration value="CRED"/>
764
+ <xs:enumeration value="DEBT"/>
765
+ <xs:enumeration value="BOTH"/>
766
+ </xs:restriction>
767
+ </xs:simpleType>
768
+ <xs:complexType name="RemittanceAmount1">
769
+ <xs:sequence>
770
+ <xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
771
+ <xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
772
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
773
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
774
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
775
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
776
+ </xs:sequence>
777
+ </xs:complexType>
778
+ <xs:complexType name="RemittanceInformation5">
779
+ <xs:sequence>
780
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
781
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/>
782
+ </xs:sequence>
783
+ </xs:complexType>
784
+ <xs:complexType name="RemittanceLocation2">
785
+ <xs:sequence>
786
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
787
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
788
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
789
+ <xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
790
+ </xs:sequence>
791
+ </xs:complexType>
792
+ <xs:simpleType name="RemittanceLocationMethod2Code">
793
+ <xs:restriction base="xs:string">
794
+ <xs:enumeration value="FAXI"/>
795
+ <xs:enumeration value="EDIC"/>
796
+ <xs:enumeration value="URID"/>
797
+ <xs:enumeration value="EMAL"/>
798
+ <xs:enumeration value="POST"/>
799
+ <xs:enumeration value="SMSM"/>
800
+ </xs:restriction>
801
+ </xs:simpleType>
802
+ <xs:complexType name="ServiceLevel8Choice">
803
+ <xs:sequence>
804
+ <xs:choice>
805
+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
806
+ <xs:element name="Prtry" type="Max35Text"/>
807
+ </xs:choice>
808
+ </xs:sequence>
809
+ </xs:complexType>
810
+ <xs:complexType name="StructuredRegulatoryReporting3">
811
+ <xs:sequence>
812
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
813
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
814
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
815
+ <xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
816
+ <xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
817
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
818
+ </xs:sequence>
819
+ </xs:complexType>
820
+ <xs:complexType name="StructuredRemittanceInformation7">
821
+ <xs:sequence>
822
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
823
+ <xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/>
824
+ <xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
825
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/>
826
+ <xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/>
827
+ <xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
828
+ </xs:sequence>
829
+ </xs:complexType>
830
+ <xs:complexType name="TaxAmount1">
831
+ <xs:sequence>
832
+ <xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
833
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
834
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
835
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
836
+ </xs:sequence>
837
+ </xs:complexType>
838
+ <xs:complexType name="TaxAuthorisation1">
839
+ <xs:sequence>
840
+ <xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
841
+ <xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
842
+ </xs:sequence>
843
+ </xs:complexType>
844
+ <xs:complexType name="TaxInformation3">
845
+ <xs:sequence>
846
+ <xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
847
+ <xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
848
+ <xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
849
+ <xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
850
+ <xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
851
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
852
+ <xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
853
+ <xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
854
+ <xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
855
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
856
+ </xs:sequence>
857
+ </xs:complexType>
858
+ <xs:complexType name="TaxParty1">
859
+ <xs:sequence>
860
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
861
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
862
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
863
+ </xs:sequence>
864
+ </xs:complexType>
865
+ <xs:complexType name="TaxParty2">
866
+ <xs:sequence>
867
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
868
+ <xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
869
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
870
+ <xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
871
+ </xs:sequence>
872
+ </xs:complexType>
873
+ <xs:complexType name="TaxPeriod1">
874
+ <xs:sequence>
875
+ <xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
876
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
877
+ <xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
878
+ </xs:sequence>
879
+ </xs:complexType>
880
+ <xs:complexType name="TaxRecord1">
881
+ <xs:sequence>
882
+ <xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
883
+ <xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
884
+ <xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
885
+ <xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
886
+ <xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
887
+ <xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
888
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
889
+ <xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
890
+ <xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
891
+ </xs:sequence>
892
+ </xs:complexType>
893
+ <xs:complexType name="TaxRecordDetails1">
894
+ <xs:sequence>
895
+ <xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
896
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
897
+ </xs:sequence>
898
+ </xs:complexType>
899
+ <xs:simpleType name="TaxRecordPeriod1Code">
900
+ <xs:restriction base="xs:string">
901
+ <xs:enumeration value="MM01"/>
902
+ <xs:enumeration value="MM02"/>
903
+ <xs:enumeration value="MM03"/>
904
+ <xs:enumeration value="MM04"/>
905
+ <xs:enumeration value="MM05"/>
906
+ <xs:enumeration value="MM06"/>
907
+ <xs:enumeration value="MM07"/>
908
+ <xs:enumeration value="MM08"/>
909
+ <xs:enumeration value="MM09"/>
910
+ <xs:enumeration value="MM10"/>
911
+ <xs:enumeration value="MM11"/>
912
+ <xs:enumeration value="MM12"/>
913
+ <xs:enumeration value="QTR1"/>
914
+ <xs:enumeration value="QTR2"/>
915
+ <xs:enumeration value="QTR3"/>
916
+ <xs:enumeration value="QTR4"/>
917
+ <xs:enumeration value="HLF1"/>
918
+ <xs:enumeration value="HLF2"/>
919
+ </xs:restriction>
920
+ </xs:simpleType>
921
+ </xs:schema>