<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://www.abrasf.org.br/nfse.xsd"
	xmlns="http://www.abrasf.org.br/nfse.xsd"
	xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" attributeFormDefault="unqualified" elementFormDefault="qualified">
	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema20020212.xsd" />

	<!-- definition of simple elements -->
	<xsd:simpleType name="tsNumeroNfse">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:totalDigits value="15" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoVerificacao">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="9" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
			<xsd:pattern value="[a-zA-Z0-9]{1,9}"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNif">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="40" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsStatusRps">
		<xsd:annotation>
			<xsd:documentation>Situacao do RPS (
                    1 - Normal; 
                    2 - Cancelado)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsStatusNfse">
		<xsd:annotation>
			<xsd:documentation>Situacao da NFS-e (
                    1 - Normal; 
                    2 - Cancelada)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsExigibilidadeISS">
		<xsd:annotation>
			<xsd:documentation>Exigibilidade do ISS da NFS-e (
					1 - Exigivel; 
					2 - Nao incidencia; 
					3 - Isencao; 
					4 - Exportacao; 
					5 - Imunidade; 
					6 - Exigibilidade Suspensa por Decisao Judicial; 
					7 - Exigibilidade Suspensa por Processo Administrativo)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3|4|5|6|7" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIdentifNaoExigibilidade">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="4" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroProcesso">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="30" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsRegimeEspecialTributacao">
		<xsd:annotation>
			<xsd:documentation>Exigibilidade do ISS da NFS-e (
					1 - Microempresa Municipal; 
					2 - Estimativa; 
					3 - Sociedade de Profissionais; 
					4 - Cooperativa; 
					5 - Microempresario Individual (MEI); 
					6 - Microempresa ou Empresa de Pequeno Porte (ME EPP))
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3|4|5|6" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsSimNao">
		<xsd:annotation>
			<xsd:documentation>Sim ou Nao (
                    1 - Sim; 
                    2 - Nao)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsResponsavelRetencao">
		<xsd:annotation>
			<xsd:documentation>Responsavel pela retencao do ISSQN (
                    1 - Tomador; 
                    2 - Intermediario)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsPagina">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:minInclusive value="1" />
			<xsd:maxInclusive value="999999" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroRps">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:totalDigits value="15" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsSerieRps">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="5" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsTipoRps">
		<xsd:annotation>
			<xsd:documentation>Tipo do RPS (
					1 - RPS;
					2 - RPS Nota Fiscal Conjugada (Mista); 
					3 - Cupom)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsOutrasInformacoes">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="510" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsValor">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="15" />
			<xsd:fractionDigits value="2" fixed="true" />
			<xsd:minInclusive value="0" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsItemListaServico">
		<xsd:annotation>
			<xsd:documentation>Subitem do serviço prestado conforme LC 116/2003
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="8"/>
			<xsd:minLength value="1"/>
			<xsd:whiteSpace value="collapse"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoCnae">
		<xsd:restriction base="xsd:int">
			<xsd:totalDigits value="7" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoTributacao">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="20" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsDescricaoCodigoTributacaoMunicípio">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="1000" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoNbs">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="9" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsAliquota">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="4" />
			<xsd:fractionDigits value="2" />
			<xsd:minInclusive value="0" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsPercentual">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="5" />
			<xsd:fractionDigits value="2" />
			<xsd:minInclusive value="0" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsDiscriminacao">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="2000" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoMunicipioIbge">
		<xsd:restriction base="xsd:int">
			<xsd:totalDigits value="7" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsInscricaoMunicipal">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="15" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsRazaoSocial">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="150" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNomeFantasia">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="60" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCnpj">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="14" fixed="true" />
			<xsd:minLength value="0" fixed="true" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsEndereco">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroEndereco">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="60" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsComplementoEndereco">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="60" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsBairro">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="60" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsUf">
		<xsd:annotation>
			<xsd:documentation>UF (
                    AC - Acre;
                    AL - Alagoas;
                    AM - Amazonas;
                    AP - Amapa;
                    BA - Bahia;
                    CE - Ceara;
                    DF - Distrito Federal;
                    ES - Espirito Santo;
                    GO - Goias;
                    MA - Maranhao;
                    MG - Minas Gerais;
                    MS - Mato Grosso do Sul;
                    MT - Mato Grosso;
                    PA - Para;
                    PB - Paraiba;
                    PE - Pernambuco;
                    PI - Piaui;
                    PR - Parana;
                    RJ - Rio de Janeiro;
                    RN - Rio Grande do Norte;
                    RO - Rondonia;
                    RR - Roraima;
                    RS - Rio Grande do Sul;
                    SC - Santa Catarina;
                    SE - Sergipe;
                    SP - Sao Paulo;
                    TO - Tocantins)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="2" fixed="true" />
			<xsd:whiteSpace value="collapse" />
			<xsd:enumeration value="AC"/>
			<xsd:enumeration value="AL"/>
			<xsd:enumeration value="AM"/>
			<xsd:enumeration value="AP"/>
			<xsd:enumeration value="BA"/>
			<xsd:enumeration value="CE"/>
			<xsd:enumeration value="DF"/>
			<xsd:enumeration value="ES"/>
			<xsd:enumeration value="GO"/>
			<xsd:enumeration value="MA"/>
			<xsd:enumeration value="MG"/>
			<xsd:enumeration value="MS"/>
			<xsd:enumeration value="MT"/>
			<xsd:enumeration value="PA"/>
			<xsd:enumeration value="PB"/>
			<xsd:enumeration value="PE"/>
			<xsd:enumeration value="PI"/>
			<xsd:enumeration value="PR"/>
			<xsd:enumeration value="RJ"/>
			<xsd:enumeration value="RN"/>
			<xsd:enumeration value="RO"/>
			<xsd:enumeration value="RR"/>
			<xsd:enumeration value="RS"/>
			<xsd:enumeration value="SC"/>
			<xsd:enumeration value="SE"/>
			<xsd:enumeration value="SP"/>
			<xsd:enumeration value="TO"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoPaisIbge">
		<xsd:restriction base="xsd:string">
			<xsd:length value="4" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCep">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="8" />
			<xsd:whiteSpace value="preserve"/>
			<xsd:pattern value="[0-9]{8}"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsEmail">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="80" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsTelefone">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="20" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCpf">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="11" fixed="true" />
			<xsd:minLength value="0" fixed="true" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoObra">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="30" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsArt">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="30" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIdentificacaoEvento">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="30" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsDescricaoEvento">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>
	
    <xsd:simpleType name="tsTpEnteGov">
        <xsd:annotation>
            <xsd:documentation>Tipo de ente governamental. Para administração pública direta e suas autarquias e fundações: 1 - União; 2 - Estado; 3 - Distrito Federal; 4 - Município;</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="1" />
            <xsd:enumeration value="2" />
            <xsd:enumeration value="3" />
            <xsd:enumeration value="4" />
        </xsd:restriction>
    </xsd:simpleType>
	
    <xsd:simpleType name="tsIndOp">
        <xsd:annotation>
            <xsd:documentation>Código númerico de 6 digitos</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:maxLength value="6" />
            <xsd:pattern value="[0-9]{6}" />
        </xsd:restriction>
    </xsd:simpleType>
	
    <xsd:simpleType name="tsTpOper">
        <xsd:annotation>
            <xsd:documentation>Tipo de Operação com Entes Governanementais ou outros serviços sobre bens imóveis: 1 – Fornecimento com pagamento posterior; 2 - Recebimento do pagamento com fornecimento já realizado; 3 – Fornecimento com pagamento já realizado; 4 – Recebimento do pagamento com fornecimento posterior; 5 – Fornecimento e recebimento do pagamento concomitantes.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="1" />
            <xsd:enumeration value="2" />
            <xsd:enumeration value="3" />
            <xsd:enumeration value="4" />
            <xsd:enumeration value="5" />
        </xsd:restriction>
    </xsd:simpleType>
	
    <xsd:simpleType name="tsFinNFSe">
        <xsd:annotation>
            <xsd:documentation>Indicador da finalidade da emissão de NFS-e: 0 - NFS-e regular</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="0" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsCredPres">
        <xsd:annotation>
            <xsd:documentation>Código númerico de 2 digitos</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:maxLength value="2" />
            <xsd:pattern value="[0-9]{2}" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsClassTrib">
        <xsd:annotation>
            <xsd:documentation>Código númerico de 6 digitos</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:maxLength value="6" />
            <xsd:pattern value="[0-9]{6}" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsCST">
        <xsd:annotation>
            <xsd:documentation>Código númerico de 3 digitos</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:maxLength value="3" />
            <xsd:pattern value="[0-9]{3}" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsCIB">
        <xsd:annotation>
            <xsd:documentation>Código do cadastro imobiliário brasileiro</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:minLength value="8" />
            <xsd:maxLength value="8" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsInscImobFisc">
        <xsd:annotation>
            <xsd:documentation>Código da inscrição imobiliária no município</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:minLength value="1" />
            <xsd:maxLength value="30" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsCpl">
        <xsd:annotation>
            <xsd:documentation>Complemento do endereço de imóveis</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:minLength value="1" />
            <xsd:maxLength value="60" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsCidade">
        <xsd:annotation>
            <xsd:documentation>Cidade estrangeira no endereço de imóveis</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:minLength value="1" />
            <xsd:maxLength value="60" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="tsEndPost">
        <xsd:annotation>
            <xsd:documentation>Código postal estrangeiro no endereço de imóveis</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:whiteSpace value="preserve" />
            <xsd:minLength value="1" />
            <xsd:maxLength value="11" />
        </xsd:restriction>
    </xsd:simpleType>

	<xsd:simpleType name="tsInformacoesComplementares">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="2000" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroLote">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:totalDigits value="15" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroProtocolo">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="50" />
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsSituacaoLoteRps">
		<xsd:annotation>
			<xsd:documentation>TSituacao do lote de RPS(
					1 – Não Recebido;
					2 – Não Processado;
					3 – Processado com Erro;
					4 – Processado com Sucesso)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3|4" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsQuantidadeRps">
		<xsd:restriction base="xsd:int">
			<xsd:totalDigits value="4"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoMensagemAlerta">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="4" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsDescricaoMensagemAlerta">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="200" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCodigoCancelamentoNfse">
		<xsd:annotation>
			<xsd:documentation>Codigo do Cancelamento da NFS-e (
					1 - Erro na emissao;
					2 - Servico nao prestado;
					3 - Erro de assinatura;
					4 - Duplicidade da nota;
					5 - Erro de processamento)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3|4|5" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIdTag">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsVersao">
		<xsd:restriction base="xsd:token">
			<xsd:pattern value="[1-9]{1}[0-9]{0,1}\.[0-9]{2}" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsTipoDeducao">
		<xsd:annotation>
			<xsd:documentation>Codigo de identificação do tipo da deducao (
					1 – Materiais;
					2 – Subempreitada de mão de obra;
					3 – Serviços;
					4 – Produção externa;
					5 – Alimentação e bebidas/frigobar;
					6 – Reembolso de despesas;
					7 – Repasse consorciado;
					8 – Repasse plano de saúde;
				   99 – Outras deduções)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:byte">
			<xsd:pattern value="1|2|3|4|5|6|7|8|99" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsDescricaoDeducao">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="150" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumeroNfe">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:totalDigits value="9" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsChaveAcessoNfe">
		<xsd:restriction base="xsd:nonNegativeInteger">
			<xsd:totalDigits value="44" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsChaveAcessoNfse">
		<xsd:restriction base="xsd:string">
            <xsd:minLength value="50" />
            <xsd:pattern value="[0-9]{0,50}" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIdentificacaoDocumento">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsEnderecoCompletoExterior">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255" />
			<xsd:minLength value="1" />
			<xsd:whiteSpace value="collapse" />
		</xsd:restriction>
	</xsd:simpleType>

	<!-- definition of complex elements -->
	<xsd:complexType name="tcCpfCnpj">
		<xsd:choice>
			<xsd:element name="Cpf" type="tsCpf" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Cnpj" type="tsCnpj" minOccurs="1" maxOccurs="1" />
		</xsd:choice>
	</xsd:complexType>

	<xsd:complexType name="tcEndereco">
		<xsd:sequence>
			<xsd:element name="Endereco" type="tsEndereco" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Numero" type="tsNumeroEndereco" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Complemento" type="tsComplementoEndereco" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Bairro" type="tsBairro" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Uf" type="tsUf" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Cep" type="tsCep" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcEnderecoExterior">
		<xsd:sequence>
			<xsd:element name="CodigoPais" type="tsCodigoPaisIbge" minOccurs="1" maxOccurs="1" />
			<xsd:element name="EnderecoCompletoExterior" type="tsEnderecoCompletoExterior" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcContato">
		<xsd:choice minOccurs="1" maxOccurs="1">
			<xsd:sequence minOccurs="1" maxOccurs="1">
				<xsd:element name="Telefone" type="tsTelefone" minOccurs="1" maxOccurs="1" />
				<xsd:element name="Email" type="tsEmail" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
			<xsd:sequence >
				<xsd:element name="Email" type="tsEmail" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:choice>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoOrgaoGerador">
		<xsd:sequence>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Uf" type="tsUf" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoRps">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroRps" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Serie" type="tsSerieRps" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Tipo" type="tsTipoRps" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoPessoaEmpresa">
		<xsd:sequence>
			<xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="1" maxOccurs="1" />
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosTomador">
		<xsd:sequence>
			<xsd:element name="IdentificacaoTomador" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NifTomador" type="tsNif" minOccurs="0" maxOccurs="1" />
			<xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="1" maxOccurs="1" />
			<xsd:choice minOccurs="0">
				<xsd:element name="Endereco" type="tcEndereco" minOccurs="1" maxOccurs="1" />
				<xsd:element name="EnderecoExterior" type="tcEnderecoExterior" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
			<xsd:element name="Contato" type="tcContato" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosIntermediario">
		<xsd:sequence>
			<xsd:element name="IdentificacaoIntermediario" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcValoresDeclaracaoServico">
		<xsd:sequence>
			<xsd:element name="ValorServicos" type="tsValor" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ValorDeducoes" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorPis" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorCofins" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorInss" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorIr" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorCsll" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="OutrasRetencoes" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValTotTributos" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorIss" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Aliquota" type="tsAliquota" minOccurs="0" maxOccurs="1" />
			<xsd:element name="DescontoIncondicionado" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="DescontoCondicionado" type="tsValor" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcValoresNfse">
		<xsd:sequence>
			<xsd:element name="BaseCalculo" type="tsValor" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Aliquota" type="tsAliquota" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorIss" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorLiquidoNfse" type="tsValor" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosServico">
		<xsd:sequence>
			<xsd:element name="Valores" type="tcValoresDeclaracaoServico" minOccurs="1" maxOccurs="1" />
			<xsd:element name="IssRetido" type="tsSimNao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ResponsavelRetencao" type="tsResponsavelRetencao" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ItemListaServico" type="tsItemListaServico" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoCnae" type="tsCodigoCnae" minOccurs="0" maxOccurs="1" />
			<xsd:element name="CodigoTributacaoMunicipio" type="tsCodigoTributacao" minOccurs="0" maxOccurs="1" />
			<xsd:element name="CodigoNbs" type="tsCodigoNbs" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Discriminacao" type="tsDiscriminacao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoPais" type="tsCodigoPaisIbge" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ExigibilidadeISS" type="tsExigibilidadeISS" minOccurs="1" maxOccurs="1" />
			<xsd:element name="IdentifNaoExigibilidade" type="tsIdentifNaoExigibilidade" minOccurs="0" maxOccurs="1" />
			<xsd:element name="MunicipioIncidencia" type="tsCodigoMunicipioIbge" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NumeroProcesso" type="tsNumeroProcesso" minOccurs="0" maxOccurs="1" />
			<xsd:element name="IBSCBS" type="tcIBSCBS" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Obra" type="tcObra" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosConstrucaoCivil">
		<xsd:choice minOccurs="1" maxOccurs="1">
			<xsd:sequence minOccurs="1" maxOccurs="1">
				<xsd:element name="CodigoObra" type="tsCodigoObra" minOccurs="1" maxOccurs="1" />
				<xsd:element name="Art" type="tsArt" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
			<xsd:sequence >
				<xsd:element name="Art" type="tsArt" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:choice>
	</xsd:complexType>

	<xsd:complexType name="tcEvento">
		<xsd:choice minOccurs="1" maxOccurs="1">
			<xsd:sequence minOccurs="1" maxOccurs="1">
				<xsd:element name="IdentificacaoEvento" type="tsIdentificacaoEvento" minOccurs="1" maxOccurs="1" />
				<xsd:element name="DescricaoEvento" type="tsDescricaoEvento" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
			<xsd:sequence >
				<xsd:element name="DescricaoEvento" type="tsDescricaoEvento" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:choice>
	</xsd:complexType>

	<xsd:complexType name="tcDadosPrestador">
		<xsd:sequence>
			<xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="1" maxOccurs="1" />
			<xsd:element name="NomeFantasia" type="tsNomeFantasia" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Endereco" type="tcEndereco" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Contato" type="tcContato" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoNfseDeducao">
		<xsd:sequence>
			<xsd:element name="CodigoMunicipioGerador" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
			<xsd:element name="NumeroNfse" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoVerificacao" type="tsCodigoVerificacao" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoNfeDeducao">
		<xsd:sequence>
			<xsd:element name="NumeroNfe" type="tsNumeroNfe" minOccurs="1" maxOccurs="1" />
			<xsd:element name="UfNfe" type="tsUf" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ChaveAcessoNfe" type="tsChaveAcessoNfe" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcOutroDocumentoDeducao">
		<xsd:sequence>
			<xsd:element name="IdentificacaoDocumento" type="tsIdentificacaoDocumento" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoDocumentoDeducao">
		<xsd:sequence>
			<xsd:choice>
				<xsd:element name="IdentificacaoNfse" type="tcIdentificacaoNfseDeducao" minOccurs="1" maxOccurs="1" />
				<xsd:element name="IdentificacaoNfe" type="tcIdentificacaoNfeDeducao" minOccurs="1" maxOccurs="1" />
				<xsd:element name="OutroDocumento" type="tcOutroDocumentoDeducao" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoFornecedor">
		<xsd:sequence>
			<xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcFornecedorExterior">
		<xsd:sequence>
			<xsd:element name="NifFornecedor" type="tsNif" minOccurs="0" maxOccurs="1" />
			<xsd:element name="CodigoPais" type="tsCodigoPaisIbge" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosFornecedor">
		<xsd:sequence>
			<xsd:choice>
				<xsd:element name="IdentificacaoFornecedor" type="tcIdentificacaoFornecedor" minOccurs="1" maxOccurs="1" />
				<xsd:element name="FornecedorExterior" type="tcFornecedorExterior" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcDadosDeducao">
		<xsd:sequence>
			<xsd:element name="TipoDeducao" type="tsTipoDeducao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DescricaoDeducao" type="tsDescricaoDeducao" minOccurs="0" maxOccurs="1" />
			<xsd:element name="IdentificacaoDocumentoDeducao" type="tcIdentificacaoDocumentoDeducao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DadosFornecedor" type="tcDadosFornecedor" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DataEmissao" type="xsd:date" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ValorDedutivel" type="tsValor" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ValorUtilizadoDeducao" type="tsValor" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcObra">
		<xsd:sequence>
			<xsd:element name="Cep" type="tsCep" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Endereco" type="tsEndereco" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Bairro" type="tsBairro" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Numero" type="tsNumeroEndereco" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="Complemento" type="tsCpl" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcInfRps">
		<xsd:sequence>
			<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="0" maxOccurs="1" />
			<xsd:element name="DataEmissao" type="xsd:date" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Status" type="tsStatusRps" minOccurs="1" maxOccurs="1" />
			<xsd:element name="RpsSubstituido" type="tcIdentificacaoRps" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcInfDeclaracaoPrestacaoServico">
		<xsd:sequence>
			<xsd:element name="Rps" type="tcInfRps" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Competencia" type="xsd:date" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Servico" type="tcDadosServico" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
			<xsd:element name="TomadorServico" type="tcDadosTomador" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Intermediario" type="tcDadosIntermediario" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ConstrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0" maxOccurs="1" />
			<xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0" maxOccurs="1" />
			<xsd:element name="OptanteSimplesNacional" type="tsSimNao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="IncentivoFiscal" type="tsSimNao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Evento" type="tcEvento" minOccurs="0" maxOccurs="1" />
			<xsd:element name="InformacoesComplementares" type="tsInformacoesComplementares" minOccurs="0" maxOccurs="1" />
			<xsd:element name="Deducao" type="tcDadosDeducao" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcDeclaracaoPrestacaoServico">
		<xsd:sequence>
			<xsd:element name="InfDeclaracaoPrestacaoServico" type="tcInfDeclaracaoPrestacaoServico" minOccurs="1" maxOccurs="1" />
			<xsd:element name="IBSCBS" type="tcIBSCBS_DPS" minOccurs="0" maxOccurs="1" />
			<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcIdentificacaoNfse">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="1" maxOccurs="1" />
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1" />
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcInfNfse">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoVerificacao" type="tsCodigoVerificacao" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DataEmissao" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
			<xsd:element name="NfseSubstituida" type="tsNumeroNfse" minOccurs="0" maxOccurs="1" />
			<xsd:element name="OutrasInformacoes" type="tsOutrasInformacoes" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValoresNfse" type="tcValoresNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DescricaoCodigoTributacaoMunicípio" type="tsDescricaoCodigoTributacaoMunicípio" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ValorCredito" type="tsValor" minOccurs="0" maxOccurs="1" />
			<xsd:element name="PrestadorServico" type="tcDadosPrestador" minOccurs="1" maxOccurs="1" />
			<xsd:element name="OrgaoGerador" type="tcIdentificacaoOrgaoGerador" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DeclaracaoPrestacaoServico" type="tcDeclaracaoPrestacaoServico" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcNfse">
		<xsd:sequence>
			<xsd:element name="InfNfse" type="tcInfNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="versao" type="tsVersao" />
	</xsd:complexType>

	<xsd:complexType name="tcInfPedidoCancelamento">
		<xsd:sequence>
			<xsd:element name="IdentificacaoNfse" type="tcIdentificacaoNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="CodigoCancelamento" type="tsCodigoCancelamentoNfse" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcPedidoCancelamento">
		<xsd:sequence>
			<xsd:element name="InfPedidoCancelamento" type="tcInfPedidoCancelamento" minOccurs="1" maxOccurs="1" />
			<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcConfirmacaoCancelamento">
		<xsd:sequence>
			<xsd:element name="Pedido" type="tcPedidoCancelamento" minOccurs="1" maxOccurs="1" />
			<xsd:element name="DataHora" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcCancelamentoNfse">
		<xsd:sequence>
			<xsd:element name="Confirmacao" type="tcConfirmacaoCancelamento" minOccurs="1" maxOccurs="1" />
			<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="versao" type="tsVersao" />
	</xsd:complexType>

	<xsd:complexType name="tcRetCancelamento">
		<xsd:sequence>
			<xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcInfSubstituicaoNfse">
		<xsd:sequence>
			<xsd:element name="NfseSubstituidora" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
	</xsd:complexType>

	<xsd:complexType name="tcSubstituicaoNfse">
		<xsd:sequence>
			<xsd:element name="SubstituicaoNfse" type="tcInfSubstituicaoNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="2" />
		</xsd:sequence>
		<xsd:attribute name="versao" type="tsVersao" />
	</xsd:complexType>

	<xsd:complexType name="tcCompNfse">
		<xsd:sequence>
			<xsd:element name="Nfse" type="tcNfse" minOccurs="1" maxOccurs="1" />
			<xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NfseSubstituicao" type="tcSubstituicaoNfse" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcMensagemRetorno">
		<xsd:sequence>
			<xsd:element name="Codigo" type="tsCodigoMensagemAlerta" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Correcao" type="tsDescricaoMensagemAlerta" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcMensagemRetornoLote">
		<xsd:sequence>
			<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Codigo" type="tsCodigoMensagemAlerta" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcLoteRps">
		<xsd:sequence>
			<xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="1" maxOccurs="1" />
			<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
			<xsd:element name="QuantidadeRps" type="tsQuantidadeRps" minOccurs="1" maxOccurs="1" />
			<xsd:element name="ListaRps" minOccurs="1" maxOccurs="1">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Rps" type="tcDeclaracaoPrestacaoServico" minOccurs="1" maxOccurs="unbounded">
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag" />
		<xsd:attribute name="versao" type="tsVersao" />
	</xsd:complexType>

	<xsd:element name="ListaMensagemRetornoLote">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MensagemRetorno" type="tcMensagemRetornoLote" minOccurs="1" maxOccurs="unbounded" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ListaMensagemRetorno">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MensagemRetorno" type="tcMensagemRetorno" minOccurs="1" maxOccurs="unbounded" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ListaMensagemAlertaRetorno">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MensagemRetorno" type="tcMensagemRetorno" minOccurs="1" maxOccurs="unbounded" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="cabecalho">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="versaoDados" type="tsVersao" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
			<xsd:attribute name="versao" type="tsVersao" />
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="CompNfse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="CompNfse" type="tcCompNfse" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<!-- definition of complex elements (webservice) -->

	<!-- Servico Recepcao de Lote de RPS - RecepcionarLoteRps -->
	<xsd:element name="EnviarLoteRpsEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="EnvioTeste" type="tsSimNao" minOccurs="0" maxOccurs="1" />
				<xsd:element name="LoteRps" type="tcLoteRps" minOccurs="1" maxOccurs="1" />
				<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="EnviarLoteRpsResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:sequence>
					<xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="1" maxOccurs="1" />
					<xsd:element name="DataRecebimento" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
					<xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="1" maxOccurs="1" />
				</xsd:sequence>
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Servico Enviar Lote de RPS Síncrono - RecepcionarLoteRpsSincrono -->
	<xsd:element name="EnviarLoteRpsSincronoEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="EnvioTeste" type="tsSimNao" minOccurs="0" maxOccurs="1" />
				<xsd:element name="LoteRps" type="tcLoteRps" minOccurs="1" maxOccurs="1" />
				<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="EnviarLoteRpsSincronoResposta">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="0" maxOccurs="1" />
				<xsd:element name="DataRecebimento" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="0" maxOccurs="1" />
				<xsd:choice>
					<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="unbounded" />
								<xsd:element ref="ListaMensagemAlertaRetorno" minOccurs="0" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
					<xsd:element ref="ListaMensagemRetornoLote" minOccurs="1" maxOccurs="1" />
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<!-- Servico Geracao de NFS-e - GerarNfse -->
	<xsd:element name="GerarNfseEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="EnvioTeste" type="tsSimNao" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Rps" type="tcDeclaracaoPrestacaoServico" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="GerarNfseResposta">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice>
					<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="1" />
								<xsd:element ref="ListaMensagemAlertaRetorno" minOccurs="0" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<!-- Servico Cancelamento de NFS-e - CancelarNfse -->
	<xsd:element name="CancelarNfseEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Pedido" type="tcPedidoCancelamento" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="CancelarNfseResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="RetCancelamento" type="tcRetCancelamento" minOccurs="1" maxOccurs="1" />
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Servico Substituicao de NFS-e - SubstituirNfse -->
	<xsd:element name="SubstituirNfseEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="EnvioTeste" type="tsSimNao" minOccurs="0" maxOccurs="1" />
				<xsd:element name="SubstituicaoNfse" minOccurs="1" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="Pedido" type="tcPedidoCancelamento" minOccurs="1" maxOccurs="1" />
							<xsd:element name="Rps" type="tcDeclaracaoPrestacaoServico" minOccurs="1" maxOccurs="1" />
						</xsd:sequence>
						<xsd:attribute name="Id" type="tsIdTag" />
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="SubstituirNfseResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="RetSubstituicao" maxOccurs="1" minOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="NfseSubstituida" maxOccurs="1" minOccurs="1">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element ref="CompNfse" maxOccurs="1" minOccurs="1" />
										<xsd:element ref="ListaMensagemAlertaRetorno" minOccurs="0" maxOccurs="1" />
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
							<xsd:element name="NfseSubstituidora" maxOccurs="1" minOccurs="1">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element ref="CompNfse" maxOccurs="1" minOccurs="1" />
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Consulta de Lote de RPS - ConsultarLoteRps -->
	<xsd:element name="ConsultarLoteRpsEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
				<xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ConsultarLoteRpsResposta">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Situacao" type="tsSituacaoLoteRps" minOccurs="1" maxOccurs="1" />
				<xsd:choice minOccurs="0">
					<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="unbounded" />
								<xsd:element ref="ListaMensagemAlertaRetorno" minOccurs="0" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
					<xsd:element ref="ListaMensagemRetornoLote" minOccurs="1" maxOccurs="1" />
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<!-- Consulta de NFS-e por RPS - ConsultarNfsePorRps -->
	<xsd:element name="ConsultarNfseRpsEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1" />
				<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ConsultarNfseRpsResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="1" />
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Consulta de NFS-e – Serviços Prestados - ConsultarNfseServicoPrestado -->
	<xsd:element name="ConsultarNfseServicoPrestadoEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
				<xsd:choice>
					<xsd:element name="NumeroNfse" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
					<xsd:element name="PeriodoEmissao" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element name="DataInicial" type="xsd:date" minOccurs="1" maxOccurs="1" />
								<xsd:element name="DataFinal" type="xsd:date" minOccurs="1" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="PeriodoCompetencia" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element name="DataInicial" type="xsd:date" minOccurs="1" maxOccurs="1" />
								<xsd:element name="DataFinal" type="xsd:date" minOccurs="1" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
				</xsd:choice>
				<xsd:element name="Tomador" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Intermediario" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ConsultarNfseServicoPrestadoResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="50"/>
							<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Consulta de NFS-e – Serviços Tomados ou Intermediados - ConsultarNfseServicoTomado -->
	<xsd:element name="ConsultarNfseServicoTomadoEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Consulente" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
				<xsd:choice>
					<xsd:element name="NumeroNfse" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
					<xsd:element name="PeriodoEmissao" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element name="DataInicial" type="xsd:date" minOccurs="1" maxOccurs="1" />
								<xsd:element name="DataFinal" type="xsd:date" minOccurs="1" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="PeriodoCompetencia" minOccurs="1" maxOccurs="1">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element name="DataInicial" type="xsd:date" minOccurs="1" maxOccurs="1" />
								<xsd:element name="DataFinal" type="xsd:date" minOccurs="1" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
				</xsd:choice>
				<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Tomador" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Intermediario" type="tcIdentificacaoPessoaEmpresa" minOccurs="0" maxOccurs="1" />
				<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ConsultarNfseServicoTomadoResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="50"/>
							<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Consulta de NFS-e por faixa - ConsultarNfseFaixa -->
	<xsd:element name="ConsultarNfseFaixaEnvio">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Prestador" type="tcIdentificacaoPessoaEmpresa" minOccurs="1" maxOccurs="1" />
				<xsd:element name="Faixa" minOccurs="1" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="NumeroNfseInicial" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
							<xsd:element name="NumeroNfseFinal" type="tsNumeroNfse" minOccurs="1" maxOccurs="1" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="ConsultarNfseFaixaResposta">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="CompNfse" minOccurs="1" maxOccurs="50"/>
							<xsd:element name="Pagina" type="tsPagina" minOccurs="1" maxOccurs="1" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1" />
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>

	<!-- Reforma Tributária do Consumo -->
	<xsd:complexType name="tcEndExt">
		<xsd:sequence>
			<xsd:element type="tsEndPost" name="cEndPost" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsCidade" name="xCidade" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsBairro" name="xEstProvReg" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcEnderecoImovel">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações do endereço do imóvel.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:choice>
                <xsd:element type="tsCep" name="CEP" minOccurs="1" maxOccurs="1" />
                <xsd:element type="tcEndExt" name="endExt" minOccurs="1" maxOccurs="1" />
            </xsd:choice>
            <xsd:element type="tsEndereco" name="xLgr" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsNumeroEndereco" name="nro" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsCpl" name="xCpl" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tsBairro" name="xBairro" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="tcImovel">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações de operações relacionadas a bens imóveis, exceto obras.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsInscImobFisc" name="inscImobFisc" minOccurs="0" maxOccurs="1" />
            <xsd:choice>
                <xsd:element type="tsCIB" name="cCIB" minOccurs="1" maxOccurs="1" />
                <xsd:element type="tcEnderecoImovel" name="end" minOccurs="1" maxOccurs="1" />
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="tcTribRegular">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações da Tributação Regular</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsCST" name="CSTReg" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsClassTrib" name="cClassTribReg" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="tcDiferimento">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações relacionadas ao diferimento para IBS e CBS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsPercentual" name="pDifUF" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsPercentual" name="pDifMun" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsPercentual" name="pDifCBS" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcgIBSCBS">
		<xsd:annotation>
			<xsd:documentation>Grupo de informações relacionadas ao IBS e à CBS</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsCST" name="CST" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsClassTrib" name="cClassTrib" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsCredPres" name="cCredPres" minOccurs="0" maxOccurs="1" />
			<xsd:element type="tcTribRegular" name="gTribRegular" minOccurs="0" maxOccurs="1" />
			<xsd:element type="tcDiferimento" name="gDif" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcTrib">
		<xsd:annotation>
			<xsd:documentation>Grupo de informações relacionados aos tributos IBS e CBS</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tcgIBSCBS" name="gIBSCBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcValores_DPS">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações relativas aos valores do serviço prestado para IBS e CBS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tcTrib" name="trib" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcGRefNFSe">
		<xsd:annotation>
			<xsd:documentation>Grupo de NFS-e referenciadas.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsChaveAcessoNfse" name="refNFSe" minOccurs="1" maxOccurs="99" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcIBSCBS_DPS">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações declaradas pelo emitente referentes ao IBS e à CBS (Incluídas no grupo da DPS)</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsFinNFSe" name="finNFSe" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsSimNao" name="indFinal" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsIndOp" name="cIndOp" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsTpOper" name="tpOper" minOccurs="0" maxOccurs="1" />
			<xsd:element type="tcGRefNFSe" name="gRefNFSe" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tsTpEnteGov" name="tpEnteGov" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tcImovel" name="imovel" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tcValores_DPS" name="valores" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcValoresUf">
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pIBSUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsPercentual" name="pRedAliqUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pAliqEfetUF" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcValoresMun">
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pIBSMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsPercentual" name="pRedAliqMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pAliqEfetMun" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="tcValoresFed">
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pCBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsPercentual" name="pRedAliqCBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pAliqEfetCBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcValores">
        <xsd:annotation>
            <xsd:documentation>Grupo de valores brutos referentes ao IBS e à CBS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsValor" name="vBC" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcValoresUf" name="uf" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcValoresMun" name="mun" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcValoresFed" name="fed" minOccurs="1" maxOccurs="1">
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcgIBSCredPres">
		<xsd:annotation>
			<xsd:documentation>Grupo de valores referentes ao crédito presumido para IBS</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pCredPresIBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vCredPresIBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcgIBSUFTot">
		<xsd:annotation>
			<xsd:documentation>Grupo de valores referentes ao IBS Estadual</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsValor" name="vDifUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vIBSUF" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcgIBSMunTot">
		<xsd:annotation>
			<xsd:documentation>Grupo de valores referentes ao IBS Municipal</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsValor" name="vDifMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vIBSMun" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcTotIBS">
        <xsd:annotation>
            <xsd:documentation>Grupo de totalizadores referentes ao IBS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsValor" name="vIBSTot" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcgIBSCredPres" name="gIBSCredPres" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tcgIBSUFTot" name="gIBSUFTot" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcgIBSMunTot"  name="gIBSMunTot" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcgCBSCredPres">
		<xsd:annotation>
			<xsd:documentation>Grupo de valores referentes ao crédito presumido para CBS</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pCredPresCBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vCredPresCBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcTotCBS">
        <xsd:annotation>
            <xsd:documentation>Grupo de totalizadores referentes ao CBS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tcgCBSCredPres" name="gCBSCredPres" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tsValor" name="vDifCBS" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tsValor" name="vCBS" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="tcgTribRegular">
		<xsd:annotation>
			<xsd:documentation>Grupo de informações de tributação regular</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pAliqEfeRegIBSUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vTribRegIBSUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pAliqEfeRegIBSMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vTribRegIBSMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pAliqEfeRegCBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vTribRegCBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcgTribCompraGov"  >
		<xsd:annotation>
			<xsd:documentation>Grupo de informações da composição do valor do IBS e da CBS em compras governamentais</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element type="tsAliquota" name="pIBSUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vIBSUF" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pIBSMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vIBSMun" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsAliquota" name="pCBS" minOccurs="1" maxOccurs="1" />
			<xsd:element type="tsValor" name="vCBS" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

    <xsd:complexType name="tcTotalizadores">
        <xsd:annotation>
            <xsd:documentation>Grupo de Totalizadores</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsValor" name="vTotNF" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcgTribRegular" name="gTribRegular" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tcgTribCompraGov"  name="gTribCompraGov" minOccurs="0" maxOccurs="1" />
            <xsd:element type="tcTotIBS" name="gIBS" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcTotCBS" name="gCBS" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="tcIBSCBS">
        <xsd:annotation>
            <xsd:documentation>Grupo de informações geradas pelo sistema referentes ao IBS e à CBS (Informações Comuns)</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element type="tsAliquota" name="pRedutor" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcValores" name="valores" minOccurs="1" maxOccurs="1" />
            <xsd:element type="tcTotalizadores" name="totCIBS" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>
