﻿<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eFinanceira.gov.br/schemas/retornoConsultaInformacoesRerct/v1_2_0" targetNamespace="http://www.eFinanceira.gov.br/schemas/retornoConsultaInformacoesRerct/v1_2_0" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../comum/xmldsig-core-schema.xsd"/>
<xs:element name="eFinanceira">
   <xs:annotation>
      <xs:documentation>Elemento raiz e-Financeira.</xs:documentation>
    </xs:annotation>	
	<xs:complexType>
		<xs:sequence>
			<xs:element name="retornoConsultaInformacoesRerct">
			
			  <xs:annotation>
				<xs:documentation>Define a estrutura do retorno da consulta de informações Rerct.</xs:documentation>
			  </xs:annotation>			  
			  <xs:complexType>
				  <xs:sequence>				  
					<xs:element name="dadosProcessamento" type="TDadosProcessamento" minOccurs="1" maxOccurs="1">
					  <xs:annotation>
						<xs:documentation>Status do processamento da consulta.</xs:documentation>
					  </xs:annotation>
					</xs:element>
          <xs:element name="dadosEvento" type="TDadosEvento" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Dados do Evento Rerct.</xs:documentation>
            </xs:annotation>
          </xs:element>         
          </xs:sequence>
			  </xs:complexType>
			
			</xs:element>		
		</xs:sequence>	
	</xs:complexType>
	
</xs:element>

  <xs:complexType name="TRegistroOcorrencias">
    <xs:annotation>
      <xs:documentation>Define uma ocorrencia encontrada no processamento da Consulta.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ocorrencias" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="tipo" minOccurs="1" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>Contém o tipo da ocorrencia: 1 - Aviso, 2 - Erro</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:integer">
                  <xs:totalDigits value="1"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="localizacaoErroAviso" minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>Campo onde ocorreu o aviso/erro.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="100" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="codigo" minOccurs="1" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>Codigo do status da resposta do processamento da Consulta</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="6" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="descricao" minOccurs="1" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>Descricao literal da resposta do processamento da Consulta</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:minLength value="0"/>
                  <xs:maxLength value="255" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TDadosEvento">
    <xs:sequence>

      <xs:element name="identificacaoEvento" type="TIdentificacaoEvento" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identificação do Evento</xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="identificacaoDeclarado" type="TIdentificacaoDeclarado" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identificação do Declarado</xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="identificacaoTitular" type="TIdentificacaoTitular" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Identificação do Titular</xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="beneficiarioFinal" type="TBeneficiarioFinal" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Informações do Beneficiário Final</xs:documentation>
        </xs:annotation>
      </xs:element>

    </xs:sequence>
  </xs:complexType>



<xs:complexType name="TDadosProcessamento">
  <xs:sequence>
	  <xs:element name="dataHoraProcessamento" minOccurs="1" maxOccurs="1">
		  <xs:annotation>
			<xs:documentation>Data e hora do processamento da solicitação</xs:documentation>
		  </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="19"/>
        </xs:restriction>
      </xs:simpleType>
	  </xs:element>					  
	  <xs:element name="cdStatusResposta" minOccurs="1" maxOccurs="1">
		<xs:annotation>
		  <xs:documentation>Código do status da resposta do processamento da solicitação</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
		  <xs:restriction base="xs:string">
			<xs:length value="6"/>
		  </xs:restriction>
		</xs:simpleType>
	  </xs:element>	
	  <xs:element name="descResposta" minOccurs="1" maxOccurs="1">
		<xs:annotation>
		  <xs:documentation>Descrição literal do status da resposta</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
		  <xs:restriction base="xs:string">
			<xs:minLength value="0"/>
			<xs:maxLength value="255" />
		  </xs:restriction>
		</xs:simpleType>
	  </xs:element>
    <xs:element name="dadosRegistroOcorrenciaEvento" type="TRegistroOcorrencias"  minOccurs="0" >
      <xs:annotation>
        <xs:documentation>Informaçoes de ocorrências registradas.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>


  <xs:complexType name="TIdentificacaoEvento">
    <xs:sequence>
      <xs:element name="idEvento" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ID do Evento</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ideEventoRERCT" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ideEventoRERCT</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value ="1"/>            
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="situacao" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Situação</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value ="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="numeroRecibo" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Número do Recibo</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="50"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <xs:complexType name="TIdentificacaoDeclarado">
    <xs:annotation>
      <xs:documentation>Identificação do Declarado</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tipoInscricaoDeclarado" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>            
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="inscricaoDeclarado" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="14" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TIdentificacaoTitular">
    <xs:annotation>
      <xs:documentation>Identificação do Titular</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tipoInscricaoTitular" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="inscricaoTitular" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="14" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="nomeTitular" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="100" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="nifTitular" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="25" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <xs:complexType name="TBeneficiarioFinal">
    <xs:annotation>
      <xs:documentation>Informações do Beneficiário Final</xs:documentation>
    </xs:annotation>
    <xs:sequence>      
      <xs:element name="inscricaoBeneficiario" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="14" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="nomeBeneficiario" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="100" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="nifBeneficiario" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="25" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  
  

</xs:schema>
