<?xml version="1.0"?>
<schema targetNamespace="http://ws.infotorg.no/xml/ErgoGroup/BackOffice/2007-11-07/BackOffice.xsd"
    xmlns:tns="http://ws.infotorg.no/xml/ErgoGroup/BackOffice/2007-11-07/BackOffice.xsd"
    xmlns="http://www.w3.org/2001/XMLSchema">

    <annotation>
        <documentation xml:lang="no">
            Datatyper for BackOffice.

            © 2007 ErgoGroup AS
            Forfatter: Dag Lem &lt;dag@nimrod.no&gt;
        </documentation>
    </annotation>

    <complexType name="flist">
        <sequence>
            <element name="aar" type="int"/>
        </sequence>
    </complexType>

    <complexType name="flistkundenr">
        <sequence>
            <element name="aar" type="int"/>
            <element name="kundenr" type="int"/>
            <element name="mottakernr" type="int" minOccurs="0"/>
        </sequence>
    </complexType>

    <complexType name="fakturaliste">
        <sequence>
            <element name="fakturaer">
                <complexType>
                    <sequence>
                        <element name="faktura" minOccurs="0" maxOccurs="unbounded">
                            <complexType>
                                <sequence>
                                    <element name="fakturanr" type="int"/>
                                    <element name="fakturadato" type="date"/>
                                    <element name="forfallsdato" type="date"/>
                                    <element name="kundenr" type="int"/>
                                    <element name="kundenrRegnskap" type="int" nillable="true"/>
                                    <element name="orgnr" type="string"/>
                                    <element name="kundenavn" type="string"/>
                                    <element name="mottakernr" type="int"/>
                                    <element name="mottakertekst" type="string"/>
                                    <element name="beloep" type="decimal"/>
                                    <element name="mva" type="decimal"/>
                                    <any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                                </sequence>
                            </complexType>
                        </element>
                    </sequence>
                </complexType>
            </element>
            <any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
        </sequence>
    </complexType>

    <element name="hentFakturalisteFakturamottaker" type="tns:flist"/>
    <element name="hentFakturalisteKunde" type="tns:flist"/>
    <element name="hentFakturalisteKundeAdm" type="tns:flistkundenr"/>

    <element name="FakturalisteFakturamottaker" type="tns:fakturaliste"/>
    <element name="FakturalisteKunde" type="tns:fakturaliste"/>
    <element name="FakturalisteKundeAdm" type="tns:fakturaliste"/>

    <complexType name="brukernavn">
        <sequence>
            <element name="brukernavn" type="string"/>
        </sequence>
    </complexType>

    <complexType name="sperrstatus">
        <sequence>
            <element name="statuskode">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="OK"/>
                        <enumeration value="uregistrert"/>
                        <enumeration value="sperret_slettet"/>
                    </restriction>
                </simpleType>
            </element>
        </sequence>
    </complexType>

    <element name="hentSperrBruker" type="tns:brukernavn"/>

    <element name="SperrBruker" type="tns:sperrstatus"/>

    <group name="brukerinfo">
        <sequence>
            <element name="brukerid" type="string"/>
            <element name="navn" type="string" minOccurs="0"/>
            <element name="kundenr" type="int" minOccurs="0"/>
            <element name="mottakernr" type="int" minOccurs="0"/>
            <element name="grupperingsid" type="string" minOccurs="0"/>
            <element name="tlfnr" type="string" minOccurs="0"/>
            <element name="epost" type="string" minOccurs="0"/>
            <element name="reservasjonInfobrev" type="boolean" minOccurs="0"/>
            <element name="passord" type="string" minOccurs="0"/>
            <element name="status" minOccurs="0">
                <simpleType>
                    <annotation>
                      <documentation xml:lang="no">aktiv => bruker er aktiv og kan benytte tjenesten. (1)</documentation>
                      <documentation xml:lang="no">slettet => bruker kan ikke logge inn - mulig å gjenåpne i hentAdministrerBruker, blir automatisk slettet etter 1 år eller mer. (-1)</documentation>
                      <documentation xml:lang="no">sperret => bruker kan ikke logge inn - ikke mulig å gjenåpne i hentAdministrerBruker - support kan gjenåpne. (2)</documentation>
                    </annotation>    
                    <restriction base="string">
                        <enumeration value="aktiv"/>
                        <enumeration value="slettet"/>
                        <enumeration value="sperret"/>
                    </restriction>
                </simpleType>
            </element>
            <element name="tilganger" minOccurs="0">
                <complexType>
                    <sequence>
                        <element name="tilgang" minOccurs="0" maxOccurs="unbounded">
                            <complexType>
                                <sequence>
                                    <element name="tjenesteid" type="string"/>
                                    <element name="tilgangsgruppe" type="string"/>
                                </sequence>
                            </complexType>
                        </element>
                    </sequence>
                </complexType>
            </element>
            <!--any minOccurs="0" maxOccurs="unbounded" processContents="lax"/--> <!-- åpent for å legge til flere felt (fungerer ikke pga minOccurs=0 på element før dette) -->
        </sequence>
    </group>

    <element name="hentAdministrerBruker">
        <complexType>
            <sequence>
                <element name="operasjon">
                    <simpleType>
                        <restriction base="string">
                            <enumeration value="hent"/>
                            <enumeration value="opprett"/>
                            <enumeration value="endre"/>
                        </restriction>
                    </simpleType>
                </element>
                <group ref="tns:brukerinfo"/>
            </sequence>
        </complexType>
    </element>

    <element name="AdministrerBruker">
        <complexType>
            <sequence>
                <element name="statuskode">
                    <simpleType>
                        <restriction base="string">
                            <enumeration value="OK"/>
                            <enumeration value="ugyldigBruker"/>
                            <enumeration value="brukerfinnesallerede"/>
                            <enumeration value="ugyldigPassord"/>
                            <enumeration value="autorisasjonsfeil"/>
                        </restriction>
                    </simpleType>
                </element>
                <element name="statustekst" type="string"/>
                <group ref="tns:brukerinfo"/>
            </sequence>
        </complexType>
    </element>

    <element name="hentBrukere">
        <complexType>
            <sequence>
                <element name="kundenr" type="int" minOccurs="0"/>
                <element name="mottakernr" type="string" minOccurs="0"/>
                <element name="grupperingsid" type="string" minOccurs="0"/>
                <!--any minOccurs="0" maxOccurs="unbounded" processContents="lax"/--> <!-- åpent for å legge til flere felt (fungerer ikke pga minOccurs=0 på element før dette) -->
            </sequence>
        </complexType>
    </element>

    <element name="Brukere">
        <complexType>
            <sequence>
                <element name="statuskode">
                    <simpleType>
                        <restriction base="string">
                            <enumeration value="OK"/>
                            <enumeration value="mangler_autorisasjon"/>
                        </restriction>
                    </simpleType>
                </element>
                <element name="statustekst" type="string"/>
                <element name="brukere" minOccurs="0">
                    <complexType>
                        <sequence>
                            <element name="bruker" minOccurs="0" maxOccurs="unbounded">
                                <complexType>
                                    <sequence>
                                        <group ref="tns:brukerinfo"/>
                                    </sequence>
                                </complexType>
                            </element>
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>

</schema>
