CustomerContract
<xs:element name="CustomerContract"> <xs:complexType> <xs:sequence> <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="CustomerNo" type="Identifier15" nillable="false" minOccurs="1" maxOccurs="1"/> <xs:element name="CustomerInfo" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="NameAddressString72" minOccurs="1" maxOccurs="1"/> <xs:element name="RegNo" type="RegNo" minOccurs="1" maxOccurs="1"/> <xs:element name="AddressInfo" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="LegalAddress" type="Address" minOccurs="1" maxOccurs="1"/> <xs:element name="E-MailAddress" type="Email" minOccurs="0" maxOccurs="1"/> <xs:element name="Cellphone" type="String15" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="CustomerContracts" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="NewContract" type="NewContract" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ExtendContract" type="ExtendContract" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="CreditContract" type="CreditContract" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="LegalEntity" type="LegalEntity" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Version" type="Version" use="required"> <xs:annotation> <xs:documentation>Versions supported by this schema</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="CreatedDateTime" type="xs:dateTime" use="required"> <xs:annotation> <xs:documentation>Date and time when the file was created</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="CompanyNo" type="CompanyNumber" use="required"/> <xs:attribute name="CompanyName" type="xs:string" use="required"/> </xs:complexType> </xs:element>
Money
<xs:simpleType name="Money">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2"/>
<xs:minInclusive value="0.01"/>
<xs:maxInclusive
value="100000"/>
</xs:restriction>
</xs:simpleType>
Amount
<xs:complexType name="Amount"> <xs:sequence> <xs:element name="AmountInclVat" type="Money" nillable="false" minOccurs="1" maxOccurs="1"/> </xs:sequence> <xs:attribute name="Currency" type="eCurrencyType" use="required"/> </xs:complexType>
NewContract
<xs:complexType name="NewContract"> <xs:sequence> <xs:element name="ContractTransactionInfo" type="ContractTransactionInfo" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Reference, identifyer etc. for the contracttransaction</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Amount" type="Amount" nillable="false" minOccurs="1" maxOccurs="1"/> <xs:element name="ContractExpectedEndDate" type="xs:date" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Expected duration of the contract</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CreditCheckReference" type="String50" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Reference to creditcheck decision</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
ExtendContract
<xs:complexType name="ExtendContract"> <xs:sequence> <xs:element name="ContractTransactionInfo" type="ContractTransactionInfo" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Reference, identifyer etc. for the contracttransaction</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Amount" type="Amount" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Amount to extend contract with</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ContractExpectedEndDate" type="xs:date" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Expected duration of the contract</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CreditCheckReference" type="String50" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Reference to creditcheck decision</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
CreditContract
<xs:complexType name="CreditContract"> <xs:sequence> <xs:element name="ContractTransactionInfo" type="ContractTransactionInfo" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Reference, identifyer etc. for the contracttransaction</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Amount" type="Amount" nillable="false" minOccurs="1" maxOccurs="1"/> </xs:sequence> </xs:complexType>
ContractTransactionInfo
<xs:complexType name="ContractTransactionInfo"> <xs:sequence> <xs:element name="ContractId" type="xs:unsignedInt" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Unique identifier of each contract in the ledger</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TransactionDate" type="xs:date" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Date of the contract, contract extend or when the credit was issued depending of the type of transaction</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TransactionId" type="String50" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Unique identifier of all types of transactions (NewContract/ExtendContract/CreditTransaction) in the ledger</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
Version
<xs:simpleType name="Version">
<xs:restriction base="xs:string">
<xs:enumeration value="1.0">
<xs:annotation>
<xs:documentation>Original version</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
eCurrencyType
<xs:simpleType name="eCurrencyType">
<xs:restriction base="xs:string">
<xs:enumeration value="SEK"/>
<xs:enumeration value="NOK"/>
<xs:enumeration value="DKK"/>
<xs:enumeration value="EUR"/>
</xs:restriction>
</xs:simpleType>
Identifier15
<xs:simpleType name="Identifier15">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="15"/>
<xs:pattern value="[a-zA-Z0-9\-]*"/>
</xs:restriction>
</xs:simpleType>
ISO3166
<xs:simpleType name="ISO3166">
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
<xs:pattern value="[A-Z]*"/>
</xs:restriction>
</xs:simpleType>
CompanyNumber
<xs:simpleType name="CompanyNumber">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="15"/>
<xs:pattern value="[0-9]*"/>
</xs:restriction>
</xs:simpleType>
String35
<xs:simpleType name="String35"> <xs:restriction base="PXString"> <xs:maxLength value="35"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="Email"> <xs:restriction base="PXString"> <xs:maxLength value="60"/> <xs:pattern value="[^@]+@[^\.]+\..+"/> </xs:restriction> </xs:simpleType>
String15
<xs:simpleType name="String15"> <xs:restriction base="PXString"> <xs:maxLength value="15"/> </xs:restriction> </xs:simpleType>
ZipCode
<xs:simpleType name="ZipCode">
<xs:restriction base="xs:string">
<xs:maxLength value="9"/>
<xs:pattern value="[A-Z0-9\-]+"/>
</xs:restriction>
</xs:simpleType>
String50
<xs:simpleType name="String50"> <xs:restriction base="PXString"> <xs:minLength value="1"/> <xs:maxLength value="50"/> </xs:restriction> </xs:simpleType>
String90
<xs:simpleType name="String90"> <xs:restriction base="PXString"> <xs:minLength value="1"/> <xs:maxLength value="90"/> </xs:restriction> </xs:simpleType>
String20
<xs:simpleType name="String20"> <xs:restriction base="PXString"> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType>
NameAddressString35
<xs:simpleType name="NameAddressString35"> <xs:restriction base="PXNameAddressString"> <xs:minLength value="1"/> <xs:maxLength value="35"/> </xs:restriction> </xs:simpleType>
NameAddressString36
<xs:simpleType name="NameAddressString36"> <xs:restriction base="PXNameAddressString"> <xs:minLength value="1"/> <xs:maxLength value="36"/> </xs:restriction> </xs:simpleType>
NameAddressString27
<xs:simpleType name="NameAddressString27"> <xs:restriction base="PXNameAddressString"> <xs:minLength value="1"/> <xs:maxLength value="27"/> </xs:restriction> </xs:simpleType>
PXString
<xs:simpleType name="PXString">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9_:!;"#<>=?\[\]@{}´ %'-0À-ÖØ-öø-ú&]*"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
PXNameAddressString
<xs:simpleType name="PXNameAddressString">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9_:!;"#<>=?\[\]@{}´ %'-0À-ÖØ-öø-úü&]*"/>
</xs:restriction>
</xs:simpleType>
LegalEntity
<xs:simpleType name="LegalEntity">
<xs:restriction base="xs:string">
<xs:enumeration value="Private"/>
</xs:restriction>
</xs:simpleType>
PXExpiryDate
<xs:simpleType name="PXExpiryDate">
<xs:restriction base="xs:string">
<xs:length value="5"/>
<xs:pattern value="(0[1-9]|1[012])/(\d{2})"/>
</xs:restriction>
</xs:simpleType>
NameAddressString72
<xs:simpleType name="NameAddressString72"> <xs:restriction base="PXNameAddressString"> <xs:minLength value="1"/> <xs:maxLength value="72"/> </xs:restriction> </xs:simpleType>
Address
<xs:complexType name="Address"> <xs:sequence> <xs:element name="Addressee" type="NameAddressString72" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Full name of addressee</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StreetAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>Street address</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ZipCode" type="ZipCode" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Zipcode conforming to country standard</xs:documentation> </xs:annotation> </xs:element> <xs:element name="City" type="NameAddressString27" nillable="false" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>City</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CoAddress" type="NameAddressString35" nillable="false" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation>Care of address</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CountryCode" type="ISO3166" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Country code according to ISO 3166</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>