Wiki source code of Xml schema description
Last modified by Jenny Eklund on 2024/03/19 16:49
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_:!;"#<>=?\[\]@{}´ %'-0À-ÖØ-öø-ú&]*"/> |
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À-ɏЀ-ӿḀ-ỿ_:!;"#<>=?\[\]@{}´ %'-/&]*"/> |
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}} |