<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:mlef24gfb="http://www.mlef24gfb/schema/transfer"
           targetNamespace="http://www.mlef24gfb/schema/transfer"
           attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:annotation>
        <xs:documentation>
            Used for the transfer between Magicline 2.0, Eurofit24/Daidalos, PayDue/Ikaros and other debt collection
            agencies. Replaces XSD v2 (Transfer between ML2.0 and PayDue and between ML2.0 and Eurofit).
            Maybe referenced as XSD v2.1 in formal and informal documentation.
        </xs:documentation>
    </xs:annotation>
    <xs:element name="Transfer">
        <xs:annotation>
            <xs:documentation>
                The Transfer element combines all Clients and enriches it with version number, date of collection
                and further information, if needed. The versions should be backwards compatible at minor versions.
                TransferId: Unique id for this transfer, in UUID format, e.g. 5aaf643a-056b-4cd3-93c3-bfc67738aa8e
                CollectionDate: Date of the transfer, with format YYYY-MM-DD
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Version" type="xs:string"/>
                <xs:element name="Type" type="mlef24gfb:TransferType"/>
                <xs:element name="TriggerType" type="mlef24gfb:TransferTriggerType"/>
                <xs:element name="TransferId" type="xs:string"/>
                <xs:element name="CollectionDate" type="xs:date"/>
                <xs:element name="Clients" type="mlef24gfb:Clients"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="TransferStatus">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>
                    Status of a MemberCash DebtClaim-Submission from Magicline (based on PaymentRuns) to Daidalos
                    Introduced by services-module as the response to an transfer-import POST-request
                    Not used for debt collections.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="Id" type="xs:string"/>
                <xs:element name="Status" type="mlef24gfb:TransferStatusType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="Clients">
        <xs:sequence>
            <xs:element name="Client" type="mlef24gfb:Client" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Client">
        <xs:annotation>
            <xs:documentation>
                The client matches a studio or location. The complete element should identify the person or
                company with its details of address, taxId, contact data and bank account information. An address should
                be complete, but only fields mandatory for all countries are marked as such.
                ClientId: Unique Id and used for all kind of communications
                MatchCode: Helps on identifying. In debt collections same as name1: name of the studio/client
                VATSerialNo: Tax ID of the client
                CountryCode: ISO Alpha-2 country code
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ClientId" type="xs:string"/>
            <xs:element name="MatchCode" type="xs:string"/>
            <xs:element name="PersonType" type="mlef24gfb:PersonType"/>
            <xs:element name="Name1" type="xs:string"/>
            <xs:element name="Name2" type="xs:string" minOccurs="0"/>
            <xs:element name="Name3" type="xs:string" minOccurs="0"/>
            <xs:element name="Firstname" type="xs:string" minOccurs="0"/>
            <xs:element name="MagiclineTenantName" type="xs:string" minOccurs="0"/>
            <xs:element name="FAO" type="xs:string" minOccurs="0"/>
            <xs:element name="LegalForm" type="xs:string" minOccurs="0"/>
            <xs:element name="CommercialRegister" type="xs:string" minOccurs="0"/>
            <xs:element name="CommercialRegisterNo" type="xs:string" minOccurs="0"/>
            <xs:element name="PreTaxAttribute" type="xs:boolean"/>
            <xs:element name="VATSerialNo" type="xs:string" minOccurs="0"/>
            <xs:element name="WorkflowId" type="xs:int" minOccurs="0"/>
            <xs:element name="Street" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        Deprecated. Use AddressLine1 or AddressDetail/Street+HouseNumber instead.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PostalCode" type="xs:string"/>
            <xs:element name="POBox" type="xs:string" minOccurs="0"/>
            <xs:element name="POBoxPostalCode" type="xs:string" minOccurs="0"/>
            <xs:element name="POBoxCity" type="xs:string" minOccurs="0"/>
            <xs:element name="City" type="xs:string"/>
            <xs:element name="CountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="Country" type="xs:string" minOccurs="0"/>
            <xs:element name="AccountNo" type="xs:string" minOccurs="0"/>
            <xs:element name="IdentificationNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="BankCode" type="xs:string" minOccurs="0"/>
            <xs:element name="IBAN" type="xs:string"/>
            <xs:element name="BIC" type="xs:string"/>
            <xs:element name="Bank" type="xs:string"/>
            <xs:element name="BankCountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="eMail" type="xs:string" minOccurs="0"/>
            <xs:element name="Website" type="xs:string" minOccurs="0"/>
            <xs:element name="ContactNumber" type="mlef24gfb:ContactNumber" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="Debtor" type="mlef24gfb:Debtor" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="AddressLine1" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine2" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine3" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="Region" type="xs:string" minOccurs="0"/>
            <xs:element name="AddressDetails" type="mlef24gfb:AddressDetails" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Debtor">
        <xs:annotation>
            <xs:documentation>
                The debtor matches a member. The complete element should identify the member with its
                details of address, contact data and bank account information. It includes also country specific elements.
                DebtorId: Unique Id and used for all kind of communications, can be a decimal value or a UUID
                MembershipNr: Magicline specific identifier for the member.
                CountryCode: ISO Alpha-2 country code
                MandateReference: Sepa mandate reference number
                Birthdate: format YYYY-MM-DD
                LiablePerson: In case the debtor isn't liable himself, this is the liable representative
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="DebtorId" type="xs:string"/>
            <xs:element name="MembershipNr" type="xs:string"/>
            <xs:element name="CountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="Country" type="xs:string" minOccurs="0"/>
            <xs:element name="Bank" type="xs:string" minOccurs="0"/>
            <xs:element name="BankCountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="Profession" type="xs:string" minOccurs="0"/>
            <xs:element name="AccountNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="AccountHolder" type="xs:string" minOccurs="0"/>
            <xs:element name="IdentificationNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="BankCode" type="xs:string" minOccurs="0"/>
            <xs:element name="IBAN" type="xs:string" minOccurs="0"/>
            <xs:element name="BIC" type="xs:string" minOccurs="0"/>
            <xs:element name="MandateReference" type="xs:string" minOccurs="0"/>
            <xs:element name="MandateSignedOn" type="xs:date" minOccurs="0"/>
            <xs:element name="MandateOwner" type="mlef24gfb:MandateOwner" minOccurs="0"/>
            <xs:element name="MandateCreditorId" type="xs:string" minOccurs="0"/>
            <xs:element name="MandateCreditorName" type="xs:string" minOccurs="0"/>
            <xs:element name="Birthdate" type="xs:date" minOccurs="0"/>
            <xs:element name="MaidenName" type="xs:string"/>
            <xs:element name="FirstName" type="xs:string"/>
            <xs:element name="Name1" type="xs:string"/>
            <xs:element name="Name2" type="xs:string" minOccurs="0"/>
            <xs:element name="Name3" type="xs:string" minOccurs="0"/>
            <xs:element name="Sex" type="xs:string"/>
            <xs:element name="Street" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        Deprecated. Use AddressLine1 or AddressDetail/Street+HouseNumber instead.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
            <xs:element name="POBoxPostalCode" type="xs:string" minOccurs="0"/>
            <xs:element name="POBoxCity" type="xs:string" minOccurs="0"/>
            <xs:element name="City" type="xs:string"/>
            <xs:element name="POBox" type="xs:string" minOccurs="0"/>
            <xs:element name="AddressInvalidationReason" type="mlef24gfb:AddressInvalidationReason" minOccurs="0"/>
            <xs:element name="eMail" type="xs:string" minOccurs="0"/>
            <xs:element name="LiablePerson" type="mlef24gfb:LiablePerson" minOccurs="0"/>
            <xs:element name="ContactNumber" type="mlef24gfb:ContactNumber" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="CCase" type="mlef24gfb:CCase" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="AddressLine1" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine2" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine3" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="Region" type="xs:string" minOccurs="0"/>
            <xs:element name="AddressDetails" type="mlef24gfb:AddressDetails" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="LiablePerson">
        <xs:annotation>
            <xs:documentation>
                The LiablePerson is used for members not being responsible themself for payments.
                The complete element should identify the liable person with its
                details of address, contact data and bank account information. It includes also country specific elements.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="FirstName" type="xs:string"/>
            <xs:element name="Name1" type="xs:string"/>
            <xs:element name="Name2" type="xs:string" minOccurs="0"/>
            <xs:element name="Birthdate" type="xs:date" minOccurs="0"/>
            <xs:element name="Sex" type="xs:string" minOccurs="0"/>
            <xs:element name="Street" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Deprecated. Use AddressLine1 or AddressDetail/Street+HouseNumber instead.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="POBox" type="xs:string" minOccurs="0"/>
            <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
            <xs:element name="City" type="xs:string" minOccurs="0"/>
            <xs:element name="CountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="eMail" type="xs:string" minOccurs="0"/>
            <xs:element name="ContactNumber" type="mlef24gfb:ContactNumber" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="AccountNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="IdentificationNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="BankCode" type="xs:string" minOccurs="0"/>
            <xs:element name="Bank" type="xs:string" minOccurs="0"/>
            <xs:element name="AccountHolder" type="xs:string" minOccurs="0"/>
            <xs:element name="BankCountryCode" type="xs:string" minOccurs="0"/>
            <xs:element name="IBAN" type="xs:string" minOccurs="0"/>
            <xs:element name="BIC" type="xs:string" minOccurs="0"/>
            <xs:element name="AddressLine1" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine2" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="AddressLine3" type="mlef24gfb:AddressLine" minOccurs="0"/>
            <xs:element name="Region" type="xs:string" minOccurs="0"/>
            <xs:element name="AddressDetails" type="mlef24gfb:AddressDetails" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CCase">
        <xs:annotation>
            <xs:documentation>
                The CCase is a single transfer of a debtor and wraps multiple debts or payments (Magicline uses only debts)
                One CCase contains all information about a transfer of a single member.
                CCaseId: ID identifying this CCase in UUID format
                OpenAmount: Total amount open of all debts - payments
                Debt: List of debts the member needs to pay
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CCaseId" type="xs:string" minOccurs="0"/>
            <xs:element name="WorkflowId" type="xs:int" minOccurs="0"/>
            <xs:element name="CCaseStatus" type="xs:string" minOccurs="0"/>
            <xs:element name="CCaseClosingCode" type="xs:string" minOccurs="0"/>
            <xs:element name="CCaseClosedOn" type="xs:date" minOccurs="0"/>
            <xs:element name="OpenAmount" type="xs:decimal" minOccurs="0"/>
            <xs:element name="Debt" type="mlef24gfb:Debt" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="Payment" type="mlef24gfb:Payment" maxOccurs="unbounded" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Payment">
        <xs:sequence>
            <xs:element name="VoucherId" type="xs:string"/>
            <xs:element name="VoucherNo" type="xs:string" minOccurs="0"/>
            <xs:element name="VoucherDate" type="xs:date"/>
            <xs:element name="CollectionOfficeCaseReference" type="xs:string" minOccurs="0"/>
            <xs:element name="OwnerCaseReference" type="xs:string" minOccurs="0"/>
            <xs:element name="Amount" type="xs:decimal"/>
            <xs:element name="Currency" type="xs:string"/>
            <xs:element name="Type" type="xs:string"/>
            <xs:element name="Designation" type="xs:string"/>
            <xs:element name="Booking" type="mlef24gfb:Booking" maxOccurs="unbounded" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Debt">
        <xs:annotation>
            <xs:documentation>
                The Debt is a single debt claim of a member. It must contain all information needed to be a valid claim
                VoucherId: Unique Id for this debt in UUID format.
                VoucherDate: Due date of the debt.
                ContractStartDate: If contract debt, it is set to the start date of the contract, otherwise due date.
                Amount: Amount to collect for this debt.
                Currency: ISO 4217 currency code
                Type: see "DebtType" simpleType
                Designation: Studio name of the debt or payment
                ServicePeriodStartDate: Start date of the rendered service, YYYY-MM-DD format
                ServicePeriodEndDate: End date of the rendered service, YYYY-MM-DD format
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="VoucherId" type="xs:string"/>
            <xs:element name="VoucherNo" type="xs:string" minOccurs="0"/>
            <xs:element name="VoucherDate" type="xs:date"/>
            <xs:element name="CollectionOfficeCaseReference" type="xs:string" minOccurs="0"/>
            <xs:element name="OwnerCaseReference" type="xs:string" minOccurs="0"/>
            <xs:element name="ContractStartDate" type="xs:date" minOccurs="0"/>
            <xs:element name="Amount" type="xs:decimal"/>
            <xs:element name="Currency" type="xs:string"/>
            <xs:element name="Type" type="xs:string"/>
            <xs:element name="Designation" type="xs:string"/>
            <xs:element name="Booking" type="mlef24gfb:Booking" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="Recurrence" type="mlef24gfb:Recurrence"/>
            <xs:element name="ServicePeriodStartDate" type="xs:date" minOccurs="0"/>
            <xs:element name="ServicePeriodEndDate" type="xs:date" minOccurs="0"/>
            <xs:element name="ProcessContext" type="mlef24gfb:ProcessContext" minOccurs="0"/>
            <xs:element name="MaturityType" type="mlef24gfb:MaturityType" minOccurs="0"/>
            <xs:element name="DirectDebitReversalReasonCode" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Booking">
        <xs:sequence>
            <xs:element name="Amount" type="xs:decimal"/>
            <xs:element name="VAT" type="xs:decimal"/>
            <xs:element name="Designation" type="xs:string"/>
            <xs:element name="AccountCode" type="xs:string"/>
            <xs:element name="MainAccount" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ContactNumber">
        <xs:sequence>
            <xs:element name="type" type="mlef24gfb:ContactNumberType"/>
            <xs:element name="number" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Recurrence">
        <xs:annotation>
            <xs:documentation>
                Used only for the transfer from ML2.0 to Eurofit24.
                Maybe ignored by Ikaros-Export to Eurofit24.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Period" type="mlef24gfb:Period"/>
            <xs:element name="Frequency" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AddressDetails">
        <xs:annotation>
            <xs:documentation>
                Describes the address in detail, so every country has its own fields filled.
                Use addressLines for preformatted address.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Street" type="xs:string" minOccurs="0"/>
            <xs:element name="HouseNumber" type="xs:string" minOccurs="0"/>
            <xs:element name="Province" type="xs:string" minOccurs="0"/>
            <xs:element name="StreetType" type="xs:string" minOccurs="0"/>
            <xs:element name="Block" type="xs:string" minOccurs="0"/>
            <xs:element name="Portal" type="xs:string" minOccurs="0"/>
            <xs:element name="Stairs" type="xs:string" minOccurs="0"/>
            <xs:element name="Floor" type="xs:string" minOccurs="0"/>
            <xs:element name="Door" type="xs:string" minOccurs="0"/>
            <xs:element name="SecondStreet" type="xs:string" minOccurs="0"/>
            <xs:element name="BuildingName" type="xs:string" minOccurs="0"/>
            <xs:element name="CityPart" type="xs:string" minOccurs="0"/>
            <xs:element name="District" type="xs:string" minOccurs="0"/>
            <xs:element name="AdditionalInformation" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="AddressInvalidationReason">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="UNDELIVERABLE_MAIL"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="DebtType">
        <xs:annotation>
            <xs:documentation>
                H00=PRINCIPAL_CLAIM
                H11=SALE
                H22=DEBT_CLAIM
                H22P=FLAT_FEE
                K001=DUNNING_FEE
                K0014=BANK_FEE
                K0024=ADDRESS_INQUIRY
                Z003=GENERIC_PAYMENT
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="H00"/>
            <xs:enumeration value="H11"/>
            <xs:enumeration value="H22"/>
            <xs:enumeration value="H22P"/>
            <xs:enumeration value="K001"/>
            <xs:enumeration value="K0014"/>
            <xs:enumeration value="K0024"/>
            <xs:enumeration value="Z003"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ContactNumberType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="tel_private"/>
            <xs:enumeration value="tel_private_mobile"/>
            <xs:enumeration value="tel_business"/>
            <xs:enumeration value="tel_business_mobile"/>
            <xs:enumeration value="fax"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Period">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="DAY"/>
            <xs:enumeration value="MONTH"/>
            <xs:enumeration value="WEEK"/>
            <xs:enumeration value="YEAR"/>
            <xs:enumeration value="ONCE"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="PersonType">
        <xs:annotation>
            <xs:documentation>
                0=UNKNOWN
                1=MALE
                2=FEMALE
                3=SINGLE_ENTERPRISE
                4=GMBH
                5=OTHERS
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="0"/>
            <xs:enumeration value="1"/>
            <xs:enumeration value="2"/>
            <xs:enumeration value="3"/>
            <xs:enumeration value="4"/>
            <xs:enumeration value="5"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TransferStatusType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="PENDING"/>
            <xs:enumeration value="DEBTS_RECEIVED"/>
            <xs:enumeration value="PAYMENTS_SUBMITTED"/>
            <xs:enumeration value="PAID_OUT"/>
            <xs:enumeration value="FAILED"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TransferType">
        <xs:annotation>
            <xs:documentation>
                debttransfer=Transfer of debts
                registration=Registration of a new client
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="debttransfer"/>
            <xs:enumeration value="registration"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="AddressLine">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ProcessContext">
        <xs:sequence>
            <xs:element name="Type" type="mlef24gfb:ProcessType" />
            <xs:element name="ProcessExecutedAt" type="xs:dateTime"/>
            <xs:element name="RelatedDebtClaimReference" type="xs:string"/>
            <xs:element name="CompensatingCreditAmount" type="xs:decimal" minOccurs="0"/>
            <xs:element name="AffectedServicePeriodStart" type="xs:date" minOccurs="0"/>
            <xs:element name="AffectedServicePeriodEnd" type="xs:date" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="ProcessType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="IDLE_PERIOD_CREATION"/>
            <xs:enumeration value="IDLE_PERIOD_CANCELATION"/>
            <xs:enumeration value="DYNAMIC_ADJUSTMENT_CREATION"/>
            <xs:enumeration value="DYNAMIC_ADJUSTMENT_CANCELATION"/>
            <xs:enumeration value="BOOKING_REVERSAL"/>
            <xs:enumeration value="BOOKING_REDUCTION"/>
            <xs:enumeration value="REST_MATURITY_CANCELATION"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TransferTriggerType">
        <xs:annotation>
            <xs:documentation>
                AUTOMATIC=Transfer has been triggered by another process, e.g. rejection of claims by another agency
                MANUAL=Transfer has been manually triggered by the client
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="AUTOMATIC"/>
            <xs:enumeration value="MANUAL"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MaturityType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="NORMAL"/>
            <xs:enumeration value="RESIDUAL"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MandateOwner">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="STUDIO"/>
            <xs:enumeration value="FINION"/>
        </xs:restriction>
    </xs:simpleType>

</xs:schema>
