﻿<?xml version="1.0" encoding="utf-8" ?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="../common/extensibleContent.xsd"/>
    <xs:element name="FarPayXml">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Delivery" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Count" type="xs:unsignedLong"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Bills">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Bill" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="InvoiceTypeCode">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:enumeration value="PIE"/>
                                                    <xs:enumeration value="PCM"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="InvoiceNumber" type="xs:string"/>

                                        <xs:element name="EncodedDocument" type="xs:string"/>
                                        <xs:element name="PaymentDueDate" type="xs:date"/>
                                        <xs:element name="Currency" type="xs:string"/>
                                        <xs:element name="ToBePayedAmount" type="xs:decimal"/>
                                        <xs:element name="TextLines" type="xs:string" />

                                        <xs:element name="CustomerNumber" type="xs:string"/>
                                        <xs:element name="Name" type="xs:string"/>
                                        <xs:element name="Street" type="xs:string"/>
                                        <xs:element name="HouseNumber"/>
                                        <xs:element name="PostalZone" type="xs:unsignedShort"/>
                                        <xs:element name="CityName" type="xs:string"/>
                                        <xs:element name="Country" type="xs:string"/>
                                        <xs:element name="EmailAddress" type="xs:string"/>
                                        <xs:element name="SmsPhoneNumber" type="xs:string" />

                                        <xs:element name="PaymentMeans">
                                            <xs:complexType>
                                                <xs:sequence>

                                                    <xs:element name="PaymentChannelCode" maxOccurs="1">
                                                        <xs:simpleType>
                                                            <xs:restriction>
                                                                <xs:enumeration value="IBAN" />
                                                                <xs:enumeration value="DK:BANK" />
                                                                <xs:enumeration value="DK:FIK" />
                                                                <xs:enumeration value="OVERFØRSELSSERVICE" />
                                                                <xs:enumeration value="KONTOOVERFØRSEL" />
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>

                                                    <!-- TypeCodeID holds 71 or 93, for FI paymentslips -->
                                                    <xs:element name="TypeCodeID" type="xs:string"/>

                                                    <!-- First part of the FI paymnet slip -->
                                                    <xs:element name="PaymentID" type="xs:string"/>

                                                    <!-- Second part of the FI paymnet slip -->
                                                    <xs:element name="JointPaymentID" type="xs:string"/>

                                                    <!-- Extended and ruling extensible content -->
                                                    <xs:element ref="ExtensibleContent" minOccurs="0" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
