sepa_king_codeur 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +37 -0
  5. data/CONTRIBUTING.md +38 -0
  6. data/Gemfile +2 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +297 -0
  9. data/Rakefile +6 -0
  10. data/gemfiles/Gemfile-activemodel-3.1.x +5 -0
  11. data/gemfiles/Gemfile-activemodel-3.2.x +5 -0
  12. data/gemfiles/Gemfile-activemodel-4.0.x +5 -0
  13. data/gemfiles/Gemfile-activemodel-4.1.x +5 -0
  14. data/gemfiles/Gemfile-activemodel-4.2.x +5 -0
  15. data/gemfiles/Gemfile-activemodel-5.0.x +5 -0
  16. data/gemfiles/Gemfile-activemodel-5.1.x +5 -0
  17. data/gemfiles/Gemfile-activemodel-5.2.x +5 -0
  18. data/gemfiles/Gemfile-activemodel-6.0.x +5 -0
  19. data/lib/schema/pain.001.001.03.ch.02.xsd +1212 -0
  20. data/lib/schema/pain.001.001.03.xsd +921 -0
  21. data/lib/schema/pain.001.002.03.xsd +450 -0
  22. data/lib/schema/pain.001.003.03.xsd +474 -0
  23. data/lib/schema/pain.008.001.02.xsd +879 -0
  24. data/lib/schema/pain.008.002.02.xsd +597 -0
  25. data/lib/schema/pain.008.003.02.xsd +614 -0
  26. data/lib/sepa_king.rb +19 -0
  27. data/lib/sepa_king/account.rb +19 -0
  28. data/lib/sepa_king/account/creditor_account.rb +8 -0
  29. data/lib/sepa_king/account/creditor_address.rb +37 -0
  30. data/lib/sepa_king/account/debtor_account.rb +5 -0
  31. data/lib/sepa_king/account/debtor_address.rb +37 -0
  32. data/lib/sepa_king/converter.rb +51 -0
  33. data/lib/sepa_king/error.rb +4 -0
  34. data/lib/sepa_king/message.rb +169 -0
  35. data/lib/sepa_king/message/credit_transfer.rb +137 -0
  36. data/lib/sepa_king/message/direct_debit.rb +207 -0
  37. data/lib/sepa_king/transaction.rb +56 -0
  38. data/lib/sepa_king/transaction/credit_transfer_transaction.rb +31 -0
  39. data/lib/sepa_king/transaction/direct_debit_transaction.rb +56 -0
  40. data/lib/sepa_king/validator.rb +57 -0
  41. data/lib/sepa_king/version.rb +3 -0
  42. data/sepa_king.gemspec +33 -0
  43. data/spec/account_spec.rb +42 -0
  44. data/spec/converter_spec.rb +74 -0
  45. data/spec/credit_transfer_spec.rb +520 -0
  46. data/spec/credit_transfer_transaction_spec.rb +74 -0
  47. data/spec/creditor_account_spec.rb +23 -0
  48. data/spec/debtor_account_spec.rb +12 -0
  49. data/spec/debtor_address_spec.rb +12 -0
  50. data/spec/direct_debit_spec.rb +657 -0
  51. data/spec/direct_debit_transaction_spec.rb +69 -0
  52. data/spec/examples/pain.001.001.03.ch.02.xml +172 -0
  53. data/spec/examples/pain.001.001.03.xml +89 -0
  54. data/spec/examples/pain.001.002.03.xml +89 -0
  55. data/spec/examples/pain.001.003.03.xml +89 -0
  56. data/spec/examples/pain.008.002.02.xml +134 -0
  57. data/spec/examples/pain.008.003.02.xml +134 -0
  58. data/spec/message_spec.rb +128 -0
  59. data/spec/spec_helper.rb +33 -0
  60. data/spec/support/active_model.rb +30 -0
  61. data/spec/support/custom_matcher.rb +60 -0
  62. data/spec/support/factories.rb +24 -0
  63. data/spec/support/validations.rb +27 -0
  64. data/spec/transaction_spec.rb +134 -0
  65. data/spec/validation_spec.rb +25 -0
  66. data/spec/validator_spec.rb +99 -0
  67. metadata +250 -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>