sepa_king_codeur 0.12.1

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 (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,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~>4.0.13'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~>4.1.15'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~>4.2.6'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~> 5.0.0'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~> 5.1.0'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~> 5.2.0'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activemodel', '~> 6.0.0'
@@ -0,0 +1,1212 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!--
3
+ (C) Copyright 2010, SKSF, www.sksf.ch
4
+ CH Version fuer pain.001 Credit Transfer: xmlns="http://www.iso-payments.ch"
5
+ .ch.: Identification for this CH version
6
+ Last part (.02): Version of this scheme
7
+
8
+ Based on ISO pain.001.001.03 (urn:iso:std:iso:20022:tech:xsd:pain.001.001.03)
9
+
10
+ Anregungen und Fragen zu diesem Dokument können an das jeweilige Finanzinstitut gerichtet werden.
11
+ Allgemeine Anregungen können auch bei der SIX Interbank Clearing AG unter folgender Adresse angebracht werden:
12
+ pm@six-group.com
13
+
14
+ History
15
+ 15.02.2010 V01 initial version, targetNamespace="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.01.xsd" File:pain.001.001.03.ch.01.xsd
16
+ 30.04.2010 V02 added: element Initiating Party/Contact Details contains Software name and Version of producing application
17
+ changed: name in "PartyIdentification32-CH_Name" mandatory
18
+ -->
19
+ <!-- V01: changed:
20
+ -->
21
+ <xs:schema xmlns="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd" elementFormDefault="qualified">
22
+ <xs:element name="Document" type="Document"/>
23
+ <!-- V01: changed: CH version changes applied -->
24
+ <xs:complexType name="AccountIdentification4Choice-CH">
25
+ <xs:sequence>
26
+ <xs:choice>
27
+ <xs:element name="IBAN" type="IBAN2007Identifier"/>
28
+ <xs:element name="Othr" type="GenericAccountIdentification1-CH"/>
29
+ </xs:choice>
30
+ </xs:sequence>
31
+ </xs:complexType>
32
+ <!-- V01: unused
33
+ <xs:complexType name="AccountSchemeName1Choice">
34
+ <xs:sequence>
35
+ <xs:choice>
36
+ <xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
37
+ <xs:element name="Prtry" type="Max35Text"/>
38
+ </xs:choice>
39
+ </xs:sequence>
40
+ </xs:complexType>
41
+ -->
42
+ <xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
43
+ <xs:restriction base="xs:decimal">
44
+ <xs:minInclusive value="0"/>
45
+ <xs:fractionDigits value="5"/>
46
+ <xs:totalDigits value="18"/>
47
+ </xs:restriction>
48
+ </xs:simpleType>
49
+ <xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
50
+ <xs:simpleContent>
51
+ <xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
52
+ <xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
53
+ </xs:extension>
54
+ </xs:simpleContent>
55
+ </xs:complexType>
56
+ <xs:simpleType name="ActiveOrHistoricCurrencyCode">
57
+ <xs:restriction base="xs:string">
58
+ <xs:pattern value="[A-Z]{3,3}"/>
59
+ </xs:restriction>
60
+ </xs:simpleType>
61
+ <xs:simpleType name="AddressType2Code">
62
+ <xs:restriction base="xs:string">
63
+ <xs:enumeration value="ADDR"/>
64
+ <xs:enumeration value="PBOX"/>
65
+ <xs:enumeration value="HOME"/>
66
+ <xs:enumeration value="BIZZ"/>
67
+ <xs:enumeration value="MLTO"/>
68
+ <xs:enumeration value="DLVY"/>
69
+ </xs:restriction>
70
+ </xs:simpleType>
71
+ <xs:complexType name="AmountType3Choice">
72
+ <xs:sequence>
73
+ <xs:choice>
74
+ <xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
75
+ <xs:element name="EqvtAmt" type="EquivalentAmount2"/>
76
+ </xs:choice>
77
+ </xs:sequence>
78
+ </xs:complexType>
79
+ <xs:simpleType name="AnyBICIdentifier">
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
+ <!-- V01: unused: type Authorisation1Choice is not allowed or used in CH Version
85
+ <xs:complexType name="Authorisation1Choice">
86
+ <xs:sequence>
87
+ <xs:choice>
88
+ <xs:element name="Cd" type="Authorisation1Code"/>
89
+ <xs:element name="Prtry" type="Max128Text"/>
90
+ </xs:choice>
91
+ </xs:sequence>
92
+ </xs:complexType>
93
+ <xs:simpleType name="Authorisation1Code">
94
+ <xs:restriction base="xs:string">
95
+ <xs:enumeration value="AUTH"/>
96
+ <xs:enumeration value="FDET"/>
97
+ <xs:enumeration value="FSUM"/>
98
+ <xs:enumeration value="ILEV"/>
99
+ </xs:restriction>
100
+ </xs:simpleType>
101
+ -->
102
+ <!-- V01: added: CH version supports only this character set. All text fields use this type -->
103
+ <xs:simpleType name="BasicText-CH">
104
+ <xs:restriction base="xs:string">
105
+ <xs:pattern value="([a-zA-Z0-9\.,;:'\+\-/\(\)?\*\[\]\{\}\\`´~ ]|[!&quot;#%&amp;&lt;&gt;÷=@_$£]|[àáâäçèéêëìíîïñòóôöùúûüýßÀÁÂÄÇÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜÑ])*"/>
106
+ </xs:restriction>
107
+ </xs:simpleType>
108
+ <!-- V01: added: This is the SWIFT character set -->
109
+ <xs:simpleType name="BasicText-Swift">
110
+ <xs:restriction base="xs:string">
111
+ <xs:pattern value="([A-Za-z0-9]|[+|\?|/|\-|:|\(|\)|\.|,|'|\p{Zs}])*"/>
112
+ </xs:restriction>
113
+ </xs:simpleType>
114
+ <xs:simpleType name="BICIdentifier">
115
+ <xs:restriction base="xs:string">
116
+ <xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
117
+ </xs:restriction>
118
+ </xs:simpleType>
119
+ <xs:simpleType name="BaseOneRate">
120
+ <xs:restriction base="xs:decimal">
121
+ <xs:fractionDigits value="10"/>
122
+ <xs:totalDigits value="11"/>
123
+ </xs:restriction>
124
+ </xs:simpleType>
125
+ <xs:simpleType name="BatchBookingIndicator">
126
+ <xs:restriction base="xs:boolean"/>
127
+ </xs:simpleType>
128
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4">
129
+ <xs:sequence>
130
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
131
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
132
+ </xs:sequence>
133
+ </xs:complexType>
134
+ <!-- VO1: added: definition of FI where only BIC or Clearing Id is allowed, but no branch data -->
135
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4-CH_BicOrClrId">
136
+ <xs:sequence>
137
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7-CH_BicOrClrId"/>
138
+ <!-- V01: unused
139
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
140
+ -->
141
+ </xs:sequence>
142
+ </xs:complexType>
143
+ <!-- VO1: added: definition of FI where all elements are allowed, but no branch data -->
144
+ <xs:complexType name="BranchAndFinancialInstitutionIdentification4-CH">
145
+ <xs:sequence>
146
+ <xs:element name="FinInstnId" type="FinancialInstitutionIdentification7-CH"/>
147
+ <!-- V01: unused
148
+ <xs:element name="BrnchId" type="BranchData2" minOccurs="0"/>
149
+ -->
150
+ </xs:sequence>
151
+ </xs:complexType>
152
+ <xs:complexType name="BranchData2">
153
+ <xs:sequence>
154
+ <xs:element name="Id" type="Max35Text" minOccurs="0"/>
155
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
156
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
157
+ </xs:sequence>
158
+ </xs:complexType>
159
+ <!-- V01: changed: CH version changes applied -->
160
+ <xs:complexType name="CashAccount16-CH_IdAndCurrency">
161
+ <xs:sequence>
162
+ <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
163
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
164
+ <!-- V01: unused
165
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
166
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
167
+ -->
168
+ </xs:sequence>
169
+ </xs:complexType>
170
+ <!-- V01: added -->
171
+ <xs:complexType name="CashAccount16-CH_IdTpCcy">
172
+ <xs:sequence>
173
+ <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
174
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
175
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
176
+ <!-- V01: unused
177
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
178
+ -->
179
+ </xs:sequence>
180
+ </xs:complexType>
181
+ <!-- V01: added -->
182
+ <xs:complexType name="CashAccount16-CH_Id">
183
+ <xs:sequence>
184
+ <xs:element name="Id" type="AccountIdentification4Choice-CH"/>
185
+ <!-- V01: unused
186
+ <xs:element name="Tp" type="CashAccountType2" minOccurs="0"/>
187
+ <xs:element name="Ccy" type="ActiveOrHistoricCurrencyCode" minOccurs="0"/>
188
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
189
+ -->
190
+ </xs:sequence>
191
+ </xs:complexType>
192
+ <xs:complexType name="CashAccountType2">
193
+ <xs:sequence>
194
+ <xs:choice>
195
+ <xs:element name="Cd" type="CashAccountType4Code"/>
196
+ <xs:element name="Prtry" type="Max35Text"/>
197
+ </xs:choice>
198
+ </xs:sequence>
199
+ </xs:complexType>
200
+ <xs:simpleType name="CashAccountType4Code">
201
+ <xs:restriction base="xs:string">
202
+ <xs:enumeration value="CASH"/>
203
+ <xs:enumeration value="CHAR"/>
204
+ <xs:enumeration value="COMM"/>
205
+ <xs:enumeration value="TAXE"/>
206
+ <xs:enumeration value="CISH"/>
207
+ <xs:enumeration value="TRAS"/>
208
+ <xs:enumeration value="SACC"/>
209
+ <xs:enumeration value="CACC"/>
210
+ <xs:enumeration value="SVGS"/>
211
+ <xs:enumeration value="ONDP"/>
212
+ <xs:enumeration value="MGLD"/>
213
+ <xs:enumeration value="NREX"/>
214
+ <xs:enumeration value="MOMA"/>
215
+ <xs:enumeration value="LOAN"/>
216
+ <xs:enumeration value="SLRY"/>
217
+ <xs:enumeration value="ODFT"/>
218
+ </xs:restriction>
219
+ </xs:simpleType>
220
+ <!-- V01: changed: Only element Code allowed in Ch version -->
221
+ <xs:complexType name="CategoryPurpose1-CH_Code">
222
+ <xs:sequence>
223
+ <xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
224
+ <!-- V01: unused
225
+ <xs:element name="Prtry" type="Max35Text"/>
226
+ -->
227
+ </xs:sequence>
228
+ </xs:complexType>
229
+ <!-- -->
230
+ <xs:simpleType name="ChargeBearerType1Code">
231
+ <xs:restriction base="xs:string">
232
+ <xs:enumeration value="DEBT"/>
233
+ <xs:enumeration value="CRED"/>
234
+ <xs:enumeration value="SHAR"/>
235
+ <xs:enumeration value="SLEV"/>
236
+ </xs:restriction>
237
+ </xs:simpleType>
238
+ <!-- V01: unused
239
+ <xs:complexType name="Cheque6">
240
+ <xs:sequence>
241
+ <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
242
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
243
+ <xs:element name="ChqFr" type="NameAndAddress10" minOccurs="0"/>
244
+ <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
245
+ <xs:element name="DlvrTo" type="NameAndAddress10" minOccurs="0"/>
246
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
247
+ <xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0"/>
248
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
249
+ <xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="2"/>
250
+ <xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0"/>
251
+ <xs:element name="PrtLctn" type="Max35Text" minOccurs="0"/>
252
+ </xs:sequence>
253
+ </xs:complexType>
254
+ -->
255
+ <!-- V01: added -->
256
+ <xs:complexType name="Cheque6-CH">
257
+ <xs:sequence>
258
+ <xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0"/>
259
+ <xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0"/>
260
+ <!-- V01: unused
261
+ <xs:element name="ChqNb" type="Max35Text" minOccurs="0"/>
262
+ <xs:element name="ChqFr" type="NameAndAddress10" minOccurs="0"/>
263
+ <xs:element name="DlvrTo" type="NameAndAddress10" minOccurs="0"/>
264
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
265
+ <xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0"/>
266
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
267
+ <xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="2"/>
268
+ <xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0"/>
269
+ <xs:element name="PrtLctn" type="Max35Text" minOccurs="0"/>
270
+ -->
271
+ </xs:sequence>
272
+ </xs:complexType>
273
+ <xs:simpleType name="ChequeDelivery1Code">
274
+ <xs:restriction base="xs:string">
275
+ <xs:enumeration value="MLDB"/>
276
+ <xs:enumeration value="MLCD"/>
277
+ <xs:enumeration value="MLFA"/>
278
+ <xs:enumeration value="CRDB"/>
279
+ <xs:enumeration value="CRCD"/>
280
+ <xs:enumeration value="CRFA"/>
281
+ <xs:enumeration value="PUDB"/>
282
+ <xs:enumeration value="PUCD"/>
283
+ <xs:enumeration value="PUFA"/>
284
+ <xs:enumeration value="RGDB"/>
285
+ <xs:enumeration value="RGCD"/>
286
+ <xs:enumeration value="RGFA"/>
287
+ </xs:restriction>
288
+ </xs:simpleType>
289
+ <xs:complexType name="ChequeDeliveryMethod1Choice">
290
+ <xs:sequence>
291
+ <xs:choice>
292
+ <xs:element name="Cd" type="ChequeDelivery1Code"/>
293
+ <xs:element name="Prtry" type="Max35Text"/>
294
+ </xs:choice>
295
+ </xs:sequence>
296
+ </xs:complexType>
297
+ <xs:simpleType name="ChequeType2Code">
298
+ <xs:restriction base="xs:string">
299
+ <xs:enumeration value="CCHQ"/>
300
+ <xs:enumeration value="CCCH"/>
301
+ <xs:enumeration value="BCHQ"/>
302
+ <xs:enumeration value="DRFT"/>
303
+ <xs:enumeration value="ELDR"/>
304
+ </xs:restriction>
305
+ </xs:simpleType>
306
+ <xs:complexType name="ClearingSystemIdentification2Choice">
307
+ <xs:sequence>
308
+ <xs:choice>
309
+ <xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
310
+ <xs:element name="Prtry" type="Max35Text"/>
311
+ </xs:choice>
312
+ </xs:sequence>
313
+ </xs:complexType>
314
+ <xs:complexType name="ClearingSystemMemberIdentification2">
315
+ <xs:sequence>
316
+ <xs:element name="ClrSysId" type="ClearingSystemIdentification2Choice" minOccurs="0"/>
317
+ <xs:element name="MmbId" type="Max35Text"/>
318
+ </xs:sequence>
319
+ </xs:complexType>
320
+ <xs:complexType name="ContactDetails2">
321
+ <xs:sequence>
322
+ <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
323
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
324
+ <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
325
+ <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
326
+ <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
327
+ <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
328
+ <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
329
+ </xs:sequence>
330
+ </xs:complexType>
331
+ <!-- V02: changed: include Contact Details for Software name and version -->
332
+ <xs:complexType name="ContactDetails2-CH">
333
+ <xs:sequence>
334
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
335
+ <xs:element name="Othr" type="Max35Text" minOccurs="0"/>
336
+ <!-- V02: unused
337
+ <xs:element name="NmPrfx" type="NamePrefix1Code" minOccurs="0"/>
338
+ <xs:element name="PhneNb" type="PhoneNumber" minOccurs="0"/>
339
+ <xs:element name="MobNb" type="PhoneNumber" minOccurs="0"/>
340
+ <xs:element name="FaxNb" type="PhoneNumber" minOccurs="0"/>
341
+ <xs:element name="EmailAdr" type="Max2048Text" minOccurs="0"/>
342
+ -->
343
+ </xs:sequence>
344
+ </xs:complexType>
345
+ <xs:simpleType name="CountryCode">
346
+ <xs:restriction base="xs:string">
347
+ <xs:pattern value="[A-Z]{2,2}"/>
348
+ </xs:restriction>
349
+ </xs:simpleType>
350
+ <xs:simpleType name="CreditDebitCode">
351
+ <xs:restriction base="xs:string">
352
+ <xs:enumeration value="CRDT"/>
353
+ <xs:enumeration value="DBIT"/>
354
+ </xs:restriction>
355
+ </xs:simpleType>
356
+ <xs:complexType name="CreditTransferTransactionInformation10-CH">
357
+ <xs:sequence>
358
+ <xs:element name="PmtId" type="PaymentIdentification1"/>
359
+ <xs:element name="PmtTpInf" type="PaymentTypeInformation19-CH" minOccurs="0"/>
360
+ <xs:element name="Amt" type="AmountType3Choice"/>
361
+ <xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0"/>
362
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
363
+ <xs:element name="ChqInstr" type="Cheque6-CH" minOccurs="0"/>
364
+ <xs:element name="UltmtDbtr" type="PartyIdentification32-CH" minOccurs="0"/>
365
+ <xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4-CH" minOccurs="0"/>
366
+ <xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4-CH" minOccurs="0"/>
367
+ <!-- V02: changed: element Name mandatory -->
368
+ <xs:element name="Cdtr" type="PartyIdentification32-CH_Name" minOccurs="0"/>
369
+ <xs:element name="CdtrAcct" type="CashAccount16-CH_Id" minOccurs="0"/>
370
+ <!-- V02: changed: element Name mandatory -->
371
+ <xs:element name="UltmtCdtr" type="PartyIdentification32-CH_Name" minOccurs="0"/>
372
+ <xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
373
+ <xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0"/>
374
+ <xs:element name="Purp" type="Purpose2-CH_Code" minOccurs="0"/>
375
+ <xs:element name="RgltryRptg" type="RegulatoryReporting3" minOccurs="0" maxOccurs="10"/>
376
+ <xs:element name="RmtInf" type="RemittanceInformation5-CH" minOccurs="0"/>
377
+ <!-- V01: usused
378
+ <xs:element name="IntrmyAgt1Acct" type="CashAccount16" minOccurs="0"/>
379
+ <xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
380
+ <xs:element name="IntrmyAgt2Acct" type="CashAccount16" minOccurs="0"/>
381
+ <xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
382
+ <xs:element name="IntrmyAgt3Acct" type="CashAccount16" minOccurs="0"/>
383
+ <xs:element name="CdtrAgtAcct" type="CashAccount16-CH_Id" minOccurs="0"/>
384
+ <xs:element name="Tax" type="TaxInformation3" minOccurs="0"/>
385
+ <xs:element name="RltdRmtInf" type="RemittanceLocation2" minOccurs="0" maxOccurs="10"/>
386
+ -->
387
+ </xs:sequence>
388
+ </xs:complexType>
389
+ <xs:complexType name="CreditorReferenceInformation2">
390
+ <xs:sequence>
391
+ <xs:element name="Tp" type="CreditorReferenceType2" minOccurs="0"/>
392
+ <xs:element name="Ref" type="Max35Text" minOccurs="0"/>
393
+ </xs:sequence>
394
+ </xs:complexType>
395
+ <xs:complexType name="CreditorReferenceType1Choice">
396
+ <xs:sequence>
397
+ <xs:choice>
398
+ <xs:element name="Cd" type="DocumentType3Code"/>
399
+ <xs:element name="Prtry" type="Max35Text"/>
400
+ </xs:choice>
401
+ </xs:sequence>
402
+ </xs:complexType>
403
+ <xs:complexType name="CreditorReferenceType2">
404
+ <xs:sequence>
405
+ <xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
406
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
407
+ </xs:sequence>
408
+ </xs:complexType>
409
+ <xs:complexType name="CustomerCreditTransferInitiationV03-CH">
410
+ <xs:sequence>
411
+ <xs:element name="GrpHdr" type="GroupHeader32-CH"/>
412
+ <xs:element name="PmtInf" type="PaymentInstructionInformation3-CH" maxOccurs="unbounded"/>
413
+ </xs:sequence>
414
+ </xs:complexType>
415
+ <xs:complexType name="DateAndPlaceOfBirth">
416
+ <xs:sequence>
417
+ <xs:element name="BirthDt" type="ISODate"/>
418
+ <xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0"/>
419
+ <xs:element name="CityOfBirth" type="Max35Text"/>
420
+ <xs:element name="CtryOfBirth" type="CountryCode"/>
421
+ </xs:sequence>
422
+ </xs:complexType>
423
+ <!-- V01: unused
424
+ <xs:complexType name="DatePeriodDetails">
425
+ <xs:sequence>
426
+ <xs:element name="FrDt" type="ISODate"/>
427
+ <xs:element name="ToDt" type="ISODate"/>
428
+ </xs:sequence>
429
+ </xs:complexType>
430
+ -->
431
+ <xs:simpleType name="DecimalNumber">
432
+ <xs:restriction base="xs:decimal">
433
+ <xs:fractionDigits value="17"/>
434
+ <xs:totalDigits value="18"/>
435
+ </xs:restriction>
436
+ </xs:simpleType>
437
+ <xs:complexType name="Document">
438
+ <xs:sequence>
439
+ <xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03-CH"/>
440
+ </xs:sequence>
441
+ </xs:complexType>
442
+ <xs:complexType name="DocumentAdjustment1">
443
+ <xs:sequence>
444
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
445
+ <xs:element name="CdtDbtInd" type="CreditDebitCode" minOccurs="0"/>
446
+ <xs:element name="Rsn" type="Max4Text" minOccurs="0"/>
447
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
448
+ </xs:sequence>
449
+ </xs:complexType>
450
+ <xs:simpleType name="DocumentType3Code">
451
+ <xs:restriction base="xs:string">
452
+ <xs:enumeration value="RADM"/>
453
+ <xs:enumeration value="RPIN"/>
454
+ <xs:enumeration value="FXDR"/>
455
+ <xs:enumeration value="DISP"/>
456
+ <xs:enumeration value="PUOR"/>
457
+ <xs:enumeration value="SCOR"/>
458
+ </xs:restriction>
459
+ </xs:simpleType>
460
+ <xs:simpleType name="DocumentType5Code">
461
+ <xs:restriction base="xs:string">
462
+ <xs:enumeration value="MSIN"/>
463
+ <xs:enumeration value="CNFA"/>
464
+ <xs:enumeration value="DNFA"/>
465
+ <xs:enumeration value="CINV"/>
466
+ <xs:enumeration value="CREN"/>
467
+ <xs:enumeration value="DEBN"/>
468
+ <xs:enumeration value="HIRI"/>
469
+ <xs:enumeration value="SBIN"/>
470
+ <xs:enumeration value="CMCN"/>
471
+ <xs:enumeration value="SOAC"/>
472
+ <xs:enumeration value="DISP"/>
473
+ <xs:enumeration value="BOLD"/>
474
+ <xs:enumeration value="VCHR"/>
475
+ <xs:enumeration value="AROI"/>
476
+ <xs:enumeration value="TSUT"/>
477
+ </xs:restriction>
478
+ </xs:simpleType>
479
+ <xs:complexType name="EquivalentAmount2">
480
+ <xs:sequence>
481
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
482
+ <xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
483
+ </xs:sequence>
484
+ </xs:complexType>
485
+ <xs:complexType name="ExchangeRateInformation1">
486
+ <xs:sequence>
487
+ <xs:element name="XchgRate" type="BaseOneRate" minOccurs="0"/>
488
+ <xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0"/>
489
+ <xs:element name="CtrctId" type="Max35Text" minOccurs="0"/>
490
+ </xs:sequence>
491
+ </xs:complexType>
492
+ <xs:simpleType name="ExchangeRateType1Code">
493
+ <xs:restriction base="xs:string">
494
+ <xs:enumeration value="SPOT"/>
495
+ <xs:enumeration value="SALE"/>
496
+ <xs:enumeration value="AGRD"/>
497
+ </xs:restriction>
498
+ </xs:simpleType>
499
+ <!-- V01: unused:
500
+ <xs:simpleType name="ExternalAccountIdentification1Code">
501
+ <xs:restriction base="xs:string">
502
+ <xs:minLength value="1"/>
503
+ <xs:maxLength value="4"/>
504
+ </xs:restriction>
505
+ </xs:simpleType>
506
+ -->
507
+ <xs:simpleType name="ExternalCategoryPurpose1Code">
508
+ <xs:restriction base="xs:string">
509
+ <xs:minLength value="1"/>
510
+ <xs:maxLength value="4"/>
511
+ </xs:restriction>
512
+ </xs:simpleType>
513
+ <xs:simpleType name="ExternalClearingSystemIdentification1Code">
514
+ <xs:restriction base="xs:string">
515
+ <xs:minLength value="1"/>
516
+ <xs:maxLength value="5"/>
517
+ </xs:restriction>
518
+ </xs:simpleType>
519
+ <xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
520
+ <xs:restriction base="xs:string">
521
+ <xs:minLength value="1"/>
522
+ <xs:maxLength value="4"/>
523
+ </xs:restriction>
524
+ </xs:simpleType>
525
+ <xs:simpleType name="ExternalLocalInstrument1Code">
526
+ <xs:restriction base="xs:string">
527
+ <xs:minLength value="1"/>
528
+ <xs:maxLength value="35"/>
529
+ </xs:restriction>
530
+ </xs:simpleType>
531
+ <xs:simpleType name="ExternalOrganisationIdentification1Code">
532
+ <xs:restriction base="xs:string">
533
+ <xs:minLength value="1"/>
534
+ <xs:maxLength value="4"/>
535
+ </xs:restriction>
536
+ </xs:simpleType>
537
+ <xs:simpleType name="ExternalPersonIdentification1Code">
538
+ <xs:restriction base="xs:string">
539
+ <xs:minLength value="1"/>
540
+ <xs:maxLength value="4"/>
541
+ </xs:restriction>
542
+ </xs:simpleType>
543
+ <xs:simpleType name="ExternalPurpose1Code">
544
+ <xs:restriction base="xs:string">
545
+ <xs:minLength value="1"/>
546
+ <xs:maxLength value="4"/>
547
+ </xs:restriction>
548
+ </xs:simpleType>
549
+ <xs:simpleType name="ExternalServiceLevel1Code">
550
+ <xs:restriction base="xs:string">
551
+ <xs:minLength value="1"/>
552
+ <xs:maxLength value="4"/>
553
+ </xs:restriction>
554
+ </xs:simpleType>
555
+ <xs:complexType name="FinancialIdentificationSchemeName1Choice">
556
+ <xs:sequence>
557
+ <xs:choice>
558
+ <xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
559
+ <xs:element name="Prtry" type="Max35Text"/>
560
+ </xs:choice>
561
+ </xs:sequence>
562
+ </xs:complexType>
563
+ <xs:complexType name="FinancialInstitutionIdentification7">
564
+ <xs:sequence>
565
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
566
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
567
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
568
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
569
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
570
+ </xs:sequence>
571
+ </xs:complexType>
572
+ <!-- V01: added: definition of FI where only BIC or Clearing Id is allowed -->
573
+ <xs:complexType name="FinancialInstitutionIdentification7-CH_BicOrClrId">
574
+ <xs:sequence>
575
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
576
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
577
+ <!-- V01: unused
578
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
579
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
580
+ <xs:element name="Othr" type="GenericFinancialIdentification1" minOccurs="0"/>
581
+ -->
582
+ </xs:sequence>
583
+ </xs:complexType>
584
+ <!-- V01: added: definition of FI where all elements are allowed (in a CH version) -->
585
+ <xs:complexType name="FinancialInstitutionIdentification7-CH">
586
+ <xs:sequence>
587
+ <xs:element name="BIC" type="BICIdentifier" minOccurs="0"/>
588
+ <xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification2" minOccurs="0"/>
589
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
590
+ <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
591
+ <xs:element name="Othr" type="GenericFinancialIdentification1-CH" minOccurs="0"/>
592
+ <!-- V01: unused
593
+ -->
594
+ </xs:sequence>
595
+ </xs:complexType>
596
+ <!-- V01: changed: only element ID allowed in CH version -->
597
+ <xs:complexType name="GenericAccountIdentification1-CH">
598
+ <xs:sequence>
599
+ <xs:element name="Id" type="Max34Text"/>
600
+ <!-- V01: unused
601
+ <xs:element name="SchmeNm" type="AccountSchemeName1Choice" minOccurs="0"/>
602
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
603
+ -->
604
+ </xs:sequence>
605
+ </xs:complexType>
606
+ <xs:complexType name="GenericFinancialIdentification1">
607
+ <xs:sequence>
608
+ <xs:element name="Id" type="Max35Text"/>
609
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
610
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
611
+ </xs:sequence>
612
+ </xs:complexType>
613
+ <!-- V01: added: only element Id allowed in CH version -->
614
+ <xs:complexType name="GenericFinancialIdentification1-CH">
615
+ <xs:sequence>
616
+ <xs:element name="Id" type="Max35Text"/>
617
+ <!-- V01: unused
618
+ <xs:element name="SchmeNm" type="FinancialIdentificationSchemeName1Choice" minOccurs="0"/>
619
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
620
+ -->
621
+ </xs:sequence>
622
+ </xs:complexType>
623
+ <xs:complexType name="GenericOrganisationIdentification1">
624
+ <xs:sequence>
625
+ <xs:element name="Id" type="Max35Text"/>
626
+ <xs:element name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice" minOccurs="0"/>
627
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
628
+ </xs:sequence>
629
+ </xs:complexType>
630
+ <xs:complexType name="GenericPersonIdentification1">
631
+ <xs:sequence>
632
+ <xs:element name="Id" type="Max35Text"/>
633
+ <xs:element name="SchmeNm" type="PersonIdentificationSchemeName1Choice" minOccurs="0"/>
634
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
635
+ </xs:sequence>
636
+ </xs:complexType>
637
+ <xs:complexType name="GroupHeader32-CH">
638
+ <xs:sequence>
639
+ <xs:element name="MsgId" type="Max35Text-Swift"/>
640
+ <xs:element name="CreDtTm" type="ISODateTime"/>
641
+ <xs:element name="NbOfTxs" type="Max15NumericText"/>
642
+ <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
643
+ <!-- V02: changed: include Contact Details for Software name and version -->
644
+ <xs:element name="InitgPty" type="PartyIdentification32-CH_NameAndId"/>
645
+ <xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
646
+ <!-- V01: unused: type Authorisation1Choice is not allowed or used in CH Version
647
+ <xs:element name="Authstn" type="Authorisation1Choice" minOccurs="0" maxOccurs="2"/>
648
+ -->
649
+ <!-- V01: changed: Initiating party only to contain name and id in CH version
650
+ <xs:element name="InitgPty" type="PartyIdentification32"/>
651
+ -->
652
+ </xs:sequence>
653
+ </xs:complexType>
654
+ <xs:simpleType name="IBAN2007Identifier">
655
+ <xs:restriction base="xs:string">
656
+ <xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
657
+ </xs:restriction>
658
+ </xs:simpleType>
659
+ <xs:simpleType name="ISODate">
660
+ <xs:restriction base="xs:date"/>
661
+ </xs:simpleType>
662
+ <xs:simpleType name="ISODateTime">
663
+ <xs:restriction base="xs:dateTime"/>
664
+ </xs:simpleType>
665
+ <xs:simpleType name="Instruction3Code">
666
+ <xs:restriction base="xs:string">
667
+ <xs:enumeration value="CHQB"/>
668
+ <xs:enumeration value="HOLD"/>
669
+ <xs:enumeration value="PHOB"/>
670
+ <xs:enumeration value="TELB"/>
671
+ </xs:restriction>
672
+ </xs:simpleType>
673
+ <xs:complexType name="InstructionForCreditorAgent1">
674
+ <xs:sequence>
675
+ <xs:element name="Cd" type="Instruction3Code" minOccurs="0"/>
676
+ <xs:element name="InstrInf" type="Max140Text" minOccurs="0"/>
677
+ </xs:sequence>
678
+ </xs:complexType>
679
+ <xs:complexType name="LocalInstrument2Choice">
680
+ <xs:sequence>
681
+ <xs:choice>
682
+ <xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
683
+ <xs:element name="Prtry" type="Max35Text"/>
684
+ </xs:choice>
685
+ </xs:sequence>
686
+ </xs:complexType>
687
+ <xs:simpleType name="Max10Text">
688
+ <xs:restriction base="BasicText-CH">
689
+ <xs:minLength value="1"/>
690
+ <xs:maxLength value="10"/>
691
+ </xs:restriction>
692
+ </xs:simpleType>
693
+ <!-- V01: unused
694
+ <xs:simpleType name="Max128Text">
695
+ <xs:restriction base="BasicText-CH">
696
+ <xs:minLength value="1"/>
697
+ <xs:maxLength value="128"/>
698
+ </xs:restriction>
699
+ </xs:simpleType>
700
+ -->
701
+ <xs:simpleType name="Max140Text">
702
+ <xs:restriction base="BasicText-CH">
703
+ <xs:minLength value="1"/>
704
+ <xs:maxLength value="140"/>
705
+ </xs:restriction>
706
+ </xs:simpleType>
707
+ <xs:simpleType name="Max15NumericText">
708
+ <xs:restriction base="xs:string">
709
+ <xs:pattern value="[0-9]{1,15}"/>
710
+ </xs:restriction>
711
+ </xs:simpleType>
712
+ <xs:simpleType name="Max16Text">
713
+ <xs:restriction base="BasicText-CH">
714
+ <xs:minLength value="1"/>
715
+ <xs:maxLength value="16"/>
716
+ </xs:restriction>
717
+ </xs:simpleType>
718
+ <xs:simpleType name="Max2048Text">
719
+ <xs:restriction base="BasicText-CH">
720
+ <xs:minLength value="1"/>
721
+ <xs:maxLength value="2048"/>
722
+ </xs:restriction>
723
+ </xs:simpleType>
724
+ <xs:simpleType name="Max34Text">
725
+ <xs:restriction base="BasicText-CH">
726
+ <xs:minLength value="1"/>
727
+ <xs:maxLength value="34"/>
728
+ </xs:restriction>
729
+ </xs:simpleType>
730
+ <xs:simpleType name="Max35Text">
731
+ <xs:restriction base="BasicText-CH">
732
+ <xs:minLength value="1"/>
733
+ <xs:maxLength value="35"/>
734
+ </xs:restriction>
735
+ </xs:simpleType>
736
+ <!-- V01: added: replacement type for Max35Text where only the Swift character set is allowed -->
737
+ <xs:simpleType name="Max35Text-Swift">
738
+ <xs:restriction base="BasicText-Swift">
739
+ <xs:minLength value="1"/>
740
+ <xs:maxLength value="35"/>
741
+ </xs:restriction>
742
+ </xs:simpleType>
743
+ <xs:simpleType name="Max4Text">
744
+ <xs:restriction base="BasicText-CH">
745
+ <xs:minLength value="1"/>
746
+ <xs:maxLength value="4"/>
747
+ </xs:restriction>
748
+ </xs:simpleType>
749
+ <xs:simpleType name="Max70Text">
750
+ <xs:restriction base="BasicText-CH">
751
+ <xs:minLength value="1"/>
752
+ <xs:maxLength value="70"/>
753
+ </xs:restriction>
754
+ </xs:simpleType>
755
+ <!-- V01: unused
756
+ <xs:complexType name="NameAndAddress10">
757
+ <xs:sequence>
758
+ <xs:element name="Nm" type="Max140Text"/>
759
+ <xs:element name="Adr" type="PostalAddress6"/>
760
+ </xs:sequence>
761
+ </xs:complexType>
762
+ -->
763
+ <!-- V01: added: CH-Version: unused (prepared for later usage)
764
+ <xs:complexType name="NameAndAddress10-CH">
765
+ <xs:sequence>
766
+ <xs:element name="Nm" type="Max70Text"/>
767
+ <xs:element name="Adr" type="PostalAddress6-CH"/>
768
+ </xs:sequence>
769
+ </xs:complexType>
770
+ -->
771
+ <xs:simpleType name="NamePrefix1Code">
772
+ <xs:restriction base="xs:string">
773
+ <xs:enumeration value="DOCT"/>
774
+ <xs:enumeration value="MIST"/>
775
+ <xs:enumeration value="MISS"/>
776
+ <xs:enumeration value="MADM"/>
777
+ </xs:restriction>
778
+ </xs:simpleType>
779
+ <!-- V01: unused
780
+ <xs:simpleType name="Number">
781
+ <xs:restriction base="xs:decimal">
782
+ <xs:fractionDigits value="0"/>
783
+ <xs:totalDigits value="18"/>
784
+ </xs:restriction>
785
+ </xs:simpleType>
786
+ -->
787
+ <xs:complexType name="OrganisationIdentification4">
788
+ <xs:sequence>
789
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
790
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0" maxOccurs="unbounded"/>
791
+ </xs:sequence>
792
+ </xs:complexType>
793
+ <!-- V01: added: only one occurance of element other allowed in CH version -->
794
+ <xs:complexType name="OrganisationIdentification4-CH">
795
+ <xs:sequence>
796
+ <xs:element name="BICOrBEI" type="AnyBICIdentifier" minOccurs="0"/>
797
+ <xs:element name="Othr" type="GenericOrganisationIdentification1" minOccurs="0"/>
798
+ </xs:sequence>
799
+ </xs:complexType>
800
+ <xs:complexType name="OrganisationIdentificationSchemeName1Choice">
801
+ <xs:sequence>
802
+ <xs:choice>
803
+ <xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
804
+ <xs:element name="Prtry" type="Max35Text"/>
805
+ </xs:choice>
806
+ </xs:sequence>
807
+ </xs:complexType>
808
+ <xs:complexType name="Party6Choice">
809
+ <xs:sequence>
810
+ <xs:choice>
811
+ <xs:element name="OrgId" type="OrganisationIdentification4"/>
812
+ <xs:element name="PrvtId" type="PersonIdentification5"/>
813
+ </xs:choice>
814
+ </xs:sequence>
815
+ </xs:complexType>
816
+ <!-- V01: added: -->
817
+ <xs:complexType name="Party6Choice-CH">
818
+ <xs:sequence>
819
+ <xs:choice>
820
+ <xs:element name="OrgId" type="OrganisationIdentification4-CH"/>
821
+ <xs:element name="PrvtId" type="PersonIdentification5-CH"/>
822
+ </xs:choice>
823
+ </xs:sequence>
824
+ </xs:complexType>
825
+ <xs:complexType name="PartyIdentification32">
826
+ <xs:sequence>
827
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
828
+ <xs:element name="PstlAdr" type="PostalAddress6" minOccurs="0"/>
829
+ <xs:element name="Id" type="Party6Choice" minOccurs="0"/>
830
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
831
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
832
+ </xs:sequence>
833
+ </xs:complexType>
834
+ <!-- V01: added: replacement type for PartyIdentification8 where only elements Name and Id may be used -->
835
+ <xs:complexType name="PartyIdentification32-CH_NameAndId">
836
+ <xs:sequence>
837
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
838
+ <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
839
+ <!-- V02: added: Contact Details for Software name and version -->
840
+ <xs:element name="CtctDtls" type="ContactDetails2-CH" minOccurs="0"/>
841
+ </xs:sequence>
842
+ </xs:complexType>
843
+ <!-- V01: added -->
844
+ <xs:complexType name="PartyIdentification32-CH">
845
+ <xs:sequence>
846
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
847
+ <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
848
+ <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
849
+ <!-- changed -->
850
+ <!-- unused
851
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
852
+ -->
853
+ </xs:sequence>
854
+ </xs:complexType>
855
+ <!-- V02: changed: element Name mandatory -->
856
+ <xs:complexType name="PartyIdentification32-CH_Name">
857
+ <xs:sequence>
858
+ <xs:element name="Nm" type="Max70Text"/>
859
+ <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
860
+ <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
861
+ <!-- changed -->
862
+ <!-- unused
863
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
864
+ -->
865
+ </xs:sequence>
866
+ </xs:complexType>
867
+ <!--
868
+ <xs:complexType name="PartyIdentification32-CH_Debtor">
869
+ <xs:sequence>
870
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
871
+ <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
872
+ <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
873
+
874
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
875
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
876
+
877
+ </xs:sequence>
878
+ </xs:complexType>
879
+
880
+ <xs:complexType name="PartyIdentification32-CH_Creditor">
881
+ <xs:sequence>
882
+ <xs:element name="Nm" type="Max70Text" minOccurs="0"/>
883
+ <xs:element name="PstlAdr" type="PostalAddress6-CH" minOccurs="0"/>
884
+ <xs:element name="Id" type="Party6Choice-CH" minOccurs="0"/>
885
+
886
+ <xs:element name="CtryOfRes" type="CountryCode" minOccurs="0"/>
887
+ <xs:element name="CtctDtls" type="ContactDetails2" minOccurs="0"/>
888
+
889
+ </xs:sequence>
890
+ </xs:complexType>
891
+ -->
892
+ <xs:complexType name="PaymentIdentification1">
893
+ <xs:sequence>
894
+ <xs:element name="InstrId" type="Max35Text-Swift" minOccurs="0"/>
895
+ <xs:element name="EndToEndId" type="Max35Text-Swift"/>
896
+ </xs:sequence>
897
+ </xs:complexType>
898
+ <!-- V01: changed: CH-version changes applied -->
899
+ <xs:complexType name="PaymentInstructionInformation3-CH">
900
+ <xs:sequence>
901
+ <xs:element name="PmtInfId" type="Max35Text-Swift"/>
902
+ <xs:element name="PmtMtd" type="PaymentMethod3Code"/>
903
+ <xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0"/>
904
+ <xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0"/>
905
+ <xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0"/>
906
+ <xs:element name="PmtTpInf" type="PaymentTypeInformation19-CH" minOccurs="0"/>
907
+ <xs:element name="ReqdExctnDt" type="ISODate"/>
908
+ <xs:element name="Dbtr" type="PartyIdentification32-CH"/>
909
+ <xs:element name="DbtrAcct" type="CashAccount16-CH_IdTpCcy"/>
910
+ <xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4-CH_BicOrClrId"/>
911
+ <xs:element name="UltmtDbtr" type="PartyIdentification32-CH" minOccurs="0"/>
912
+ <xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0"/>
913
+ <xs:element name="ChrgsAcct" type="CashAccount16-CH_IdAndCurrency" minOccurs="0"/>
914
+ <xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation10-CH" maxOccurs="unbounded"/>
915
+ <!-- V01: unused
916
+ <xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0"/>
917
+ <xs:element name="DbtrAgtAcct" type="CashAccount16" minOccurs="0"/>
918
+ <xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4" minOccurs="0"/>
919
+ -->
920
+ </xs:sequence>
921
+ </xs:complexType>
922
+ <xs:simpleType name="PaymentMethod3Code">
923
+ <xs:restriction base="xs:string">
924
+ <xs:enumeration value="CHK"/>
925
+ <xs:enumeration value="TRF"/>
926
+ <xs:enumeration value="TRA"/>
927
+ </xs:restriction>
928
+ </xs:simpleType>
929
+ <!-- V01: changed: CH version changes applied -->
930
+ <xs:complexType name="PaymentTypeInformation19-CH">
931
+ <xs:sequence>
932
+ <xs:element name="InstrPrty" type="Priority2Code" minOccurs="0"/>
933
+ <xs:element name="SvcLvl" type="ServiceLevel8Choice" minOccurs="0"/>
934
+ <xs:element name="LclInstrm" type="LocalInstrument2Choice" minOccurs="0"/>
935
+ <xs:element name="CtgyPurp" type="CategoryPurpose1-CH_Code" minOccurs="0"/>
936
+ </xs:sequence>
937
+ </xs:complexType>
938
+ <!-- V01: unused
939
+ <xs:simpleType name="PercentageRate">
940
+ <xs:restriction base="xs:decimal">
941
+ <xs:fractionDigits value="10"/>
942
+ <xs:totalDigits value="11"/>
943
+ </xs:restriction>
944
+ </xs:simpleType>
945
+ -->
946
+ <xs:complexType name="PersonIdentification5">
947
+ <xs:sequence>
948
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
949
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0" maxOccurs="unbounded"/>
950
+ </xs:sequence>
951
+ </xs:complexType>
952
+ <!-- V01: changed: only one occurance of element Othr allowed in CH version -->
953
+ <xs:complexType name="PersonIdentification5-CH">
954
+ <xs:sequence>
955
+ <xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth" minOccurs="0"/>
956
+ <xs:element name="Othr" type="GenericPersonIdentification1" minOccurs="0"/>
957
+ </xs:sequence>
958
+ </xs:complexType>
959
+ <xs:complexType name="PersonIdentificationSchemeName1Choice">
960
+ <xs:sequence>
961
+ <xs:choice>
962
+ <xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
963
+ <xs:element name="Prtry" type="Max35Text"/>
964
+ </xs:choice>
965
+ </xs:sequence>
966
+ </xs:complexType>
967
+ <xs:simpleType name="PhoneNumber">
968
+ <xs:restriction base="xs:string">
969
+ <xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
970
+ </xs:restriction>
971
+ </xs:simpleType>
972
+ <xs:complexType name="PostalAddress6">
973
+ <xs:sequence>
974
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
975
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
976
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
977
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
978
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
979
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
980
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
981
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
982
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
983
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="7"/>
984
+ </xs:sequence>
985
+ </xs:complexType>
986
+ <!-- V01: added: only 2 lines of address lines allowed in CH version -->
987
+ <xs:complexType name="PostalAddress6-CH">
988
+ <xs:sequence>
989
+ <xs:element name="AdrTp" type="AddressType2Code" minOccurs="0"/>
990
+ <xs:element name="Dept" type="Max70Text" minOccurs="0"/>
991
+ <xs:element name="SubDept" type="Max70Text" minOccurs="0"/>
992
+ <xs:element name="StrtNm" type="Max70Text" minOccurs="0"/>
993
+ <xs:element name="BldgNb" type="Max16Text" minOccurs="0"/>
994
+ <xs:element name="PstCd" type="Max16Text" minOccurs="0"/>
995
+ <xs:element name="TwnNm" type="Max35Text" minOccurs="0"/>
996
+ <xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0"/>
997
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
998
+ <xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="2"/>
999
+ <!-- V01: changed: max. 2 occurence -->
1000
+ </xs:sequence>
1001
+ </xs:complexType>
1002
+ <xs:simpleType name="Priority2Code">
1003
+ <xs:restriction base="xs:string">
1004
+ <xs:enumeration value="HIGH"/>
1005
+ <xs:enumeration value="NORM"/>
1006
+ </xs:restriction>
1007
+ </xs:simpleType>
1008
+ <!-- V01: changed: CH-version changes applied -->
1009
+ <xs:complexType name="Purpose2-CH_Code">
1010
+ <xs:sequence>
1011
+ <xs:element name="Cd" type="ExternalPurpose1Code"/>
1012
+ </xs:sequence>
1013
+ </xs:complexType>
1014
+ <xs:complexType name="ReferredDocumentInformation3">
1015
+ <xs:sequence>
1016
+ <xs:element name="Tp" type="ReferredDocumentType2" minOccurs="0"/>
1017
+ <xs:element name="Nb" type="Max35Text" minOccurs="0"/>
1018
+ <xs:element name="RltdDt" type="ISODate" minOccurs="0"/>
1019
+ </xs:sequence>
1020
+ </xs:complexType>
1021
+ <xs:complexType name="ReferredDocumentType1Choice">
1022
+ <xs:sequence>
1023
+ <xs:choice>
1024
+ <xs:element name="Cd" type="DocumentType5Code"/>
1025
+ <xs:element name="Prtry" type="Max35Text"/>
1026
+ </xs:choice>
1027
+ </xs:sequence>
1028
+ </xs:complexType>
1029
+ <xs:complexType name="ReferredDocumentType2">
1030
+ <xs:sequence>
1031
+ <xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
1032
+ <xs:element name="Issr" type="Max35Text" minOccurs="0"/>
1033
+ </xs:sequence>
1034
+ </xs:complexType>
1035
+ <xs:complexType name="RegulatoryAuthority2">
1036
+ <xs:sequence>
1037
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
1038
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
1039
+ </xs:sequence>
1040
+ </xs:complexType>
1041
+ <xs:complexType name="RegulatoryReporting3">
1042
+ <xs:sequence>
1043
+ <xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0"/>
1044
+ <xs:element name="Authrty" type="RegulatoryAuthority2" minOccurs="0"/>
1045
+ <xs:element name="Dtls" type="StructuredRegulatoryReporting3" minOccurs="0" maxOccurs="unbounded"/>
1046
+ </xs:sequence>
1047
+ </xs:complexType>
1048
+ <xs:simpleType name="RegulatoryReportingType1Code">
1049
+ <xs:restriction base="xs:string">
1050
+ <xs:enumeration value="CRED"/>
1051
+ <xs:enumeration value="DEBT"/>
1052
+ <xs:enumeration value="BOTH"/>
1053
+ </xs:restriction>
1054
+ </xs:simpleType>
1055
+ <xs:complexType name="RemittanceAmount1">
1056
+ <xs:sequence>
1057
+ <xs:element name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1058
+ <xs:element name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1059
+ <xs:element name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1060
+ <xs:element name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1061
+ <xs:element name="AdjstmntAmtAndRsn" type="DocumentAdjustment1" minOccurs="0" maxOccurs="unbounded"/>
1062
+ <xs:element name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1063
+ </xs:sequence>
1064
+ </xs:complexType>
1065
+ <xs:complexType name="RemittanceInformation5-CH">
1066
+ <xs:sequence>
1067
+ <xs:element name="Ustrd" type="Max140Text" minOccurs="0"/>
1068
+ <xs:element name="Strd" type="StructuredRemittanceInformation7" minOccurs="0"/>
1069
+ </xs:sequence>
1070
+ </xs:complexType>
1071
+ <!-- V01: unused
1072
+ <xs:complexType name="RemittanceLocation2">
1073
+ <xs:sequence>
1074
+ <xs:element name="RmtId" type="Max35Text" minOccurs="0"/>
1075
+ <xs:element name="RmtLctnMtd" type="RemittanceLocationMethod2Code" minOccurs="0"/>
1076
+ <xs:element name="RmtLctnElctrncAdr" type="Max2048Text" minOccurs="0"/>
1077
+ <xs:element name="RmtLctnPstlAdr" type="NameAndAddress10" minOccurs="0"/>
1078
+ </xs:sequence>
1079
+ </xs:complexType>
1080
+ <xs:simpleType name="RemittanceLocationMethod2Code">
1081
+ <xs:restriction base="xs:string">
1082
+ <xs:enumeration value="FAXI"/>
1083
+ <xs:enumeration value="EDIC"/>
1084
+ <xs:enumeration value="URID"/>
1085
+ <xs:enumeration value="EMAL"/>
1086
+ <xs:enumeration value="POST"/>
1087
+ <xs:enumeration value="SMSM"/>
1088
+ </xs:restriction>
1089
+ </xs:simpleType>
1090
+ -->
1091
+ <xs:complexType name="ServiceLevel8Choice">
1092
+ <xs:sequence>
1093
+ <xs:choice>
1094
+ <xs:element name="Cd" type="ExternalServiceLevel1Code"/>
1095
+ <xs:element name="Prtry" type="Max35Text"/>
1096
+ </xs:choice>
1097
+ </xs:sequence>
1098
+ </xs:complexType>
1099
+ <xs:complexType name="StructuredRegulatoryReporting3">
1100
+ <xs:sequence>
1101
+ <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
1102
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
1103
+ <xs:element name="Ctry" type="CountryCode" minOccurs="0"/>
1104
+ <xs:element name="Cd" type="Max10Text" minOccurs="0"/>
1105
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1106
+ <xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="unbounded"/>
1107
+ </xs:sequence>
1108
+ </xs:complexType>
1109
+ <xs:complexType name="StructuredRemittanceInformation7">
1110
+ <xs:sequence>
1111
+ <xs:element name="RfrdDocInf" type="ReferredDocumentInformation3" minOccurs="0" maxOccurs="unbounded"/>
1112
+ <xs:element name="RfrdDocAmt" type="RemittanceAmount1" minOccurs="0"/>
1113
+ <xs:element name="CdtrRefInf" type="CreditorReferenceInformation2" minOccurs="0"/>
1114
+ <xs:element name="Invcr" type="PartyIdentification32" minOccurs="0"/>
1115
+ <xs:element name="Invcee" type="PartyIdentification32" minOccurs="0"/>
1116
+ <xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="3"/>
1117
+ </xs:sequence>
1118
+ </xs:complexType>
1119
+ <!-- V01: unused
1120
+ <xs:complexType name="TaxAmount1">
1121
+ <xs:sequence>
1122
+ <xs:element name="Rate" type="PercentageRate" minOccurs="0"/>
1123
+ <xs:element name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1124
+ <xs:element name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1125
+ <xs:element name="Dtls" type="TaxRecordDetails1" minOccurs="0" maxOccurs="unbounded"/>
1126
+ </xs:sequence>
1127
+ </xs:complexType>
1128
+ <xs:complexType name="TaxAuthorisation1">
1129
+ <xs:sequence>
1130
+ <xs:element name="Titl" type="Max35Text" minOccurs="0"/>
1131
+ <xs:element name="Nm" type="Max140Text" minOccurs="0"/>
1132
+ </xs:sequence>
1133
+ </xs:complexType>
1134
+ <xs:complexType name="TaxInformation3">
1135
+ <xs:sequence>
1136
+ <xs:element name="Cdtr" type="TaxParty1" minOccurs="0"/>
1137
+ <xs:element name="Dbtr" type="TaxParty2" minOccurs="0"/>
1138
+ <xs:element name="AdmstnZn" type="Max35Text" minOccurs="0"/>
1139
+ <xs:element name="RefNb" type="Max140Text" minOccurs="0"/>
1140
+ <xs:element name="Mtd" type="Max35Text" minOccurs="0"/>
1141
+ <xs:element name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1142
+ <xs:element name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount" minOccurs="0"/>
1143
+ <xs:element name="Dt" type="ISODate" minOccurs="0"/>
1144
+ <xs:element name="SeqNb" type="Number" minOccurs="0"/>
1145
+ <xs:element name="Rcrd" type="TaxRecord1" minOccurs="0" maxOccurs="unbounded"/>
1146
+ </xs:sequence>
1147
+ </xs:complexType>
1148
+ <xs:complexType name="TaxParty1">
1149
+ <xs:sequence>
1150
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
1151
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
1152
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
1153
+ </xs:sequence>
1154
+ </xs:complexType>
1155
+ <xs:complexType name="TaxParty2">
1156
+ <xs:sequence>
1157
+ <xs:element name="TaxId" type="Max35Text" minOccurs="0"/>
1158
+ <xs:element name="RegnId" type="Max35Text" minOccurs="0"/>
1159
+ <xs:element name="TaxTp" type="Max35Text" minOccurs="0"/>
1160
+ <xs:element name="Authstn" type="TaxAuthorisation1" minOccurs="0"/>
1161
+ </xs:sequence>
1162
+ </xs:complexType>
1163
+ <xs:complexType name="TaxPeriod1">
1164
+ <xs:sequence>
1165
+ <xs:element name="Yr" type="ISODate" minOccurs="0"/>
1166
+ <xs:element name="Tp" type="TaxRecordPeriod1Code" minOccurs="0"/>
1167
+ <xs:element name="FrToDt" type="DatePeriodDetails" minOccurs="0"/>
1168
+ </xs:sequence>
1169
+ </xs:complexType>
1170
+ <xs:complexType name="TaxRecord1">
1171
+ <xs:sequence>
1172
+ <xs:element name="Tp" type="Max35Text" minOccurs="0"/>
1173
+ <xs:element name="Ctgy" type="Max35Text" minOccurs="0"/>
1174
+ <xs:element name="CtgyDtls" type="Max35Text" minOccurs="0"/>
1175
+ <xs:element name="DbtrSts" type="Max35Text" minOccurs="0"/>
1176
+ <xs:element name="CertId" type="Max35Text" minOccurs="0"/>
1177
+ <xs:element name="FrmsCd" type="Max35Text" minOccurs="0"/>
1178
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
1179
+ <xs:element name="TaxAmt" type="TaxAmount1" minOccurs="0"/>
1180
+ <xs:element name="AddtlInf" type="Max140Text" minOccurs="0"/>
1181
+ </xs:sequence>
1182
+ </xs:complexType>
1183
+ <xs:complexType name="TaxRecordDetails1">
1184
+ <xs:sequence>
1185
+ <xs:element name="Prd" type="TaxPeriod1" minOccurs="0"/>
1186
+ <xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
1187
+ </xs:sequence>
1188
+ </xs:complexType>
1189
+ <xs:simpleType name="TaxRecordPeriod1Code">
1190
+ <xs:restriction base="xs:string">
1191
+ <xs:enumeration value="MM01"/>
1192
+ <xs:enumeration value="MM02"/>
1193
+ <xs:enumeration value="MM03"/>
1194
+ <xs:enumeration value="MM04"/>
1195
+ <xs:enumeration value="MM05"/>
1196
+ <xs:enumeration value="MM06"/>
1197
+ <xs:enumeration value="MM07"/>
1198
+ <xs:enumeration value="MM08"/>
1199
+ <xs:enumeration value="MM09"/>
1200
+ <xs:enumeration value="MM10"/>
1201
+ <xs:enumeration value="MM11"/>
1202
+ <xs:enumeration value="MM12"/>
1203
+ <xs:enumeration value="QTR1"/>
1204
+ <xs:enumeration value="QTR2"/>
1205
+ <xs:enumeration value="QTR3"/>
1206
+ <xs:enumeration value="QTR4"/>
1207
+ <xs:enumeration value="HLF1"/>
1208
+ <xs:enumeration value="HLF2"/>
1209
+ </xs:restriction>
1210
+ </xs:simpleType>
1211
+ -->
1212
+ </xs:schema>