<?xml version="1.0"?>
<schema
        xmlns:tns="http://ws.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/Tinglysing.xsd"
        xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://ws.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/Tinglysing.xsd"
        xmlns:altinn="http://www.altinn.no/services/ServiceEngine/Broker/2015/06"
        xmlns:receipt="http://www.altinn.no/services/Intermediary/Receipt/2009/10"
        xmlns:Kartverket="http://kartverket.no/grunnbok/wsapi/v2/domain/innsending"
        elementFormDefault="qualified"
>
    <!-- ============== -->
    <!-- Fra Altinn     -->
    <!-- ============== -->

    <import
            namespace="http://www.altinn.no/services/ServiceEngine/Broker/2015/06"
            schemaLocation="https://ws-test.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/include/AltinnMaster.xsd"/>

    <import
            namespace="http://www.altinn.no/services/Intermediary/Receipt/2009/10"
            schemaLocation="https://ws-test.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/include/wwwReceipt.xsd"/>

    <import
            namespace="http://www.altinn.no/services/common/fault/2009/10"
            schemaLocation="https://ws-test.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/include/AltinnFault.xsd"/>

    <!-- ============== -->

    <!-- ============== -->
    <!-- Fra Kartverket -->
    <!-- ============== -->
    <import
            namespace="http://kartverket.no/grunnbok/wsapi/v2/domain/innsending"
            schemaLocation="https://ws-test.infotorg.no/xml/ErgoGroup/Tinglysing/2017-06-08/include/innsending.xsd"/>
    <!-- ============== -->

    <element name="hentCancelTinglys" type="tns:cancelTinglys"/>
    <element name="CancelTinglys" type="tns:cancelTinglysResponse"/>

    <element name="hentGeneratePantedokument" type="tns:generatePantedokument"/>
    <element name="GeneratePantedokument" type="tns:generatePantedokumentResponse"/>

    <element name="hentGenerateSletting" type="tns:generateSletting"/>
    <element name="GenerateSletting" type="tns:generateSlettingResponse"/>

    <element name="hentGetArtifacts" type="tns:getArtifacts"/>
    <element name="GetArtifacts" type="tns:getArtifactsResponse"/>

    <element name="hentGetStatus" type="tns:getStatus"/>
    <element name="GetStatus" type="tns:getStatusResponse"/>

    <element name="hentGetUrl" type="tns:getUrl"/>
    <element name="GetUrl" type="tns:getUrlResponse"/>

    <element name="hentRemove" type="tns:remove"/>
    <element name="Remove" type="tns:removeResponse"/>

    <element name="hentSetSDO" type="tns:setSDO"/>
    <element name="SetSDO" type="tns:setSDOResponse"/>

    <element name="hentGenerateFoelgebrev" type="tns:generateFoelgebrev"/>
    <element name="GenerateFoelgebrev" type="tns:generateFoelgebrevResponse"/>

    <element name="hentSetSDOlist" type="tns:setSDOlist"/>
    <element name="SetSDOlist" type="tns:setSDOlistResponse"/>

    <element name="hentTinglys" type="tns:tinglys"/>
    <element name="Tinglys" type="tns:tinglysResponse"/>

    <element name="hentTinglysSdo" type="tns:tinglysSdo"/>
    <element name="TinglysSdo" type="tns:tinglysSdoResponse"/>

    <element name="hentSendPriorityPrerequisiteDocumentToBroker" type="tns:sendPriorityPrerequisiteDocumentToBroker"/>
    <element name="SendPriorityPrerequisiteDocumentToBroker" type="tns:sendPriorityPrerequisiteDocumentToBrokerResponse"/>

    <element name="hentSendToBroker" type="tns:sendToBroker"/>
    <element name="SendToBroker" type="tns:sendToBrokerResponse"/>

    <element name="hentTinglysUsignert" type="tns:tinglysUsignert"/>
    <element name="TinglysUsignert" type="tns:tinglysUsignertResponse"/>

    <element name="hentValidate" type="Kartverket:ForsendelseKartverket"/>
    <element name="validerResponse" type="tns:validerResponse"/>

    <element name="hentAktoer" type="tns:Aktoer"/>
    <element name="AktoerResponse" type="tns:aktoerResponse"/>

    <!-- UploadFile utfører initiateBrokerService og UploadFileStreamed, eventuelt med Validate først (opsjon) -->
    <element name="hentUploadFile" type="tns:uploadFile"/>
    <element name="UploadFile" type="tns:UploadFileResponse"/>

    <!-- DownloadFile utfører GetAvailableFiles og DownloadFileStreamed -->
    <element name="hentDownloadFile" type="tns:downloadFile"/>
    <element name="DownloadFile" type="tns:downloadFileResponse"/>

    <element name="hentInitiateBrokerService" type="tns:initiateBrokerService"/>
    <element name="InitiateBrokerService" type="altinn:InitiateBrokerServiceECResponse"/>

    <element name="hentGetReceipt" type="tns:getReceipt"/>
    <element name="GetReceipt" type="receipt:GetReceiptECV2Response"/>

    <element name="hentUploadFileStreamed" type="tns:uploadFile"/>
    <element name="UploadFileStreamed" type="altinn:UploadFileStreamedResponse"/>

    <element name="hentCheckIfAvailableFiles" type="tns:checkIfAvailableFiles"/>
    <element name="CheckIfAvailableFiles" type="altinn:CheckIfAvailableFilesECResponse"/>

    <element name="hentGetAvailableFiles" type="tns:getAvailableFiles"/>
    <element name="GetAvailableFiles" type="altinn:GetAvailableFilesResponse"/>

    <element name="hentDownloadFileStreamed" type="tns:downloadFileStreamed"/>
    <element name="DownloadFileStreamed" type="altinn:DownloadFileStreamedECResponse"/>

    <element name="hentConfirmDownloaded" type="tns:confirmDownloaded"/>
    <element name="ConfirmDownloaded" type="altinn:ConfirmDownloadedECResponse"/>

    <element name="hentDokumentURL" type="tns:dokumentURL"/>
    <element name="DokumentURL" type="tns:dokumentURLResponse"/>

    <element name="AltinnFeil" type="tns:AltinnFault"/>

    <complexType name="validerResponse">
        <sequence>
            <element ref="Kartverket:forsendelsesstatus"/>
        </sequence>
    </complexType>

    <complexType name="Aktoer">
        <sequence>
            <element name="orgnr" type="int" minOccurs="0"/>
        </sequence>
    </complexType>

    <complexType name="aktoerResponse">
        <sequence>
            <element name="Aktoer" form="unqualified" minOccurs="0" maxOccurs="unbounded">
                <complexType>
                    <sequence>
                        <element name="orgnr" form="unqualified" type="int"/>
                        <element name="mottaksliste" form="unqualified">
                            <complexType>
                                <sequence>
                                    <element name="meldingstype" form="unqualified" type="string" minOccurs="1" maxOccurs="unbounded"/>
                                </sequence>
                            </complexType>
                        </element>
                        <element name="sendeliste" minOccurs="0" form="unqualified">
                            <complexType>
                                <sequence>
                                    <element name="meldingstype" form="unqualified" type="string" minOccurs="0" maxOccurs="unbounded"/>
                                </sequence>
                            </complexType>
                        </element>
                        <element name="roller" minOccurs="0" form="unqualified">
                            <complexType>
                                <sequence>
                                    <element name="rolle" form="unqualified" type="string" minOccurs="0" maxOccurs="unbounded"/>
                                </sequence>
                            </complexType>
                        </element>
                    </sequence>
                </complexType>
            </element>
        </sequence>
    </complexType>

    <complexType name="remove">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="removeResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="statusResponse">
        <sequence>
            <element form="unqualified" minOccurs="0" name="status" type="tns:documentStatus"/>
            <element form="unqualified" minOccurs="0" name="type" type="string"/>
            <element form="unqualified" minOccurs="0" name="documentVersion" type="string"/>
            <element form="unqualified" minOccurs="0" name="documentMessages" type="tns:documentMessages"/>
        </sequence>
    </complexType>

    <complexType name="documentStatus">
        <sequence>
            <element form="unqualified" minOccurs="0" name="created" type="dateTime"/>
            <element form="unqualified" minOccurs="0" name="documentStatusTinglysing" type="tns:documentStatusTinglysing"/>
            <element form="unqualified" name="id" type="long"/>
            <element form="unqualified" minOccurs="0" name="statusCode" type="tns:documentStatusCode"/>
        </sequence>
    </complexType>

    <complexType name="documentStatusTinglysing">
        <sequence>
            <element form="unqualified" minOccurs="0" name="dokumentAar" type="int"/>
            <element form="unqualified" minOccurs="0" name="dokumentNr" type="long"/>
            <element form="unqualified" minOccurs="0" name="embete" type="string"/>
            <element form="unqualified" minOccurs="0" name="foeringsdag" type="string"/>
            <element form="unqualified" minOccurs="0" name="foeringstidspunkt" type="string"/>
            <element form="unqualified" minOccurs="0" name="rettsstiftelser" type="tns:rettstiftelseInfoList"/>
            <element form="unqualified" minOccurs="0" name="system" type="string"/>
        </sequence>
    </complexType>

    <complexType name="rettstiftelseInfoList">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" name="rettstiftelse" type="tns:rettsstiftelseInfo"/>
        </sequence>
    </complexType>

    <complexType name="rettsstiftelseInfo">
        <sequence>
            <element form="unqualified" name="rettsstiftelseNummer" type="int"/>
            <element form="unqualified" name="dokumenttypeTekst" type="string"/>
            <element form="unqualified" name="dokumenttypeKode" type="string"/>
        </sequence>
    </complexType>

    <complexType name="documentMessages">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="documentMessage" type="tns:documentMessage"/>
        </sequence>
    </complexType>

    <complexType name="documentMessage">
        <sequence>
            <element form="unqualified" minOccurs="0" name="detail" type="string"/>
            <element form="unqualified" minOccurs="0" name="errorGroup" type="tns:ErrorGroup"/>
            <element form="unqualified" minOccurs="0" name="message" type="string"/>
            <element form="unqualified" name="errorCode" type="int"/>
        </sequence>
    </complexType>

    <complexType name="getArtifacts">
        <sequence>
            <element name="documentId" type="long"/>
            <element minOccurs="0" name="artifaktscope" type="tns:ArtifactScope"/>
        </sequence>
    </complexType>

    <complexType name="getArtifactsResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:ArtifactResponse"/>
        </sequence>
    </complexType>

    <complexType name="ArtifactResponse">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="artifacts" type="tns:Artifact"/>
        </sequence>
        <attribute name="dokumentId" type="long" use="required"/>
    </complexType>

    <complexType name="Artifact">
        <sequence/>
        <attribute name="type" type="tns:ArtifactType" use="required"/>
        <attribute name="format" type="tns:documentFormat" use="required"/>
        <attribute name="base64content" type="base64Binary"/>
    </complexType>

    <complexType name="tinglys">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="tinglysResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="generateSletting">
        <sequence>
            <element minOccurs="0" name="sletting" type="tns:sletteData"/>
        </sequence>
    </complexType>

    <complexType name="sletteData">
        <sequence/>
        <attribute name="kommunenummer" type="int"/>
        <attribute name="aar" type="int" use="required"/>
        <attribute name="dokumentnummer" type="int" use="required"/>
        <attribute name="referanseSletting" type="string" use="required"/>
    </complexType>

    <complexType name="generateSlettingResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:dokumentResponse"/>
        </sequence>
    </complexType>

    <complexType name="dokumentResponse">
        <sequence>
            <element form="unqualified" minOccurs="0" name="status" type="tns:documentStatus"/>
            <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="documentHolder" type="tns:documentHolder"/>
            <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="messages" nillable="true" type="tns:documentMessage"/>
            <element form="unqualified" minOccurs="0" name="documentVersion" type="string"/>
        </sequence>
    </complexType>

    <complexType name="documentHolder">
        <sequence>
            <element form="unqualified" minOccurs="0" name="content" type="base64Binary"/>
            <element form="unqualified" minOccurs="0" name="format" type="tns:documentFormat"/>
            <element form="unqualified" minOccurs="0" name="type" type="tns:documentType"/>
        </sequence>
    </complexType>

    <complexType name="getStatus">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="getStatusResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="setSDO">
        <sequence>
            <element name="documentId" type="long"/>
            <element minOccurs="0" name="sdo" type="base64Binary"/>
            <element name="ferdigSignert" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="setSDOResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="setSDOlist">
        <sequence>
            <element minOccurs="0" name="sdoList" type="tns:sdoList"/>
        </sequence>
    </complexType>
    <complexType name="sdoList">
        <sequence>
            <element maxOccurs="unbounded" name="sdoData" type="tns:sdoData"/>
        </sequence>
    </complexType>
    <complexType name="sdoData">
        <sequence>
            <element name="documentID" type="long"/>
            <element name="sdo" type="base64Binary"/>
            <element name="ferdigSignert" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="setSDOlistResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponseList"/>
        </sequence>
    </complexType>
    <complexType name="statusResponseList">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" name="StatusResponseList" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="generateFoelgebrev">
        <sequence>
            <element minOccurs="0" name="documentList" type="tns:documentList"/>
        </sequence>
    </complexType>
    <complexType name="documentList">
        <sequence/>
        <attribute name="documents" use="required">
            <simpleType>
                <list itemType="long"/>
            </simpleType>
        </attribute>
    </complexType>
    <complexType name="generateFoelgebrevResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:dokumentResponse"/>
        </sequence>
    </complexType>

    <complexType name="generatePantedokument">
        <sequence>
            <element minOccurs="0" name="pantedokument" type="tns:pantedokumentData"/>
            <element minOccurs="0" name="options" type="tns:pantedokumentOptions"/>
        </sequence>
    </complexType>

    <complexType name="pantedokumentData">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" name="pantebeloep" type="tns:beloep"/>
            <element form="unqualified" name="eiendommer">
                <complexType>
                    <sequence>
                        <choice maxOccurs="unbounded">
                            <element form="unqualified" name="matrikkel" type="tns:Matrikkel"/>
                            <element form="unqualified" name="borettsandel" type="tns:Borettsandel"/>
                        </choice>
                    </sequence>
                </complexType>
            </element>
            <element form="unqualified" name="dokumentFlyt" type="tns:dokumentFlyt"/>
            <element form="unqualified" name="refinansiering" type="boolean"/>
            <element default="true" form="unqualified" minOccurs="0" name="fullsignert" type="boolean"/>
            <element form="unqualified" minOccurs="0" name="panthavere">
                <complexType>
                    <sequence>
                        <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="panthaverID" type="string"/>
                    </sequence>
                </complexType>
            </element>
            <element form="unqualified" minOccurs="0" name="rekvirentID" type="string"/>
        </sequence>
        <attribute name="referansePantedokument" type="string" use="required"/>
    </complexType>

    <complexType name="beloep">
        <sequence/>
        <attribute name="valuta" type="tns:Valuta" use="required"/>
        <attribute name="verdi" type="long" use="required"/>
    </complexType>

    <complexType name="Matrikkel">
        <complexContent>
            <extension base="tns:eiendom">
                <sequence/>
                <attribute name="kommunenr" type="string" use="required"/>
                <attribute name="gaardsnr" type="string" use="required"/>
                <attribute name="bruksnr" type="string" use="required"/>
                <attribute name="festenr" type="string"/>
                <attribute name="seksjonsnr" type="string"/>
                <attribute name="eiendomsnivaa" type="tns:eiendomsnivaa" use="required"/>
            </extension>
        </complexContent>
    </complexType>

    <complexType abstract="true" name="eiendom">
        <sequence>
            <element form="unqualified" minOccurs="0" name="rettighetshavere">
                <complexType>
                    <sequence>
                        <choice maxOccurs="unbounded">
                            <element form="unqualified" name="person" type="tns:person"/>
                            <element form="unqualified" name="organisasjon" type="tns:organisasjonMedSignaturBerettigede"/>
                        </choice>
                    </sequence>
                </complexType>
            </element>
            <element form="unqualified" name="hjemmelshavere">
                <complexType>
                    <sequence>
                        <element form="unqualified" maxOccurs="unbounded" name="hjemmelshaver" type="tns:hjemmelshaver"/>
                    </sequence>
                </complexType>
            </element>
        </sequence>
        <attribute name="totalteller" type="int"/>
        <attribute name="totalnevner" type="int"/>
    </complexType>

    <complexType name="person">
        <complexContent>
            <extension base="tns:rettssubjekt">
                <sequence>
                    <element form="unqualified" name="fornavn" type="string"/>
                    <element form="unqualified" name="etternavn" type="string"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

    <complexType abstract="true" name="rettssubjekt">
        <sequence/>
        <attribute name="id" type="string" use="required"/>
    </complexType>

    <complexType name="organisasjonMedSignaturBerettigede">
        <complexContent>
            <extension base="tns:organisasjon">
                <sequence>
                    <element form="unqualified" maxOccurs="unbounded" name="signaturBerettiget" type="tns:person"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

    <complexType name="organisasjon">
        <complexContent>
            <extension base="tns:rettssubjekt">
                <sequence>
                    <element form="unqualified" name="navn" type="string"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

    <complexType name="hjemmelshaver">
        <complexContent>
            <extension base="tns:personAndel">
                <choice>
                    <element form="unqualified" name="person" type="tns:personMedSivilstand"/>
                    <element form="unqualified" name="personUtenSivilstand" type="tns:person"/>
                    <element form="unqualified" name="organisasjon" type="tns:organisasjonMedSignaturBerettigede"/>
                    <element form="unqualified" name="organisasjonUtenSignaturberettigede" type="tns:organisasjon"/>
                </choice>
            </extension>
        </complexContent>
    </complexType>

    <complexType abstract="true" name="personAndel">
        <sequence/>
        <attribute name="teller" type="int" use="required"/>
        <attribute name="nevner" type="int" use="required"/>
    </complexType>

    <complexType name="personMedSivilstand">
        <complexContent>
            <extension base="tns:person">
                <sequence>
                    <element form="unqualified" name="sivilstand" type="tns:sivilstand"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

    <complexType name="sivilstand">
        <sequence>
            <element form="unqualified" minOccurs="0" name="ektefelle" type="tns:person"/>
        </sequence>
        <attribute name="gift" type="boolean" use="required"/>
        <attribute name="beggeHjemmelshavere" type="boolean" use="required"/>
        <attribute name="fellesBolig" type="boolean" use="required"/>
    </complexType>

    <complexType name="Borettsandel">
        <complexContent>
            <extension base="tns:eiendom">
                <sequence/>
                <attribute name="orgnr" type="string" use="required"/>
                <attribute name="andelsnr" type="string" use="required"/>
                <attribute name="borettslagnavn" type="string" use="required"/>
            </extension>
        </complexContent>
    </complexType>

    <complexType name="pantedokumentOptions">
        <sequence>
            <element default="false" form="unqualified" minOccurs="0" name="startSurveillance" type="boolean"/>
            <element default="false" form="unqualified" minOccurs="0" name="returnPdf" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="generatePantedokumentResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:dokumentResponse"/>
        </sequence>
    </complexType>

    <complexType name="tinglysSdo">
        <sequence>
            <element name="documentId" type="long"/>
            <element minOccurs="0" name="sdo" type="base64Binary"/>
        </sequence>
    </complexType>

    <complexType name="tinglysSdoResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="getUrl">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="getUrlResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:urlResponse"/>
        </sequence>
    </complexType>

    <complexType name="urlResponse">
        <sequence>
            <element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="urlList" nillable="true" type="tns:documentUrl"/>
        </sequence>
    </complexType>

    <complexType name="documentUrl">
        <sequence>
            <element form="unqualified" minOccurs="0" name="type" type="tns:documentUrlType"/>
            <element form="unqualified" minOccurs="0" name="url" type="string"/>
        </sequence>
    </complexType>

    <complexType name="cancelTinglys">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="cancelTinglysResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="sendToBroker">
        <sequence>
            <element name="documentId" type="long"/>
            <element minOccurs="0" name="sdo" type="base64Binary"/>
            <element minOccurs="0" name="priorityPrerequisiteDocument" type="base64Binary"/>
            <element minOccurs="0" name="epsSettlementID" type="string"/>
            <element minOccurs="0" name="organizationNumberAltinnShipment" type="string"/>
        </sequence>
    </complexType>

    <complexType name="sendToBrokerResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="tinglysUsignert">
        <sequence>
            <element name="documentId" type="long"/>
        </sequence>
    </complexType>

    <complexType name="tinglysUsignertResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="sendPriorityPrerequisiteDocumentToBroker">
        <sequence>
            <element name="documentId" type="long"/>
            <element name="priorityPrerequisiteDocument" type="base64Binary"/>
        </sequence>
    </complexType>

    <complexType name="sendPriorityPrerequisiteDocumentToBrokerResponse">
        <sequence>
            <element minOccurs="0" name="return" type="tns:statusResponse"/>
        </sequence>
    </complexType>

    <complexType name="initiateBrokerService">
        <sequence>
            <element name="SendersReference" nillable="true" type="string"/>
            <element name="Operation" nillable="true" type="string"/>
        </sequence>
    </complexType>

    <complexType name="InitiateBrokerServiceBasicResponse">
        <sequence>
            <element form="unqualified" minOccurs="0" name="InitiateBrokerServiceBasicResult" nillable="true" type="string"/>
        </sequence>
    </complexType>

    <complexType name="getReceipt">
        <sequence>
            <element name="ReceiptId" minOccurs="0" type="int"/>
        </sequence>
    </complexType>

    <complexType name="uploadFile">
        <sequence>
            <element name="SendersReference" type="string"/>
            <element name="Filename" type="string"/>
            <element name="AutoValidate" minOccurs="0" type="boolean"/>
            <element minOccurs="1" name="ForsendelseKartverket" type="Kartverket:ForsendelseKartverket"/>
        </sequence>
    </complexType>

    <complexType name="UploadFileResponse">
        <sequence>
            <choice>
                <element name="validerResponse" type="tns:validerResponse"/>
                <element minOccurs="0" name="Result">
                    <complexType>
                        <sequence>
                            <element name="ReceiptId" type="int"/>
                            <element name="ReceiptStatusCode" type="string"/>
                            <element name="ReceiptText" type="string"/>
                        </sequence>
                    </complexType>
                </element>
            </choice>
        </sequence>
    </complexType>

    <complexType name="downloadFile">
        <sequence>
            <element name="SendersReference" type="string"/>
            <element name="ReceiptId" minOccurs="0" type="int"/>
            <element name="LinkTilUtskrift" minOccurs="0" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="downloadFileResponse">
        <sequence>
            <choice>
                <sequence>
                    <element minOccurs="1" name="DownloadFileContent" type="base64Binary"/>
                    <element minOccurs="1" name="FileReference" type="string"/>
                </sequence>
                <element minOccurs="1" name="GetReceipt" type="receipt:GetReceiptECV2Response"/>
            </choice>
        </sequence>
    </complexType>

    <complexType name="downloadFileStreamed">
        <sequence>
            <element minOccurs="1" name="FileReference" type="string"/>
            <element name="LinkTilUtskrift" minOccurs="0" type="string"/>
        </sequence>
    </complexType>

    <complexType name="confirmDownloaded">
        <sequence>
            <element minOccurs="1" name="FileReference" type="string"/>
        </sequence>
    </complexType>

    <complexType name="uploadStatus">
        <sequence>
            <element minOccurs="0" name="status" type="string"/>
        </sequence>
    </complexType>

    <complexType name="checkIfAvailableFiles">
        <sequence>
            <element minOccurs="1" name="Recipients" type="tns:ArrayOfstring"/>
        </sequence>
    </complexType>

    <complexType name="getAvailableFiles">
    </complexType>

    <complexType name="dokumentURL">
        <sequence>
            <element minOccurs="1" name="url" type="string"/>
        </sequence>
    </complexType>

    <complexType name="dokumentURLResponse">
        <sequence>
            <element minOccurs="0" name="dokument" nillable="true" type="base64Binary"/>
        </sequence>
    </complexType>


    <simpleType name="documentStatusCode">
        <restriction base="string">
            <enumeration value="SLETTET"/>
            <enumeration value="OPPRETTET"/>
            <enumeration value="UNDER_PART_SIGNERING"/>
            <enumeration value="PART_SIGNERT"/>
            <enumeration value="UNDER_SIGNERING"/>
            <enumeration value="FJERNET_FRA_SIGNERING"/>
            <enumeration value="SIGNERT"/>
            <enumeration value="SENDT_TIL_TINGLYSING"/>
            <enumeration value="UNDER_TINGLYSING"/>
            <enumeration value="SENDT_TIL_MEGLER"/>
            <enumeration value="TINGLYST"/>
            <enumeration value="TINGLYSING_FEILET"/>
            <enumeration value="FJERNET_FRA_TINGLYSING"/>
        </restriction>
    </simpleType>

    <simpleType name="ErrorGroup">
        <restriction base="string">
            <enumeration value="INTERNFEIL"/>
            <enumeration value="VALIDERINGSFEIL"/>
            <enumeration value="EKSTERNFEIL"/>
            <enumeration value="UKJENT_FEIL"/>
            <enumeration value="INPUTFEIL"/>
            <enumeration value="INFOMELDING"/>
        </restriction>
    </simpleType>

    <simpleType name="ArtifactScope">
        <restriction base="string">
            <enumeration value="ALLE"/>
            <enumeration value="DOKUMENT"/>
            <enumeration value="PANTEATTEST"/>
            <enumeration value="GRUNNBOKSUTSKRIFT"/>
            <enumeration value="OMSLAG"/>
            <enumeration value="RECEIPT"/>
        </restriction>
    </simpleType>

    <simpleType name="ArtifactType">
        <restriction base="string">
            <enumeration value="DOKUMENT"/>
            <enumeration value="PANTEATTEST"/>
            <enumeration value="GRUNNBOKSUTSKRIFT"/>
            <enumeration value="OMSLAG"/>
        </restriction>
    </simpleType>

    <simpleType name="documentFormat">
        <restriction base="string">
            <enumeration value="BIDXML"/>
            <enumeration value="SDO"/>
            <enumeration value="PDF"/>
            <enumeration value="TEXT"/>
        </restriction>
    </simpleType>

    <simpleType name="documentType">
        <restriction base="string">
            <enumeration value="PANTEDOKUMENT"/>
            <enumeration value="SLETTING"/>
            <enumeration value="FOELGEBREV"/>
        </restriction>
    </simpleType>

    <simpleType name="Valuta">
        <restriction base="string">
            <enumeration value="ATS"/>
            <enumeration value="AUD"/>
            <enumeration value="BEC"/>
            <enumeration value="BEF"/>
            <enumeration value="BGL"/>
            <enumeration value="BGN"/>
            <enumeration value="BRC"/>
            <enumeration value="CAD"/>
            <enumeration value="CHF"/>
            <enumeration value="CSK"/>
            <enumeration value="CYP"/>
            <enumeration value="CZK"/>
            <enumeration value="DEM"/>
            <enumeration value="DKK"/>
            <enumeration value="ECU"/>
            <enumeration value="EEK"/>
            <enumeration value="ESC"/>
            <enumeration value="ESP"/>
            <enumeration value="EUR"/>
            <enumeration value="FIM"/>
            <enumeration value="FRF"/>
            <enumeration value="GBP"/>
            <enumeration value="GRD"/>
            <enumeration value="HKD"/>
            <enumeration value="HUF"/>
            <enumeration value="IEP"/>
            <enumeration value="ISK"/>
            <enumeration value="ITL"/>
            <enumeration value="JPY"/>
            <enumeration value="KRW"/>
            <enumeration value="LTL"/>
            <enumeration value="LUF"/>
            <enumeration value="LVL"/>
            <enumeration value="MTL"/>
            <enumeration value="NLG"/>
            <enumeration value="NOK"/>
            <enumeration value="NZD"/>
            <enumeration value="PKR"/>
            <enumeration value="PLN"/>
            <enumeration value="PLZ"/>
            <enumeration value="PTE"/>
            <enumeration value="ROL"/>
            <enumeration value="SDR"/>
            <enumeration value="SEK"/>
            <enumeration value="SGD"/>
            <enumeration value="SIT"/>
            <enumeration value="SKK"/>
            <enumeration value="SUR"/>
            <enumeration value="SYP"/>
            <enumeration value="THB"/>
            <enumeration value="TRL"/>
            <enumeration value="TWD"/>
            <enumeration value="USD"/>
            <enumeration value="XEU"/>
            <enumeration value="YUD"/>
            <enumeration value="ZAR"/>
            <enumeration value="SPE"/>
        </restriction>
    </simpleType>

    <simpleType name="eiendomsnivaa">
        <restriction base="string">
            <enumeration value="G"/>
            <enumeration value="F"/>
            <enumeration value="F_1"/>
            <enumeration value="F_2"/>
            <enumeration value="F_3"/>
            <enumeration value="F_4"/>
            <enumeration value="F_5"/>
            <enumeration value="F_6"/>
            <enumeration value="F_7"/>
            <enumeration value="F_8"/>
            <enumeration value="F_9"/>
        </restriction>
    </simpleType>

    <simpleType name="dokumentFlyt">
        <restriction base="string">
            <enumeration value="DOKUMENT_TIL_TINGLYSING"/>
            <enumeration value="DOKUMENT_TIL_OPPGJOER"/>
            <enumeration value="DOKUMENT_TIL_EKSISTERENDE_OPPGJOER"/>
        </restriction>
    </simpleType>

    <simpleType name="documentUrlType">
        <restriction base="string">
            <enumeration value="DOCUMENT"/>
        </restriction>
    </simpleType>

    <element name="FellesDokumentException" type="tns:FellesDokumentException"/>
    <complexType name="FellesDokumentException">
        <sequence>
            <element name="exceptionId" nillable="true" type="string"/>
            <element minOccurs="0" name="documentMessages" nillable="true" type="tns:documentMessages"/>
            <element minOccurs="0" name="message" type="string"/>
        </sequence>
    </complexType>

    <!-- ######################### Hendelse ######################################-->

    <!-- HendelseException - Mangel fra Ambita ?? -->
    <element name="HendelseException" type="tns:HendelseException"/>
    <complexType name="HendelseException">
        <sequence>
            <element name="exceptionId" nillable="true" type="string"/>
            <element maxOccurs="unbounded" minOccurs="0" name="hendelseMessage" type="tns:hendelseMessage"/>
            <element minOccurs="0" name="message" type="string"/>
        </sequence>
    </complexType>
    <complexType name="hendelseMessage">
        <sequence>
            <element form="unqualified" minOccurs="0" name="detail" type="string"/>
            <element form="unqualified" minOccurs="0" name="errorGroup" type="tns:ErrorGroup"/>
            <element form="unqualified" minOccurs="0" name="message" type="string"/>
            <element form="unqualified" name="errorCode" type="int"/>
        </sequence>
    </complexType>

    <element name="hentListHendelser" type="tns:listHendelser"/>
    <element name="ListHendelser" type="tns:listHendelserResponse"/>

    <element name="hentListHendelserMedStatus" type="tns:listHendelserMedStatus"/>
    <element name="ListHendelserMedStatus" type="tns:listHendelserMedStatusResponse"/>

    <complexType name="listHendelser">
        <sequence>
            <element name="fraHendelsesId" type="long"/>
            <element name="maxAntall" type="long"/>
            <element maxOccurs="unbounded" minOccurs="0" name="statuser" type="tns:wsDokumentStatus"/>
            <element maxOccurs="unbounded" minOccurs="0" name="typer" type="tns:hendelsesType"/>
            <element minOccurs="0" name="kunEksterne" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="listHendelserResponse">
        <sequence>
            <element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:hendelse"/>
        </sequence>
    </complexType>

    <complexType name="hendelse">
        <sequence>
            <element form="unqualified" name="id" type="long"/>
            <element form="unqualified" name="type" type="tns:hendelsesType"/>
            <element form="unqualified" name="dokumentId" type="long"/>
            <element form="unqualified" minOccurs="0" name="eksternEierId" type="string"/>
            <element form="unqualified" name="nyStatus" type="tns:wsDokumentStatus"/>
            <element form="unqualified" minOccurs="0" name="gammelStatus" type="tns:wsDokumentStatus"/>
            <element form="unqualified" name="beskrivelse" type="string"/>
            <element form="unqualified" name="opprettet" type="dateTime"/>
            <element form="unqualified" name="eksterntOpprettetDokument" type="boolean"/>
            <element form="unqualified" name="dokumentRef" type="string"/>
        </sequence>
    </complexType>

    <complexType name="listHendelserMedStatus">
        <sequence>
            <element name="fraHendelsesId" type="long"/>
            <element name="maxAntall" type="long"/>
            <element maxOccurs="unbounded" minOccurs="0" name="statuser" type="tns:wsDokumentStatus"/>
            <element maxOccurs="unbounded" minOccurs="0" name="typer" type="tns:hendelsesType"/>
            <element minOccurs="0" name="kunEksterne" type="boolean"/>
        </sequence>
    </complexType>

    <complexType name="listHendelserMedStatusResponse">
        <sequence>
            <element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:hendelseMedStatus"/>
        </sequence>
    </complexType>

    <complexType name="hendelseMedStatus">
        <sequence>
            <element form="unqualified" name="hendelse" type="tns:hendelse"/>
            <element form="unqualified" name="status" type="tns:documentStatus_hendelse"/>
        </sequence>
    </complexType>

    <complexType name="documentStatus_hendelse">
        <sequence>
            <element form="unqualified" minOccurs="0" name="created" type="dateTime"/>
            <element form="unqualified" minOccurs="0" name="documentStatusTinglysing" type="tns:documentStatusTinglysing"/>
            <element form="unqualified" name="id" type="long"/>
            <element form="unqualified" minOccurs="0" name="statusCode" type="tns:documentStatusCode"/>
        </sequence>
    </complexType>

    <simpleType name="wsDokumentStatus">
        <restriction base="string">
            <enumeration value="UTFYLT"/>
            <enumeration value="OPPRETTET"/>
            <enumeration value="UNDER_PART_SIGNERING"/>
            <enumeration value="PART_SIGNERT"/>
            <enumeration value="UNDER_SIGNERING"/>
            <enumeration value="FJERNET_FRA_SIGNERING"/>
            <enumeration value="SIGNERT"/>
            <enumeration value="UNDER_TINGLYSING"/>
            <enumeration value="TINGLYST"/>
            <enumeration value="TINGLYSING_FEILET"/>
            <enumeration value="FJERNET_FRA_TINGLYSING"/>
        </restriction>
    </simpleType>

    <simpleType name="hendelsesType">
        <restriction base="string">
            <enumeration value="STATUSOVERGANG"/>
            <enumeration value="DOKUMENT_OPPRETTET"/>
            <enumeration value="DOKUMENT_FJERNET"/>
        </restriction>
    </simpleType>

    <complexType name="AltinnFault">
        <sequence>
            <element xmlns:fault="http://www.altinn.no/services/common/fault/2009/10" ref="fault:AltinnFault"/>
        </sequence>
    </complexType>

    <complexType name="ArrayOfstring">
        <sequence>
            <element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="string"/>
        </sequence>
    </complexType>
</schema>
