Wiki source code of Xml schema description

Last modified by Jenny Eklund on 2024/03/19 16:49
Show last authors
1 {{xslt syntax="html" xsl="attach:Main.Contract-financing.Technical-reference.WebHome@viewXSD.xsl"}}
2
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
4 <xs:element name="ContractBilling">
5 <xs:complexType>
6 <xs:sequence>
7 <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="unbounded">
8 <xs:complexType>
9 <xs:sequence>
10 <xs:element name="CustomerNo" type="Identifier15" nillable="false" minOccurs="1" maxOccurs="1">
11 <xs:annotation>
12 <xs:documentation>Unique identifier of customer, Customer number</xs:documentation>
13 </xs:annotation>
14 </xs:element>
15 <xs:element name="BillingInfo" minOccurs="0" maxOccurs="1">
16 <xs:complexType>
17 <xs:sequence>
18 <xs:element name="PaymentInfo" minOccurs="0" maxOccurs="1">
19 <xs:complexType>
20 <xs:choice>
21 <xs:element name="Clear" minOccurs="0" maxOccurs="1" >
22 <xs:annotation>
23 <xs:documentation>Erases previously set payment info on customer</xs:documentation>
24 </xs:annotation>
25 </xs:element>
26 <xs:element name="Set" minOccurs="0" maxOccurs="1">
27 <xs:annotation>
28 <xs:documentation>Sets differing payment info on customer, fully replaces earlier settings</xs:documentation>
29 </xs:annotation>
30 <xs:complexType>
31 <xs:sequence>
32 <xs:element name="RecurringCardInfo" type="Card" minOccurs="1" maxOccurs="1">
33 <xs:annotation>
34 <xs:documentation>Info about token and expiry date</xs:documentation>
35 </xs:annotation>
36 </xs:element>
37 </xs:sequence>
38 </xs:complexType>
39 </xs:element>
40 </xs:choice>
41 </xs:complexType>
42 </xs:element>
43 </xs:sequence>
44 </xs:complexType>
45 </xs:element>
46 <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="1">
47 <xs:complexType>
48 <xs:sequence>
49 <xs:element name="Name" type="NameAddressString72" minOccurs="1" maxOccurs="1"/>
50 <xs:element name="RegNo" type="RegNo" minOccurs="1" maxOccurs="1">
51 <xs:annotation>
52 <xs:documentation>Customer Social Security No</xs:documentation>
53 </xs:annotation>
54 </xs:element>
55 <xs:element name="LegalAddressInfo" minOccurs="1" maxOccurs="1">
56 <xs:complexType>
57 <xs:sequence>
58 <xs:element name="LegalAddress" type="Address" minOccurs="1" maxOccurs="1"/>
59 <xs:element name="E-MailAddress" type="Email" minOccurs="0" maxOccurs="1"/>
60 <xs:element name="Cellphone" type="String15" minOccurs="0" maxOccurs="1"/>
61 </xs:sequence>
62 </xs:complexType>
63 </xs:element>
64 </xs:sequence>
65 <xs:attribute name="LegalEntity" type="LegalEntity" use="optional"/>
66 </xs:complexType>
67 </xs:element>
68 <xs:element name="BillingAddress" type="Address" minOccurs="0" maxOccurs="1"/>
69 <xs:element name="BillingByPayEx" minOccurs="0" maxOccurs="unbounded">
70 <xs:complexType>
71 <xs:sequence>
72 <xs:choice>
73 <xs:element name="Clear" minOccurs="1" maxOccurs="1" >
74 <xs:annotation>
75 <xs:documentation>Deactivate automatically billing/dunning process by PayEx</xs:documentation>
76 </xs:annotation>
77 <xs:complexType>
78 <xs:sequence>
79 <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1">
80 <xs:annotation>
81 <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation>
82 </xs:annotation>
83 </xs:element>
84 </xs:sequence>
85 </xs:complexType>
86 </xs:element>
87 <xs:element name="Set" minOccurs="1" maxOccurs="1">
88 <xs:annotation>
89 <xs:documentation>Activate automatically billing/dunning process by PayEx</xs:documentation>
90 </xs:annotation>
91 <xs:complexType>
92 <xs:sequence>
93 <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1">
94 <xs:annotation>
95 <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation>
96 </xs:annotation>
97 </xs:element>
98 </xs:sequence>
99 </xs:complexType>
100 </xs:element>
101 </xs:choice>
102 </xs:sequence>
103 </xs:complexType>
104 </xs:element>
105 <xs:element name="BillInfo" minOccurs="0" maxOccurs="unbounded">
106 <xs:complexType>
107 <xs:sequence>
108 <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1">
109 <xs:annotation>
110 <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation>
111 </xs:annotation>
112 </xs:element>
113 <xs:element name="ReferenceInfo" type="ReferenceInfo" minOccurs="1" maxOccurs="1"/>
114 <xs:element name="DistributionType" type="eDistributionType" minOccurs="0" maxOccurs="1" >
115 <xs:annotation>
116 <xs:documentation>If a specific distribution is desired this is used to affect the default for this billing instruction.</xs:documentation>
117 </xs:annotation>
118 </xs:element>
119 <xs:element name="OffContractDebitAmount" type="Money" minOccurs="0" maxOccurs="1">
120 <xs:annotation>
121 <xs:documentation>Total sum of off contract debits, must be a positive amount</xs:documentation>
122 </xs:annotation>
123 </xs:element>
124 <xs:element name="OffContractCreditAmount" type="Money" minOccurs="0" maxOccurs="1">
125 <xs:annotation>
126 <xs:documentation>Total sum of off contract credits, must be a negative amount</xs:documentation>
127 </xs:annotation>
128 </xs:element>
129 <xs:element name="VatInfo" type="VatInfo" minOccurs="0" maxOccurs="5">
130 <xs:annotation>
131 <xs:documentation>Aggregated amount per VATRate</xs:documentation>
132 </xs:annotation>
133 </xs:element>
134 <xs:element name="Product" minOccurs="1" maxOccurs="unbounded">
135 <xs:complexType>
136 <xs:sequence>
137 <xs:element name="AmountInclVat" type="Amount" minOccurs="1" maxOccurs="1"/>
138 <xs:element name="ProductDescription" type="String90" nillable="false" minOccurs="1" maxOccurs="1">
139 <xs:annotation>
140 <xs:documentation>Textual description of the product</xs:documentation>
141 </xs:annotation>
142 </xs:element>
143 <xs:element name="BillingPeriod" type="String35" minOccurs="0" maxOccurs="1">
144 <xs:annotation>
145 <xs:documentation>Product billing period</xs:documentation>
146 </xs:annotation>
147 </xs:element>
148 </xs:sequence>
149 </xs:complexType>
150 </xs:element>
151 </xs:sequence>
152 </xs:complexType>
153 </xs:element>
154 </xs:sequence>
155 </xs:complexType>
156 </xs:element>
157 </xs:sequence>
158 <xs:attribute name="Version" type="Version" use="required">
159 <xs:annotation>
160 <xs:documentation>Versions supported by this schema</xs:documentation>
161 </xs:annotation>
162 </xs:attribute>
163 <xs:attribute name="CreatedDateTime" type="xs:dateTime" use="required">
164 <xs:annotation>
165 <xs:documentation>Date and time when the file was created</xs:documentation>
166 </xs:annotation>
167 </xs:attribute>
168 <xs:attribute name="CompanyNo" type="CompanyNumber" use="required"/>
169 <xs:attribute name="CompanyName" type="xs:string" use="required"/>
170 </xs:complexType>
171 </xs:element>
172 <xs:simpleType name="Money">
173 <xs:restriction base="xs:decimal">
174 <xs:fractionDigits value="2"/>
175 <xs:minInclusive value="-100000000"/>
176 <xs:maxInclusive value="100000000"/>
177 </xs:restriction>
178 </xs:simpleType>
179 <xs:complexType name="Amount">
180 <xs:sequence>
181 <xs:element name="AmountInclVat" type="Money" nillable="false" minOccurs="1" maxOccurs="1"/>
182 </xs:sequence>
183 <xs:attribute name="Currency" type="eCurrencyType" use="required"/>
184 </xs:complexType>
185 <xs:complexType name="Card">
186 <xs:sequence>
187 <xs:element name="CardReference" type="String50" minOccurs="1" maxOccurs="1"/>
188 <xs:element name="ExpiryDate" type="PXExpiryDate" minOccurs="1" maxOccurs="1"/>
189 </xs:sequence>
190 </xs:complexType>
191 <xs:simpleType name="PXExpiryDate">
192 <xs:restriction base="xs:string">
193 <xs:length value="5"/>
194 <xs:pattern value="(0[1-9]|1[012])/(\d{2})"/>
195 </xs:restriction>
196 </xs:simpleType>
197 <xs:simpleType name="Version">
198 <xs:restriction base="xs:string">
199 <xs:enumeration value="1.0">
200 <xs:annotation>
201 <xs:documentation>Original version</xs:documentation>
202 </xs:annotation>
203 </xs:enumeration>
204 <xs:enumeration value="1.1">
205 <xs:annotation>
206 <xs:documentation>PaymentInfo</xs:documentation>
207 </xs:annotation>
208 </xs:enumeration>
209 <xs:enumeration value="1.2">
210 <xs:annotation>
211 <xs:documentation>
212 Added support for OffContract.
213 DistributionType that alters the default distribution for the billing instruction
214 </xs:documentation>
215 </xs:annotation>
216 </xs:enumeration>
217 <xs:enumeration value="1.3">
218 <xs:annotation>
219 <xs:documentation>Added new eCurrencyTypes USD and GBP</xs:documentation>
220 </xs:annotation>
221 </xs:enumeration>
222 <xs:enumeration value="1.4">
223 <xs:annotation>
224 <xs:documentation>Updated length of CoAddress and StreetAddress. Extended PXNameAddressString to include diacritics.</xs:documentation>
225 </xs:annotation>
226 </xs:enumeration>
227 <xs:enumeration value="1.5">
228 <xs:annotation>
229 <xs:documentation>New element BillingByPayEx</xs:documentation>
230 </xs:annotation>
231 </xs:enumeration>
232 </xs:restriction>
233 </xs:simpleType>
234 <xs:simpleType name="eCurrencyType">
235 <xs:restriction base="xs:string">
236 <xs:enumeration value="SEK"/>
237 <xs:enumeration value="NOK"/>
238 <xs:enumeration value="DKK"/>
239 <xs:enumeration value="EUR"/>
240 <xs:enumeration value="GBP" />
241 <xs:enumeration value="USD" />
242 </xs:restriction>
243 </xs:simpleType>
244 <xs:simpleType name="Identifier15">
245 <xs:restriction base="xs:string">
246 <xs:minLength value="1"/>
247 <xs:maxLength value="15"/>
248 <xs:pattern value="[a-zA-Z0-9\-]*"/>
249 </xs:restriction>
250 </xs:simpleType>
251 <xs:simpleType name="ISO3166">
252 <xs:restriction base="xs:string">
253 <xs:minLength value="2"/>
254 <xs:maxLength value="2"/>
255 <xs:pattern value="[A-Z]*"/>
256 </xs:restriction>
257 </xs:simpleType>
258 <xs:simpleType name="CompanyNumber">
259 <xs:restriction base="xs:string">
260 <xs:minLength value="1"/>
261 <xs:maxLength value="15"/>
262 <xs:pattern value="[0-9]*"/>
263 </xs:restriction>
264 </xs:simpleType>
265 <xs:simpleType name="String35">
266 <xs:restriction base="PXString">
267 <xs:maxLength value="35"/>
268 </xs:restriction>
269 </xs:simpleType>
270 <xs:simpleType name="String90">
271 <xs:restriction base="PXString">
272 <xs:minLength value="1"/>
273 <xs:maxLength value="90"/>
274 </xs:restriction>
275 </xs:simpleType>
276 <xs:simpleType name="Email">
277 <xs:restriction base="PXString">
278 <xs:maxLength value="60"/>
279 <xs:pattern value="[^@]+@[^\.]+\..+"/>
280 </xs:restriction>
281 </xs:simpleType>
282 <xs:simpleType name="String15">
283 <xs:restriction base="PXString">
284 <xs:maxLength value="15"/>
285 </xs:restriction>
286 </xs:simpleType>
287 <xs:simpleType name="ZipCode">
288 <xs:restriction base="xs:string">
289 <xs:maxLength value="9"/>
290 <xs:pattern value="[A-Z0-9\-]+"/>
291 </xs:restriction>
292 </xs:simpleType>
293 <xs:simpleType name="String50">
294 <xs:restriction base="PXString">
295 <xs:minLength value="1"/>
296 <xs:maxLength value="50"/>
297 </xs:restriction>
298 </xs:simpleType>
299 <xs:simpleType name="VatRate">
300 <xs:restriction base="xs:decimal">
301 <xs:enumeration value="0.00"/>
302 <xs:enumeration value="6.00"/>
303 <xs:enumeration value="8.00"/>
304 <xs:enumeration value="12.00"/>
305 <xs:enumeration value="13.00"/>
306 <xs:enumeration value="14.00"/>
307 <xs:enumeration value="22.00"/>
308 <xs:enumeration value="23.00"/>
309 <xs:enumeration value="24.00"/>
310 <xs:enumeration value="25.00"/>
311 </xs:restriction>
312 </xs:simpleType>
313 <xs:simpleType name="String20">
314 <xs:restriction base="PXString">
315 <xs:maxLength value="20"/>
316 </xs:restriction>
317 </xs:simpleType>
318 <xs:simpleType name="NameAddressString36">
319 <xs:restriction base="PXNameAddressString">
320 <xs:minLength value="1"/>
321 <xs:maxLength value="36"/>
322 </xs:restriction>
323 </xs:simpleType>
324 <xs:simpleType name="NameAddressString27">
325 <xs:restriction base="PXNameAddressString">
326 <xs:minLength value="1"/>
327 <xs:maxLength value="27"/>
328 </xs:restriction>
329 </xs:simpleType>
330 <xs:simpleType name="PXString">
331 <xs:restriction base="xs:string">
332 <xs:pattern value="[a-zA-Z0-9_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-0À-ÖØ-öø-ú&amp;]*"/>
333 </xs:restriction>
334 </xs:simpleType>
335 <xs:simpleType name="PXNameAddressString">
336 <xs:restriction base="xs:string">
337 <xs:pattern value="[a-zA-Z0-9À-ɏЀ-ӿḀ-ỿ_:!;&quot;#&lt;&gt;=?\[\]@{}´ %'-/&amp;]*"/>
338 </xs:restriction>
339 </xs:simpleType>
340 <xs:simpleType name="String74">
341 <xs:restriction base="xs:string">
342 <xs:maxLength value="74"/>
343 </xs:restriction>
344 </xs:simpleType>
345 <xs:complexType name="ReferenceInfo">
346 <xs:sequence>
347 <xs:element name="ExternalBillId" type="String20" nillable="false" minOccurs="1" maxOccurs="1"/>
348 </xs:sequence>
349 </xs:complexType>
350 <xs:complexType name="RegNo">
351 <xs:simpleContent>
352 <xs:extension base="String15">
353 <xs:attribute name="CountryCode" type="ISO3166"/>
354 </xs:extension>
355 </xs:simpleContent>
356 </xs:complexType>
357 <xs:simpleType name="LegalEntity">
358 <xs:restriction base="xs:string">
359 <xs:enumeration value="Private"/>
360 </xs:restriction>
361 </xs:simpleType>
362 <xs:simpleType name="eDistributionType">
363 <xs:restriction base="xs:string">
364 <xs:enumeration value="PostalService">
365 <xs:annotation>
366 <xs:documentation>Distribution is made by postal service</xs:documentation>
367 </xs:annotation>
368 </xs:enumeration>
369 <xs:enumeration value="EMail">
370 <xs:annotation>
371 <xs:documentation>Distribution is made by E-mail</xs:documentation>
372 </xs:annotation>
373 </xs:enumeration>
374 </xs:restriction>
375 </xs:simpleType>
376 <xs:complexType name="VatInfo">
377 <xs:sequence>
378 <xs:element name="Amount" type="Amount" minOccurs="1" maxOccurs="1"/>
379 <xs:element name="VatAmount" type="Money" minOccurs="1" maxOccurs="1"/>
380 <xs:element name="VatRate" type="VatRate" minOccurs="1" maxOccurs="1"/>
381 </xs:sequence>
382 </xs:complexType>
383 <xs:simpleType name="NameAddressString72">
384 <xs:restriction base="PXNameAddressString">
385 <xs:minLength value="1"/>
386 <xs:maxLength value="72"/>
387 </xs:restriction>
388 </xs:simpleType>
389 <xs:complexType name="Address">
390 <xs:sequence>
391 <xs:element name="Addressee" type="NameAddressString72" minOccurs="1" maxOccurs="1">
392 <xs:annotation>
393 <xs:documentation>Full name of addressee</xs:documentation>
394 </xs:annotation>
395 </xs:element>
396 <xs:element name="StreetAddress" type="NameAddressString72" nillable="false" minOccurs="0" maxOccurs="1">
397 <xs:annotation>
398 <xs:documentation>Street address</xs:documentation>
399 </xs:annotation>
400 </xs:element>
401 <xs:element name="ZipCode" type="ZipCode" nillable="false" minOccurs="1" maxOccurs="1">
402 <xs:annotation>
403 <xs:documentation>Zipcode conforming to country standard</xs:documentation>
404 </xs:annotation>
405 </xs:element>
406 <xs:element name="City" type="NameAddressString27" nillable="false" minOccurs="1" maxOccurs="1">
407 <xs:annotation>
408 <xs:documentation>City</xs:documentation>
409 </xs:annotation>
410 </xs:element>
411 <xs:element name="CoAddress" type="NameAddressString72" nillable="false" minOccurs="0" maxOccurs="1">
412 <xs:annotation>
413 <xs:documentation>Care of address</xs:documentation>
414 </xs:annotation>
415 </xs:element>
416 <xs:element name="CountryCode" type="ISO3166" minOccurs="1" maxOccurs="1">
417 <xs:annotation>
418 <xs:documentation>Country code according to ISO 3166</xs:documentation>
419 </xs:annotation>
420 </xs:element>
421 </xs:sequence>
422 </xs:complexType>
423 </xs:schema>
424 {{/xslt}}