Nota Técnica 2025.002 - BPe Transporte Aéreo

Publica a Nota Técnica com as especificações do Serviço de Recepção de BPeTA e adaptação dos demais webservices do BPe para o transporte aéreo de passageiros.

Projeto Bilhete de PassagemEletrônicoBPe Transporte AéreoNota Técnica 2025.002Versão 1.00 – 15 de setembro de 2025ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 2 / 84SumárioHistórico de Alterações / Cronograma .................................................................................................................................................................... 61 Base Conceitual .............................................................................................................................................................................................. 71.1 Conceitos ............................................................................................................................................................. 7BPe TA (modelo 63) ................................................................................................................................................................................................... 7DABPE ....................................................................................................................................................................................................................... 7Chave de Acesso do BPe TA ..................................................................................................................................................................................... 7Chave Natural do BPe TA .......................................................................................................................................................................................... 82 Arquitetura de Comunicação com Contribuinte ............................................................................................................................................... 92.1 Modelo Conceitual ............................................................................................................................................... 92.2 Padrões Técnicos .............................................................................................................................................. 10Padrão de documento XML ..................................................................................................................................................................................... 10Padrão de Comunicação .......................................................................................................................................................................................... 11Padrão de Certificado Digital ................................................................................................................................................................................... 12Padrão da Assinatura Digital .................................................................................................................................................................................... 12Validação da Assinatura Digital pelo Ambiente Autorizador .................................................................................................................................... 14Resumo dos Padrões Técnicos ............................................................................................................................................................................... 152.3 Modelo Operacional........................................................................................................................................... 152.4 Padrão de Mensagens dos Web Services ......................................................................................................... 16Área de dados das mensagens ............................................................................................................................................................................... 16Validação da estrutura XML das Mensagens dos Web Services ............................................................................................................................ 16Schemas XML das Mensagens dos Web Services ................................................................................................................................................. 172.5 Versão dos Schemas XML ................................................................................................................................ 18Liberação das versões dos schemas para o BPe TA .............................................................................................................................................. 18Correção de Pacote de Liberação ........................................................................................................................................................................... 18Divulgação de novos Pacotes de Liberação ............................................................................................................................................................ 18Controle de Versão .................................................................................................................................................................................................. 192.6 Sistema de Registro de Eventos ....................................................................................................................... 19Relação dos Tipos de Evento .................................................................................................................................................................................. 20ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 3 / 84Eventos de Marcação .............................................................................................................................................................................................. 202.7 Data e hora de emissão e outros horários ......................................................................................................... 212.8 SEFAZ virtual .................................................................................................................................................... 213 Regras de Validações Gerais do BPe ........................................................................................................................................................... 22Grupo A: Validação do Certificado de Transmissão (protocolo TLS) ...................................................................................................................... 22Grupo B-0: Validação da Compactação da Mensagem........................................................................................................................................... 23Grupo B: Validação Inicial da Mensagem no Web Service ..................................................................................................................................... 23Grupo C: Validação da área de dados da mensagem ............................................................................................................................................. 23Grupo D: Validações do Certificado de Assinatura Digital ...................................................................................................................................... 24Grupo E: Validações da Assinatura Digital .............................................................................................................................................................. 244 Web Services ................................................................................................................................................................................................ 254.1 WebService Síncrono de Recepção BPe TA ..................................................................................................... 26Leiaute Mensagem de Entrada ................................................................................................................................................................................ 26Leiaute Mensagem de Retorno ................................................................................................................................................................................ 26Leiaute de BPe processado ..................................................................................................................................................................................... 27Regras de Validação Básicas do Serviço ................................................................................................................................................................ 28Regras de Negócio do BPe TA ................................................................................................................................................................................ 28Final do Processamento do BPe TA ........................................................................................................................................................................ 474.2 Serviço de Consulta Situação do BPe ............................................................................................................... 48Leiaute Mensagem de Entrada ................................................................................................................................................................................ 48Leiaute Mensagem de Retorno ................................................................................................................................................................................ 48Descrição do Processo de Web Service .................................................................................................................................................................. 49Regras de Validação Básicas do Serviço ................................................................................................................................................................ 49Validação das Regras de Negócio da Consulta Situação ....................................................................................................................................... 49Final do Processamento .......................................................................................................................................................................................... 504.3 Serviço de Consulta Status do Serviço de Autorização ..................................................................................... 51Leiaute Mensagem de Entrada ................................................................................................................................................................................ 51Leiaute Mensagem de Retorno ................................................................................................................................................................................ 51Descrição do Processo de Web Service .................................................................................................................................................................. 52Regras de Validação Básicas do Serviço ................................................................................................................................................................ 52Validação das Regras de Negócio da Consulta Status Serviço .............................................................................................................................. 53Final do Processamento .......................................................................................................................................................................................... 535 Sistema de Registro de Eventos (Parte Geral) .............................................................................................................................................. 54ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 4 / 845.1 Leiaute Mensagem de Entrada .......................................................................................................................... 545.2 Leiaute Mensagem de Retorno ......................................................................................................................... 555.3 Descrição do Processo de Web Service............................................................................................................ 565.4 Regras de Validação Básicas do Serviço .......................................................................................................... 565.5 Validação das Regras de Negócio do Serviço de Registro de Eventos ............................................................ 565.6 Processamento das validações específicas de cada evento ............................................................................. 585.7 Final do Processamento do Evento ................................................................................................................... 586 Sistema de Registro de Eventos (Parte Específica) ...................................................................................................................................... 596.1 Evento de Cancelamento .................................................................................................................................. 59Validação das Regras Específicas do Evento ......................................................................................................................................................... 59Final do Processamento .......................................................................................................................................................................................... 606.2 Evento de Não Embarque ................................................................................................................................. 61Validação das Regras Específicas do Evento ......................................................................................................................................................... 61Final do Processamento .......................................................................................................................................................................................... 616.3 Evento de Fornecimento não realizado com pagamento antecipado ................................................................ 62Validação das Regras Específicas do Evento ......................................................................................................................................................... 62Final do Processamento .......................................................................................................................................................................................... 626.4 Evento de Ajuste do BPe TA – PENDENTE DE ESPECICAÇÂO ..................................................................... 63Validação das Regras Específicas do Evento ......................................................................................................................................................... 63Final do Processamento .......................................................................................................................................................................................... 637 Alterações no Serviço de Recepção de BPe e BPeTM ................................................................................................................................. 648 Informações Adicionais ................................................................................................................................................................................. 658.1 Código de Classificação Tributária do IBS/CBS ................................................................................................ 658.2 Cálculo do dígito verificador do CNPJ Alfanumérico ......................................................................................... 65Cálculo do primeiro dígito verificador ....................................................................................................................................................................... 66Cálculo do segundo dígito verificador ...................................................................................................................................................................... 678.3 Cálculo do dígito verificador da chave de acesso do BPe TA ........................................................................... 688.4 Número do protocolo ......................................................................................................................................... 699 Leiaute do BPe TA ........................................................................................................................................................................................ 70ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 5 / 84Controle de VersõesVersão Publicação Descrição1.00 agosto/2025 Publicação da NTProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 6 / 84Histórico de Alterações / CronogramaVersão Histórico de atualizações ImplantaçãoHomologaçãoImplantação Produção1.00 &#61623; Implantação do serviço de autorização do BPe TA- -ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 7 / 841 Base Conceitual1.1 ConceitosBPe TA (modelo 63)Bilhete de Passagem Eletrônico para Transporte Aéreo é o documento emitido e armazenado eletronicamente, de existência apenas digital, cuja validade jurídica é garantidapela assinatura digital do emitente e autorização de uso pelo ambiente nacional do BPe.DABPEO DABPE (Documento Auxiliar do Bilhete de Passagem Eletrônico) é um documento auxiliar impresso em papel e sua especificação/modelos de leiaute encontram-se disponíveisno documento Anexo II: Manual de Orientações do Contribuinte – DABPE.Chave de Acesso do BPe TAA Chave de Acesso do BPe TA é composta pelos seguintes campos que se encontram dispersos no leiaute do BPe TA:Códigoda UFAAMM daemissãoCNPJ doEmitenteModelo(mod)Série(serie)Númerodo BPeForma deemissãoCódigoNuméricoDVQuantidade decaracteres02 04 14 02 03 09 01 08 01&#61623; cUF - Código da UF do emitente do Documento Fiscal&#61623; AAMM - Ano e Mês de emissão da NFAg&#61623; CNPJ - CNPJ do emitente&#61623; mod - Modelo do Documento Fiscal&#61623; serie - Série do Documento Fiscal&#61623; nBP - Número do Documento Fiscal&#61623; tpEmis - forma de emissão&#61623; cBP - Código Numérico que compõe a Chave de Acesso&#61623; cDV - Dígito Verificador da Chave de AcessoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 8 / 84Chave Natural do BPe TAA Chave Natural do BPe TA é composta pelos campos de UF, CNPJ do Emitente, Série e Número do BPe TA, além do modelo do documento fiscal eletrônico e da forma deemissão. O Sistema de Autorização de Uso validará a existência de um BPe TA previamente autorizado e rejeitará novos pedidos de autorização para BPe TA com duplicidadeda Chave Natural, quando autorizados no mesmo ambiente de autorização. A informação da Forma de Emissão pode indicar ambientes alternativos de autorização do AmbienteNacional.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 9 / 842 Arquitetura de Comunicação com Contribuinte2.1 Modelo ConceitualO ambiente autorizador de BPe irá disponibilizar os seguintes serviços:a) Recepção de BPe TA (Modelo 63) – Modelo síncrono (uma BPe);b) Consulta da Situação Atual do BPe TA;c) Consulta do status do serviço.d) Registro de EventosPara cada serviço oferecido existirá um Web Service específico. O fluxo de comunicação é sempre iniciado pelo aplicativo do contribuinte através do envio de uma mensagemao Web Service com a solicitação do serviço desejado.O Web Service sempre devolve uma mensagem de resposta confirmando o recebimento da solicitação de serviço ao aplicativo do contribuinte na mesma conexão.O processamento da solicitação de serviço é concluído na mesma conexão, com a devolução de uma mensagem com o resultado do processamento do serviço solicitado;O diagrama a seguir ilustra o fluxo conceitual de comunicação entre o aplicativo do contribuinte e o Ambiente Autorizador:Contribuinte Ambiente AutorizadorCliente BPe( ERP ou software específico )BPeAplicativo de Faturamento( ERP ou software específico )HTTPSFluxo deComunicaçãoServiçosSíncronosAplicação BPeBPeArquitetura de Comunicação – Visão ConceitualWeb Services TransaçõesProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 10 / 842.2 Padrões TécnicosPadrão de documento XMLa) Padrão de CodificaçãoA especificação do documento XML adotada é a recomendação W3C para XML 1.0, disponível em www.w3.org/TR/REC-xml e a codificação dos caracteres será em UTF-8,assim todos os documentos XML serão iniciados com a seguinte declaração:<?xml version="1.0" encoding="UTF-8"?>OBS: Lembrando que cada arquivo XML somente poderá ter uma única declaração <?xml version="1.0" encoding="UTF-8"?>.b) Declaração namespaceO documento XML deverá ter uma única declaração de namespace no elemento raiz do documento com o seguinte padrão:<BPeTA xmlns=”http://www.portalfiscal.inf.br/bpe” > (exemplo para o XML do BPe TA)O uso de declaração namespace diferente do padrão estabelecido para o Projeto é vedado.A declaração do namespace da assinatura digital deverá ser realizada na própria tag <Signature>, conforme exemplo abaixo.c) Prefixo de namespaceNão é permitida a utilização de prefixos de namespace. Essa restrição visa otimizar o tamanho do arquivo XML.Assim, ao invés da declaração:<BPe:BPeTA xmlns:BPe=”http://www.portalfiscal.inf.br/bpe”> (exemplo para o XML do BPe TA com prefixo BPe) deverá ser adotada a declaração:<BPeTA xmlns =”http://www.portalfiscal.inf.br/bpe” >d) Otimização na montagem do arquivoNa geração do arquivo XML do BPe TA, excetuados os campos identificados como obrigatórios no modelo (primeiro dígito da coluna de ocorrências do leiaute iniciada com 1,ex.: 1-1, 1-2, 1-N), não deverão ser incluídas as TAGs de campos com conteúdo zero (para campos tipo numérico) ou vazio (para campos tipo caractere).Na geração do arquivo XML do BPe TA, deverão ser preenchidas no modelo apenas as TAGs de campos identificados como obrigatórios no leiaute ou os campos obrigatóriospor força da legislação pertinente. Os campos obrigatórios no leiaute são identificados pelo primeiro dígito da coluna ocorrência (“Ocorr”) que inicie com 1, ex.: 1-1, 1-2, 1-N. Oscampos obrigatórios por força da legislação pertinente devem ser informados, mesmo que no leiaute seu preenchimento seja facultativo.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 11 / 84A regra constante do parágrafo anterior deverá estender-se para os campos onde não há indicação de obrigatoriedade e que, no entanto, seu preenchimento torna-se obrigatóriopor estar condicionado à legislação específica ou ao negócio do contribuinte. Neste caso, deverá constar a TAG com o valor correspondente e, para os demais campos, deverãoser eliminadas as TAGs.Para reduzir o tamanho final do arquivo XML do BPe TA alguns cuidados de programação deverão ser assumidos:&#61623; Não incluir "zeros não significativos" para campos numéricos;&#61623; Não incluir "espaços" ("line-feed", "carriage return", "tab", caractere de "espaço" entre as TAGs) no início ou no final de campos numéricos e alfanuméricos;&#61623; Não incluir comentários no arquivo XML;&#61623; Não incluir anotação e documentação no arquivo XML (TAG annotation e TAG documentation);&#61623; Não incluir caracteres de formatação no arquivo XML ("line-feed", "carriage return", "tab", caractere de "espaço" entre as TAGs).e) Validação de SchemaPara garantir minimamente a integridade das informações prestadas e a correta formação dos arquivos XML, o contribuinte deverá submeter o arquivo do BPe TA e as demaismensagens XML para validação pelo Schema (XSD – XML Schema Definition), disponibilizado pelo Ambiente Autorizador, antes de seu envio.Padrão de ComunicaçãoA comunicação entre o contribuinte e o Ambiente de Autorização será baseada em Web Services disponíveis no Portal da SEFAZ Virtual.O meio físico de comunicação utilizado será a Internet, com o uso do protocolo TLS versão 1.2, com autenticação mútua, que além de garantir um duto de comunicação segurona Internet, permite a identificação do servidor e do cliente através de certificados digitais, eliminando a necessidade de identificação do usuário através de nome ou código deusuário e senha.O modelo de comunicação segue o padrão de Web Services definido pelo WS-I Basic Profile.A troca de mensagens entre os Web Services do Ambiente Autorizador e o aplicativo do contribuinte será realizada no padrão SOAP versão 1.2, com troca de mensagens XMLno padrão Style/Enconding: Document/Literal.A chamada dos diferentes Web Services do Projeto BPe é realizada com o envio de uma mensagem através do campo BPeDadosMsg.A resposta do processamento da requisição pela aplicação do ambiente autorizador será realizada através de uma mensagem XML através do campo BPeResultMsgProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 12 / 84Padrão de Certificado DigitalO certificado digital utilizado no Projeto do BPe TA será emitido por Autoridade Certificadora credenciada pela Infraestrutura de Chaves Públicas Brasileira – ICP-Brasil, tipo A1ou A3, devendo conter o CNPJ da pessoa jurídica titular do certificado digital. Os certificados digitais serão exigidos em 3 (três) momentos distintos para o projeto:a) Assinatura de Mensagens: O certificado digital utilizado para essa função deverá conter o CNPJ de um dos estabelecimentos da empresa emissora do BPe TA. Pormensagens, entenda-se: o Pedido de Autorização de Uso (Arquivo BPe TA), o Registro de Eventos de BPe e demais arquivos XML que necessitem de assinatura. Ocertificado digital deverá ter o “uso da chave” previsto para a função de assinatura digital e atributo de "não recusa" obrigatoriamente com o CNPJ no campo otherNameOID = 2.16.76.1.3.3, respeitando a Política do Certificado.b) Transmissão (durante a transmissão das mensagens entre o servidor do contribuinte e o Ambiente Autorizador): O certificado digital utilizado para identificação doaplicativo do contribuinte deverá conter o CNPJ do responsável pela transmissão das mensagens, mas não necessita ser o mesmo CNPJ do estabelecimento emissordo BPe TA, devendo ter a extensão Extended Key Usage com permissão de "Autenticação Cliente".c) Geração do QR Code do BPe TA: O certificado digital utilizado para a assinatura do BPe TA deverá ser utilizado para assinar a chave de acesso do BPe TA na geraçãodo QR Code na hipótese de emissão off-line, conforme será descrito em item futuro deste manual.Padrão da Assinatura DigitalAs mensagens enviadas ao Ambiente Autorizador são documentos eletrônicos elaborados no padrão XML e devem ser assinados digitalmente com um certificado digital quecontenha o CNPJ do estabelecimento matriz ou o CNPJ do estabelecimento emissor do BPe TA objeto do pedido. Os elementos abaixo estão presentes dentro do Certificadodo contribuinte tornando desnecessária a sua representação individualizada no arquivo XML. Portanto, o arquivo XML não deve conter os elementos:<X509SubjectName><X509IssuerSerial><X509IssuerName><X509SerialNumber><X509SKI>Deve-se evitar o uso das TAGs relacionadas a seguir, pois as informações serão obtidas a partir do Certificado do emitente:<KeyValue><RSAKeyValue><Modulus><Exponent>ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 13 / 84O Projeto BPe TA utiliza um subconjunto do padrão de assinatura XML definido pelo http://www.w3.org/TR/xmldsig-core/, que tem o seguinte leiaute:# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoXS01 Signature Raiz - - - -XS02 SignedInfo G XS01 - 1-1 Grupo da Informação da assinaturaXS03 CanonicalizationMethod G XS02 - 1-1 Grupo do Método de CanonicalizaçãoXS04 Algorithm A XS03 C 1-1 Atributo Algorithm de CanonicalizationMethod:http://www.w3.org/TR/2001/REC-xml-c14n-20010315XS05 SignatureMethod G XS02 - 1-1 Grupo do Método de AssinaturaXS06 Algorithm A XS05 C 1-1 Atributo Algorithm de SignedMethod:http://www.w3.org/2000/09/xmldsig#rsa-sha1XS07 Reference G XS02 - 1-1 Grupo de ReferenceXS08 URI A XS07 C 1-1 Atributo URI da tag ReferenceXS10 Transforms G XS07 - 1-1 Grupo do algorithm de TransformXS11 unique_Transf_Alg RC XS10 - 1-1 Regra para o atributo Algorithm do Transform ser único.XS12 Transform G XS10 - 2-2 Grupo de TransformXS13 Algorithm A XS12 C 1-1 Atributos válidos Algorithm do Transform:http://www.w3.org/TR/2001/REC-xml-c14n-20010315http://www.w3.org/2000/09/xmldsig#enveloped-signatureXS14 XPath E XS12 C 0-N XPathXS15 DigestMethod G XS07 - 1-1 Grupo do Método de DigestMethodXS16 Algorithm A XS15 C 1-1 Atributo Algorithm de DigestMethod:http://www.w3.org/2000/09/xmldsig#sha1XS17 DigestValue E XS07 C 1-1 Digest Value (Hash SHA-1 – Base64)XS18 SignatureValue G XS01 - 1-1 Grupo do Signature ValueXS19 KeyInfo G XS01 - 1-1 Grupo do KeyInfoXS20 X509Data G XS19 - 1-1 Grupo X509XS21 X509Certificate E XS20 C 1-1 Certificado Digital x509 em Base64A assinatura do Contribuinte no BPe TA será feita na TAG <infBPe> identificada pelo atributo Id, cujo conteúdo deverá ser um identificador único (chave de acesso) precedidodo literal ‘BPe’ para a BPe, conforme leiaute descrito no Anexo I. O identificador único precedido do literal ‘#BPe’ deverá ser informado no atributo URI da TAG <Reference>.Para as demais mensagens a serem assinadas, o processo será o mesmo mantendo sempre um identificador único para o atributo Id na TAG a ser assinada.Para o processo de assinatura, o contribuinte não deve fornecer a Lista de Certificados Revogados, já que ela será montada e validada no Ambiente Autorizador no momentoda conferência da assinatura digital.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 14 / 84A assinatura digital do documento eletrônico deverá atender aos seguintes padrões adotados:&#61623; Padrão de assinatura: “XML Digital Signature”, utilizando o formato “Enveloped” (http://www.w3.org/TR/xmldsig-core/);&#61623; Certificado digital: Emitido por AC credenciada no ICP-Brasil (http://www.w3.org/2000/09/xmldsig#X509Data);&#61623; Cadeia de Certificação: EndCertOnly (Incluir na assinatura apenas o certificado do usuário final);&#61623; Tipo do certificado: A1 ou A3 (o uso de HSM é recomendado);&#61623; Tamanho da Chave Criptográfica: Compatível com os certificados A1 e A3 (1024 bits);&#61623; Função criptográfica assimétrica: RSA (http://www.w3.org/2000/09/xmldsig#rsa-sha1);&#61623; Função de “message digest”: SHA-1 (http://www.w3.org/2000/09/xmldsig#sha1);&#61623; Codificação: Base64 (http://www.w3.org/2000/09/xmldsig#base64);&#61623; Transformações exigidas: Útil para realizar a canonicalização do XML enviado para realizar a validação correta da Assinatura Digital. São elas:(1) Enveloped (http://www.w3.org/2000/09/xmldsig#enveloped-signature)(2) C14N (http://www.w3.org/TR/2001/REC-xml-c14n-20010315)Validação da Assinatura Digital pelo Ambiente AutorizadorPara a validação da assinatura digital, seguem as regras que serão adotadas pelo Ambiente Autorizador:(1) Extrair a chave pública do certificado;(2) Verificar o prazo de validade do certificado utilizado;(3) Montar e validar a cadeia de confiança dos certificados validando também a LCR (Lista de Certificados Revogados) de cada certificado da cadeia;(4) Validar o uso da chave utilizada (Assinatura Digital) de tal forma a aceitar certificados somente do tipo A (não serão aceitos certificados do tipo S);(5) Garantir que o certificado utilizado é de um usuário final e não de uma Autoridade Certificadora;(6) Adotar as regras definidas pelo RFC 3280 para LCRs e cadeia de confiança;(7) Validar a integridade de todas as LCR utilizadas pelo sistema;(8) Prazo de validade de cada LCR utilizada (verificar data inicial e final).A forma de conferência da LCR pode ser feita de 2 (duas) maneiras: On-line ou Download periódico. As assinaturas digitais das mensagens serão verificadas considerando alista de certificados revogados disponível no momento da conferência da assinatura.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 15 / 84Resumo dos Padrões TécnicosCaracterística DescriçãoWeb Services Padrão definido pelo WS-I Basic Profile 1.1 (http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html).Meio lógico de comunicação Web Services, disponibilizados pelo AMBIENTE AUTORIZADORMeio físico de comunicação InternetProtocolo Internet TLS versão 1.2, com autenticação mútua através de certificados digitais.Padrão de troca de mensagens SOAP versão 1.2Padrão da mensagem XML no padrão Style/Encoding: Document/Literal.Padrão de certificado digital X.509 versão 3, emitido por Autoridade Certificadora credenciada pela Infra-estrutura de Chaves Públicas Brasileira –ICP-Brasil, do tipo A1 ou A3, devendo conter o CNPJ do proprietário do certificado digital.Para assinatura de mensagens, utilizar o certificado digital de um dos estabelecimentos da empresa emissora de BPe.Para transmissão, utilizar o certificado digital do responsável pela transmissão.Padrão de assinatura digital XML Digital Signature, Enveloped, com certificado digital X.509 versão 3, com chave privada de 1024 bits, com padrõesde criptografia assimétrica RSA, algoritmo message digest SHA-1 e utilização das transformações Enveloped e C14N.Validação de assinatura digital Será validada além da integridade e autoria, a cadeia de confiança com a validação das LCRs.Padrões de preenchimento XML Campos não obrigatórios do Schema que não possuam conteúdo terão suas tags suprimidas no arquivo XML.Máscara de números decimais e datas estão definidas no Schema XML.Nos campos numéricos inteiro, não incluir a vírgula ou ponto decimal.Nos campos numéricos com casas decimais, utilizar o “ponto decimal” na separação da parte inteira.2.3 Modelo OperacionalAs solicitações de serviços do BPe TA seguem o modelo de implementação síncrona processadas imediatamente e o resultado do processamento é obtido em uma únicaconexão.A seguir, o fluxo simplificado de funcionamento:AplicativoClienteWeb ServiceProcessamentode Serviços(1) Solicitação de serviço (2) Solicitação de serviço(4) Resultado (3) ResultadoContribuinte Secretaria de Fazenda EstadualServiço de Implementação SíncronaProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 16 / 84Etapas do processo ideal:(1) O aplicativo do contribuinte inicia a conexão enviando uma mensagem de solicitação de serviço para o Web Service;(2) O Web Service recebe a mensagem de solicitação de serviço e encaminha ao aplicativo do BPe TA que irá processar o serviço solicitado;(3) O aplicativo do BPe TA recebe a mensagem de solicitação de serviço e realiza o processamento, devolvendo uma mensagem de resultado do processamento aoWeb Service;(4) O Web Service recebe a mensagem de resultado do processamento e o encaminha ao aplicativo do contribuinte;(5) O aplicativo do contribuinte recebe a mensagem de resultado do processamento e, caso não exista outra mensagem, encerra a conexão.2.4 Padrão de Mensagens dos Web ServicesÁrea de dados das mensagensA informação armazenada na área de dados <Body> da mensagem SOAP é um documento que deve atender o leiaute definido na documentação do Web Service acessado.Para os serviços de recepção, a mensagem deverá ser compactada no padrão GZip, onde o resultado da compactação é convertido para Base64, reduzindo o tamanho damensagem em aproximadamente 70%, conforme abaixo:<soap12:Body><BPeDadosMsgxmlns="http://www.portalfiscal.inf.br/bpe/wsdl/BPeRecepcaoTA">string</BPeDadosMsg></soap12:Body>Para os demais serviços (Consulta, Recepção Eventos e Status), a mensagem deverá utilizar XML sem compactação:<soap12:Body><BPeDadosMsgxmlns="http://www.portalfiscal.inf.br/bpe/wsdl/BPeRecepcaoEvento">xml</BPeDadosMsg></soap12:BodyA área referente ao SOAP Header não deverá ser informada.Validação da estrutura XML das Mensagens dos Web ServicesAs informações são enviadas ou recebidas dos Web Services através de mensagens no padrão XML definido na documentação de cada Web Service.As alterações de leiaute e da estrutura de dados XML realizadas nas mensagens são controladas através da atribuição de um número de versão para a mensagem.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 17 / 84Um Schema XML é uma linguagem que define o conteúdo do documento XML, descrevendo os seus elementos e a sua organização, além de estabelecer regras depreenchimento de conteúdo e de obrigatoriedade de cada elemento ou grupo de informação.A validação da estrutura XML da mensagem é realizada por um analisador sintático (parser) que verifica se a mensagem atende as definições e regras de seu Schema XML.Qualquer divergência da estrutura XML da mensagem em relação ao seu Schema XML provoca um erro de validação do Schema XML.A primeira condição para que a mensagem seja validada com sucesso é que ela seja submetida ao Schema XML correto.Assim, o aplicativo do contribuinte deve estar preparado para gerar as mensagens no leiaute em vigor, devendo ainda informar a versão do leiaute da estrutura XML da mensagemna TAG correspondente em cada mensagem.<BPeTA xmlns="http://www.portalfiscal.inf.br/bpe"><infBPe Id="BPe43081808467115000100750010757245731000000010" versao="1.00">….</infBPe></BPeTA>Schemas XML das Mensagens dos Web ServicesToda mudança de leiaute das mensagens dos Web Services implica na atualização do seu respectivo Schema XML.A identificação da versão dos Schemas será realizada com o acréscimo do número da versão no nome do arquivo precedida da literal ‘_v’, como segue:BPeTA_v1.00.xsd (Schema XML do BPe TA, versão 1.00);tiposGeral_v1.00.xsd (Schema XML dos tipos do BPeTA, versão 1.00).A maioria dos Schemas XML do BPe TA utilizam as definições de tipos básicos ou tipos complexos que estão definidos em outros Schemas XML (ex.: tiposGeralBPe_v1.00.xsd,etc.), nestes casos, a modificação de versão do Schema básico será repercutida no Schema principal.Por exemplo, o tipo numérico de 15 posições com 2 decimais é definido no Schema tiposGeralBPe_v1.00.xsd, caso ocorra alguma modificação na definição deste tipo, todos osSchemas que utilizam este tipo básico devem ter a sua versão atualizada e as declarações “import” ou “include” devem ser atualizadas com o nome do Schema básico atualizado.As modificações de leiaute das mensagens dos Web Services podem ser causadas por necessidades técnicas ou em razão da modificação de alguma legislação. As modificaçõesdecorrentes de alteração da legislação deverão ser implementadas nos prazos previstos na norma que introduziu a alteração. As modificações de ordem técnica serão divulgadaspela Coordenação Técnica do ENCAT e poderão ocorrer sempre que se fizerem necessárias.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 18 / 842.5 Versão dos Schemas XMLLiberação das versões dos schemas para o BPe TAOs schemas válidos para a BPe TA serão disponibilizados no sítio nacional do Projeto (dfe-portal.svrs.rs.gov.br/BPe), e serão liberados após autorização da equipe de Gestãodo Projeto formada pelos Líderes dos Projetos nos Estados e representante das Empresas.A cada nova liberação de schema será disponibilizado um arquivo compactado contendo o conjunto de schemas a ser utilizados pelas empresas para a geração dos arquivosXML. Este arquivo será denominado “Pacote de Liberação” e terá a mesma numeração da versão do Manual de Orientações que lhe é compatível. Os pacotes de liberaçãoserão identificados pelas letras “PL_BPe”, seguida do número da versão do Manual de Orientações correspondente. Exemplificando: O pacote PL_BPe_1.00.zip representa o“Pacote de Liberação” de schemas do BPe TA compatíveis com o Manual de Orientações do Contribuinte – versão 1.00.Os schemas XML das mensagens XML são identificados pelo seu nome, seguido da versão do respectivo schema.Assim, para o schema XML de “BPe”, corresponderá um arquivo com a extensão “.xsd”, que terá o nome de “BPe_v9.99.xsd”, onde v9.99, corresponde a versão do respectivoschema.Para identificar quais os schemas que sofreram alteração em um determinado pacote liberado, deve-se comparar o número da versão do schema deste pacote com o do pacoteanterior.Correção de Pacote de LiberaçãoEm alguma situação pode surgir a necessidade de correção de um Schema XML por um erro de implementação de regra de validação, obrigatoriedade de campo, nome de tagdivergente do definido no leiaute da mensagem, que não modifica a estrutura do Schema XML e nem exige a alteração dos aplicativos da autorização ou dos contribuintes.Nesta situação, divulgaremos um novo pacote de liberação com o Schema XML corrigido, sem modificar o número da versão do PL para manter a compatibilidade com o Manualde Orientações do Contribuinte vigente.A identificação dos pacotes mais recentes se dará com o acréscimo de letras minúscula do alfabeto, como por exemplo: BPe_PL_1.00a.ZIP, indicando que se trata da primeiraversão corrigida do BPe_PL_1.00.ZIP.Divulgação de novos Pacotes de LiberaçãoA divulgação de novos pacotes de liberação ou atualizações de pacote de liberação será realizada através da publicação de Notas Técnicas no Portal Nacional do BPe TA comas informações necessárias para a implementação dos novos pacotes de liberação.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 19 / 84Controle de VersãoO controle de versão de cada um dos schemas válidos do BPe TA compreende uma definição nacional sobre:Qual a versão vigente (versão mais atualizada)?Quais são as versões anteriores ainda suportadas?Este controle de versão permite a adaptação dos sistemas de informática das empresas participantes do Projeto em diferentes datas. Ou seja, algumas empresas poderão estarcom uma versão de leiaute mais atualizada, enquanto outras empresas poderão ainda estar operando com mensagens em um leiaute anterior.Não estão previstas mudanças frequentes de leiaute de mensagens e as empresas deverão ter um prazo razoável para implementar as mudanças necessárias, conforme acordooperacional a ser estabelecido.Mensagens recebidas com uma versão de leiaute não suportada serão rejeitadas com uma mensagem de erro específica na versão do leiaute de resposta mais recente em uso.2.6 Sistema de Registro de EventosO Sistema de Registro de Eventos do BPe TA – SRE é o modelo genérico que permite o registro de evento de interesse do BPe TA originado a partir do próprio contribuinte ouda administração tributária.Um evento é o registro de um fato relacionado com o documento fiscal eletrônico, esse evento pode ou não modificar a situação do documento (por exemplo: cancelamento) ouaté mesmo substituí-lo por outro (por exemplo: substituição).O serviço para registro de eventos será disponibilizado pelo Ambiente Autorizador através de Web Service de processamento síncrono e será propagado para os demais órgãosinteressados pelo mecanismo de compartilhamento de documentos fiscais eletrônicos. As mensagens de evento utilizarão o padrão XML já definido para o projeto BPe contendoa assinatura digital do emissor do evento (seja ele contribuinte ou fisco).O registro do evento requer a existência do BPe TA vinculada no Ambiente Autorizador, contudo alguns tipos de eventos poderão ser registrados sem que exista a BPe na basede dados do autorizador em conformidade com as regras de negócio estabelecidas para este tipo de evento.O modelo de mensagem do evento deverá ter um conjunto mínimo de informações comuns, a saber:&#61623; Identificação do autor da mensagem;&#61623; Identificação do evento;&#61623; Identificação do BPe TA vinculado;&#61623; Informações específicas do evento;&#61623; Assinatura digital da mensagem;ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 20 / 84O Web Service será único com a funcionalidade de tratar eventos de forma genérica para facilitar a criação de novos eventos sem a necessidade de criação de novos serviçose com poucas alterações na aplicação de Registro de Eventos do Ambiente Autorizador.O leiaute da mensagem de Registro de Evento seguirá o modelo adotado para o documento BPe, contendo uma parte genérica (comum a todos os tipos de evento) e uma parteespecífica onde será inserido o XML correspondente a cada tipo de evento em uma tag do tipo any.As regras de validação referentes à parte genérica dos eventos estarão descritas no item 5 deste manual.As validações específicas de cada tipo de evento estarão descritas no item 6 deste Manual, originando um novo subitem para cada tipo de evento especificado.O Pacote de Liberação de schemas do BPe TA deverá conter o leiaute da parte genérica do Registro de Eventos e um schema para cada leiaute específico dos eventos definidosneste manual.Relação dos Tipos de EventoOs eventos identificados abaixo serão construídos gradativamente pelo ambiente autorizador, assim como novos eventos poderão ser identificados e acrescentados nesta tabelaem futuras versões deste MOC.Tipo deEvento Descrição EventoTipo deAutor do EventoTipo deMeio Informação BPe deveexistir?*** Evento: Empresa Emitente110111 Cancelamento 1-Empresa Emitente 1=via WS Evento Sim110115 Não embarque 1-Empresa Emitente 1=via WS Evento Sim112140 Não Fornecimento 1-Empresa Emitente 1=via WS Evento Sim112130 Ajuste de BPe TA 1-Empresa Emitente 1=via WS Evento Sim*** Evento: Fisco Emitente240140 Autorizado BPe de Substituição 2-Fisco Emitente 1=via WS Evento Sim240170 Liberação Prazo Cancelamento 2-Fisco Emitente 1=via WS Evento;2=via Extranet BPeSim240160 Autorizado BPe Vinculado 2-Fisco Emitente 1=via WS Evento; SimEventos de MarcaçãoSerão criados eventos de marcação de BPe para os casos em que um documento referenciar outro. Por exemplo: Autorizado BPe Vinculado.Esses eventos serão gerados automaticamente pelo Fisco no momento da autorização dos documentos e serão assinados digitalmente com certificado digital da SEFAZ Virtualautorizadora do BPe TA. Os eventos gerados nos BPe TA referenciados deverão constar da consulta pública destes documentos.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 21 / 842.7 Data e hora de emissão e outros horáriosTodos os campos que representam Data e Hora no leiaute das mensagens do BPe TA seguem o formato UTC completo com a informação do TimeZone. Este tipo derepresentação de dados é tecnicamente adequado para a representação do horário para um País com dimensões continentais como o Brasil.Serão aceitos os horários de qualquer região do mundo (faixa de horário UTC de -11 a +12) e não apenas as faixas de horário do Brasil.Exemplo: no formato UTC para os campos de Data-Hora, "TZD" pode ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00 (Manaus), no horário de verão serão -01:00,-02:00 e -03:00. Exemplo: "2010-08-19T13:00:15-03:00".2.8 SEFAZ virtualOs serviços da SEFAZ VIRTUAL compreendem os Web Services descritos no Modelo Conceitual da Arquitetura de Comunicação, conforme consta no Manual de Orientaçõesdo Contribuinte e nesta Nota Técnica.O credenciamento de contribuintes bem como a autorização de uso dos serviços de uma determinada SEFAZ VIRTUAL é responsabilidade da Administração Tributária decircunscrição daqueles contribuintes.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 22 / 843 Regras de Validações Gerais do BPeOs quadros a seguir representam as regras de validação genéricas para os serviços do BPe TA. Os quadros serão relacionados a cada serviço conforme a necessidade, alémdas regras específicas de cada Web Service.Grupo A: Validação do Certificado de Transmissão (protocolo TLS)# Regra de Validação Aplic. cStat Efeito MensagemA01 Certificado de Transmissor Inválido:- Certificado de Transmissor inexistente na mensagem- Versão difere "3"- Se informado, Basic Constraint deve ser true (não pode ser Certificado deAC)- KeyUsage não define "Autenticação Cliente"Obrig. 280 Rej. Rejeição: Certificado Transmissor inválidoA02 Validade do Certificado (data início e data fim) Obrig. 281 Rej. Rejeição: Certificado Transmissor Data ValidadeA03 Verificar a Cadeia de Certificação:- Certificado da AC emissora não cadastrado na SEFAZ- Certificado de AC revogado- Certificado não assinado pela AC emissora do CertificadoObrig. 283 Rej. Rejeição: Certificado Transmissor - erro Cadeia deCertificaçãoA04 LCR do Certificado de Transmissor- Falta o endereço da LCR (CRL DistributionPoint)- LCR indisponível- LCR inválidaObrig. 286 Rej. Rejeição: Certificado Transmissor erro no acesso a LCRA05 Certificado do Transmissor revogado Obrig. 284 Rej. Rejeição: Certificado Transmissor revogadoA06 Certificado Raiz difere da "ICP-Brasil" Obrig. 285 Rej. Rejeição: Certificado Transmissor difere ICP-BrasilA07 Falta a extensão de CNPJ no Certificado (OtherName - OID=2.16.76.1.3.3 Obrig. 282 Rej. Rejeição: Certificado Transmissor sem CNPJAs validações de A01, A02, A03, A04 e A05 são realizadas pelo protocolo TLS e não precisam ser implementadas. A validação A06 também pode ser realizada pelo protocolo,mas pode falhar se existirem outros certificados digitais de Autoridade Certificadora Raiz que não sejam “ICP-Brasil” no repositório de certificados digitais do servidor de WebService da SEFAZ.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 23 / 84Grupo B-0: Validação da Compactação da MensagemO sistema do autorizador deverá descompactar mensagem da área de Dados.Todas as validações serão aplicadas sobre o XML já descompactado# Regra de Validação Aplic. cStat Efeito MensagemB00 Verificar compactação da mensagem da área de dados Obrig. 244 Rej. Rejeição: Falha na descompactação da área de dadosGrupo B: Validação Inicial da Mensagem no Web Service# Regra de Validação Aplic. cStat Efeito MensagemB01 Tamanho do XML de Dados superior a 1024 Kbytes Obrig. 214 Rej. Rejeição: Tamanho da mensagem excedeu o limiteestabelecidoB02 XML de Dados MalformadoObrig. 243 Rej. Rejeição: XML MalformadoB03 Verificar se o Serviço de processamento está Paralisado Momentaneamente Obrig. 108 Rej. Serviço Paralisado Momentaneamente (curto prazo)B04 Verificar se o Serviço de processamento está Paralisado sem Previsão Obrig. 109 Rej. Serviço Paralisado sem PrevisãoA mensagem será descartada se o tamanho exceder o limite previsto (1024 KB) A aplicação do contribuinte não poderá permitir a geração de mensagem com tamanho superiora 1024 KB. Caso isto ocorra, a conexão poderá ser interrompida sem mensagem de erro se o controle do tamanho da mensagem for implementado por configurações doambiente de rede da SEFAZ (ex.: controle no firewall). No caso de o controle de tamanho ser implementado por aplicativo teremos a devolução da mensagem de erro 214.O Ambiente Autorizador que mantêm o Web Service disponível, mesmo quando o serviço estiver paralisado, deverá implementar as verificações 108 e 109. Estas validaçõespoderão ser dispensadas se o Web Service não ficar disponível quando o serviço estiver paralisado.Grupo C: Validação da área de dados da mensagem# Regra de Validação Aplic. cStat Efeito MensagemC01 Verificar Schema XML da Área de DadosObrig. 215Rej. Rejeição: Falha no schema XMLC02 Verificar a existência de qualquer namespace diverso do namespace padrãodo projeto (http://www.portalfiscal.inf.br/bpe)Obrig. 598 Rej. Rejeição: Usar somente o namespace padrão do BPeC03 Verificar a existência de caracteres de edição no início ou fim da mensagemou entre as tagsObrig. 599 Rej. Rejeição: Não é permitida a presença de caracteres deedição no início/fim da mensagem ou entre as tags damensagemProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 24 / 84C04 Verificar o uso de prefixo no namespace Obrig. 404 Rej. Rejeição: Uso de prefixo de namespace não permitidoC05 Verificar se XML utiliza codificação diferente de UTF-8 Obrig. 402 Rej. Rejeição: XML da área de dados com codificação diferentede UTF-8C06 Verificar se a versão do XML é suportadaObrig. 239 Rej. Rejeição: Versão informada para a BPe não suportadaGrupo D: Validações do Certificado de Assinatura Digital# Regra de Validação Aplic. cStat Efeito MensagemD01 Certificado de Assinatura Inválido:- Certificado de Assinatura inexistente na mensagem- Versão difere “3”- Basic Constraint = true (não pode ser Certificado de AC)- KeyUsage não define “Autenticação Cliente”Obrig. 290 Rej. Rejeição: Certificado Assinatura inválidoD02 Validade do Certificado (data início e data fim) Obrig. 291 Rej. Rejeição: Certificado Assinatura Data ValidadeD03 Falta a extensão de CNPJ no Certificado (OtherName – OID=2.16.76.1.3.3) Obrig. 292 Rej. Rejeição: Certificado Assinatura sem CNPJD04 Verificar a Cadeia de Certificação:- Certificado da AC emissora não cadastrado na SEFAZ- Certificado de AC revogado- Certificado não assinado pela AC emissora do CertificadoObrig. 293 Rej. Rejeição: Certificado Assinatura - erro Cadeia deCertificaçãoD05 LCR do Certificado de Assinatura- Falta o endereço da LCR (CRL DistributionPoint)- Erro no acesso à LCRObrig. 296 Rej. Rejeição: Certificado Assinatura erro no acesso a LCRD06 Certificado de Assinatura revogado Obrig. 294 Rej. Rejeição: Certificado Assinatura revogadoD07 Certificado Raiz difere da “ICP-Brasil” Obrig. 295 Rej Rejeição: Certificado Assinatura difere ICP-BrasilGrupo E: Validações da Assinatura Digital# Regra de Validação Aplic. cStat Efeito MensagemE01 Assinatura difere do padrão do Projeto:- Não assinado o atributo “ID” (falta “Reference URI” na assinatura)(*validado também pelo Schema)- Faltam os “Transform Algorithm” previstos na assinatura (“C14N” e“Enveloped”)Estas validações são implementadas pelo Schema XML da SignatureObrig. 298 Rej. Rejeição: Assinatura difere do padrão do ProjetoE02 Valor da assinatura (SignatureValue) difere do valor calculado Obrig. 297 Rej. Rejeição: Assinatura difere do calculadoE03 CNPJ-Base do Emitente difere do CNPJ-Base do Certificado DigitalObrig. 213 Rej. Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base doCertificado DigitalProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 25 / 844 Web ServicesOs Web Services disponibilizam os serviços que serão utilizados pelos aplicativos dos contribuintes. O mecanismo de utilização dos Web Services segue as seguintes premissas:a) Será disponibilizado um Web Service por serviço, existindo um método para cada tipo de serviço;b) O envio da solicitação e a obtenção do retorno serão realizados na mesma conexão através de um único método.c) As URLs dos Web Services encontram-se no Portal Nacional do BPe (dfe-portal.svrs.rs.gov.br/BPe). Acessando a URL pode ser obtido o WSDL (Web ServicesDescription Language) de cada Web Service.d) O processo de utilização dos Web Services sempre é iniciado pelo contribuinte enviando uma mensagem nos padrões XML e SOAP, através do protocolo TLS comautenticação mútua.e) A ocorrência de qualquer erro na validação dos dados recebidos interrompe o processo com a disponibilização de uma mensagem contendo o código e a descriçãodo erro.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 26 / 844.1 WebService Síncrono de Recepção BPe TAO Serviço de Recepção de BPe Transporte Aéreo é o serviço oferecido pelos Portais das Secretarias da Fazenda dos Estados para recepção dos BPe TA emitidos peloscontribuintes credenciados em sua unidade federada.A forma de processamento do serviço de recepção de BPe TA é síncrona sem a formação de lotes. O contribuinte deve transmitir BPe TA através do Web Service de recepçãode BPe TA e receberá o resultado do processamento na mesma conexão.O BPe Transporte Aéreo será emitido por contribuintes que possuírem credenciamento específico para essa modalidade de BPe identificada pelo modal de transporte aéreo(tag: modal = 2), portanto, não serão necessariamente os mesmos que já emitem o BPe normal.Função: serviço destinado à recepção de mensagens de envio de BPe Transporte Aéreo.Processo: síncrono.Método: bpeRecepcaoTAParâmetro da Mensagem da área de dados: Compactada utilizando GZip (Base64)Leiaute Mensagem de EntradaEntrada: Estrutura XML com o Bilhete de Passagem Transporte Aéreo está definida no documento último capítulo desta Nota Técnica.Schema XML: BPeTA_v9.99.xsdLeiaute Mensagem de RetornoRetorno: Estrutura XML com a mensagem do resultado do envio do BPe TA usará o mesmo schema de retorno do BPe NormalSchema XML: retBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoAR01 retBPe Raiz - - - - TAG raiz da RespostaAR02 versao A AR01 N 1-1 1-4 Versão do leiauteAR03 tpAmb E AR01 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 – HomologaçãoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 27 / 84AR04 cUF E AR01 N 1-1 2 Código da UF que atendeu à solicitação.AR05 verAplic E AR01 C 1-1 1-20 Versão do Aplicativo que recebeu o BPe.AR06 cStat E AR01 N 1-1 4 Código do status da respostaAR07 xMotivo E AR01 C 1-1 1-255 Descrição literal do status da respostaAR08 protBPe G AR01 - 0-1 - Resposta ao processamento do BPeLeiaute de BPe processadoO BPe TA usará o mesmo layout de BPe Processado Normal.# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoPR01 protBPe Raiz - - - - TAG raiz da resposta processamentoPR02 versao A PR01 N 1-1 2v2 Versão do leiautePR03 infProt G PR01 - 1-1 - Informações do protocolo de respostaPR04 Id A PR03 C 0-1 - Identificador da TAG a ser assinada, somente precisa ser informado se a UFassinar a resposta. Em caso de assinatura da resposta pela SEFAZ preencher ocampo com o Nro do Protocolo, precedido com o literal “ID”PR05 tpAmb E PR03 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 – HomologaçãoPR06 verAplic E PR03 C 1-1 1-20 Versão do Aplicativo que recebeu o BPe.PR07 chBPe E PR03 N 1-1 44 Chave de acesso do BPePR08 dhRecbto E PR03 D 1-1 - Data e Hora do ProcessamentoFormato = AAAA-MM-DDTHH:MM:SS TZDPreenchido com data e hora da gravação do BPe no Banco de Dados.Em caso de Rejeição, com data e hora do recebimento do Arquivo do BPeenviado.PR09 nProt E PR03 N 0-1 15 Número do protocolo de autorização do BPePR10 digVal E PR03 C 0-1 28 Digest Value do BPe processado, utilizada para conferir a integridade com oBPe originalPR11 cStat E PR03 N 1-1 3 Código do status da resposta para o BPePR12 xMotivo E PR03 C 1-1 1-255 Descrição literal do status da resposta para o BPePR13 infFisco G PR01 - 0-1 - Grupo reservado para envio de mensagem do Fisco para o contribuintePR14 cMsg E PR13 N 1-1 3 Código de status da mensagem do fiscoPR15 xMsg E PR13 C 1-1 1-255 Mensagem do Fisco para o contribuintePR16 Signature G PR01 XML 0-1 - Assinatura XML do grupo identificado pelo atributo “ID”A decisão de assinar a mensagem fica a critério da UF interessada.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 28 / 84Regras de Validação Básicas do ServiçoDeverão ser aplicadas as validações gerais conforme quadro abaixo:Grupo DescriçãoA Validação do Certificado de Transmissão (protocolo TLS)B-0 Validação da Compactação da MensagemB Validação Inicial da Mensagem no Web ServiceC Validação da Área de Dados da mensagemD Validação do Certificado de AssinaturaE Validações da Assinatura DigitalRegras de Negócio do BPe TA#Regra de ValidaçãoAplic. cStat EfeitoMensagemValidações GeraisF01 Tipo do ambiente do BPe difere do ambiente do Web Service Obrig. 252 Rej.Rejeição: Ambiente informado diverge do Ambiente derecebimentoF02 Código da UF do Emitente difere da UF Autorizadora Obrig. 226 Rej.Rejeição: Código da UF do Emitente diverge da UFautorizadoraF03Sigla da UF do Emitente difere da UF Autorizadora Obrig. 247 Rej. Rejeição: Sigla da UF do Emitente diverge da UFautorizadoraF04Código da UF do emitente difere da Sigla da UF do emitente Obrig, 233 Rej. Rejeição: Código da UF do emitente difere da Sigla da UFdo EmitenteF05Se forma de emissão do BPe = 1 (Normal):dhCont e xJust não devem ser informadosObrig. 415 Rej. Rejeição: Data e Justificativa de entrada em contingêncianão devem ser informadas para tipo de emissão igual aNormal.F06Se forma de emissão do BPe = 2 (Contingência Off-Line):dhCont e xJust devem ser informadosObrig. 416 Rej. Rejeição: Data e Justificativa de entrada em contingênciadevem ser informadasF07Se Data de entrada em contingência estiver informada, esta deve sermenor ou igual à data de emissãoObrig 417 Rej. Rejeição: Data de entrada em contingência posterior ouigual a data de emissão.F08Se forma de emissão do BPe = 2 (Contingência Off-Line):Rejeitar se UF do emitente estiver configurada para não aceitar este tipode contingência.Obrig. 418 Rej. Rejeição: UF do Emitente não permite emissão Off-lineProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 29 / 84F09Campo "ID" inválido:- Falta literal "BPe"- Chave de acesso do campo ID difere da concatenação dos camposcorrespondentesObrig. 227 Rej.Rejeição: Erro na composição do Campo IDF10 Verificar se Ano da chave de acesso é inferior a 2025 Obrig. 421 Rej.Rejeição: Ano do BPe informado na chave de acessoinválidoF11Dígito Verificador inválido da Chave de acesso resultante da concatenaçãodos campos correspondentesObrig. 253 Rej.Rejeição: Digito Verificador da chave de acesso compostainválidoValidações da ViagemF12 Município de Início da viagem do BPe diverge da UF (verificar se as 2posições da esquerda do código de município que identifica o código daUF estão de acordo com a sigla da UF informada)Obrig. 409 Rej. Rejeição: Código de Município diverge da UF de início daviagem do BPeF13 Rejeitar se UF de início da viajem for diferente da UF do emitente Obrig. 505 Rej. Rejeição: UF de início da viagem deve ser igual a UF doemitente do BPeF14 Código do Município de início da viagem deve existir (Tabela Municípios doIBGE)Obrig. 405 Rej. Rejeição: Município de início da viagem inexistenteF15 Município de fim da viagem do BPe diverge da UF (verificar se as 2posições da esquerda do código de município que identifica o código daUF estão de acordo com a sigla da UF informada)Obrig. 410 Rej. Rejeição: Código de Município diverge da UF de fim daviagem do BPeF16 Se UF de fim da viagem for diferente de exterior (tag:ide/UFFim <> “EX”):Código do Município de fim da viagem deve existir (Tabela Municípios doIBGE)Obrig. 406 Rej. Rejeição: Município de fim da viagem inexistenteF17 Se UF de fim da viagem for igual a exterior (tag:ide/UFFim = “EX”):- Código do Município de fim da viagem deve ser 9999999Obrig. 411 Rej. Rejeição: Código de Município inválido para viagem aoexteriorF18 Se informado CPF do passageiro:- Validar CPF do passageiro (dígito de controle, zeros)Obrig. 497 Rej. Rejeição: CPF do passageiro inválidoF19 Se o grupo de informações da viagem (grupo:infViagem) NÃO for múltiplo:- Deve existir apenas uma viagem com tipo de trecho Normal (tag:tpTrecho= 1)Obrig. 419 Rej. Rejeição: Viagem sem conexão com trecho inválidoF20 Se o grupo de informações da viagem (grupo:infViagem) for múltiplo:- Deve existir obrigatoriamente uma viagem com tipo de trecho inicial(tag:tpTrecho = 2) e as demais devem ser obrigatoriamente do tipo detrecho conexão (tag:tpTrecho = 3)Obrig, 420 Rej. Rejeição: Viagem com conexão com um dos trechosinválidosF21 Se informado tipo de trecho Conexão (tag:tpTrecho = 3):- A data-hora da conexão deve ser informada no trecho ConexãoObrig. 484 Rej. Rejeição: A data-hora da conexão deve ser informada paraviagem conexãoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 30 / 84F22 Se informado tipo de trecho diferente de Conexão (tag:tpTrecho = 1 ou 2):- A data-hora da conexão NÃO deve ser informada no trechoObrig. 485 Rej. Rejeição: A data-hora da conexão não deve ser informadapara viagem normal ou trecho inicialF23 Se informada data-hora da conexão, esta deve ser maior que a data-horado embarqueObrig, 486 Rej. Rejeição: A data-hora da conexão deve ser maior que adata-hora do embarqueValidações do EmitenteF24 Validar CNPJ Emitente (dígito controle, zeros ou nulo) Obrig. 207 Rej. Rejeição: CNPJ do emitente inválidoF25 IE Emitente deve ser informada (zeros ou nulo) Obrig. 229 Rej. Rejeição: IE do emitente não informadaF26 Validar IE Emitente (erro no dígito de controle)Obs.: Antes da validação, a IE deverá ser normalizada, na aplicação daSEFAZ, com o acréscimo de zeros não significativos previstos na definiçãodo formato da IE se necessário.Ex.: IE informada 130000019, formato da IE: NNNNNNNNNND, a IE deveser padronizada para 00130000019, com o acréscimo dos zeros nãosignificativos necessários para a validação do dígito verificador.Obrig. 209 Rej. Rejeição: IE do emitente inválidaF27 Emitente não credenciado para emissão de BPe Aéreo Obrig. 203 Rej. Rejeição: Emissor não habilitado para emissão do BPeF28 Acessar Cadastro de Emitentes (CNE, Chave: UF, IE):- IE emitente não cadastradaFacult. 230 Rej. Rejeição: IE do emitente não cadastradaF29 IE Emitente deve estar vinculada ao CNPJ (tratar Regime Especial de IEúnica)Obrig. 231 Rej. Rejeição: IE do emitente não vinculada ao CNPJF31 Emitente em situação irregular perante o Fisco Obrig. 205 Rej. Emitente em situação irregular perante o FiscoF32 Município do Emitente diverge da UF (verificar se as 2 posições daesquerda do código de município que identifica o código da UF écompatível com a sigla da UF informada)Obrig. 407 Rej Rejeição: Código de Município diverge da UF do Emitentedo BPeF33 Código do Município Emitente inexistente (Tabela Municípios do IBGE) Obrig. 408 Rej. Rejeição: Município do Emitente inexistenteValidações do CompradorF34 Se CNPJ Comprador informado:- Validar CNPJ Comprador (dígito de controle, zeros)Obrig. 422 Rej. Rejeição: CNPJ do comprador inválidoF35 Se CPF Comprador informado:- Validar CPF Comprador (dígito de controle, zeros)Obrig. 423 Rej. Rejeição: CPF do comprador inválidoF36 Se informado Comprador:- Município do Comprador deve pertencer à UF (verificar se as 2 posiçõesda esquerda do código de município que identifica o código da UF écompatível com a sigla da UF informada)Obrig. 424 Rej Rejeição: Código de Município diverge da UF de localizaçãocompradorF37 Se informado Comprador e endereço do Comprador não for exterior(tag:enderComp/UF <> “EX”)Obrig. 425 Rej. Rejeição: Município do comprador inexistenteProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 31 / 84- Código do Município do Comprador deve existir (Tabela Municípios doIBGE)F38 Se informado Comprador e endereço do Comprador for exterior(tag:enderComp/UF = “EX”)- Código do Município do Comprador deve ser 9999999Obrig. 426 Rej. Rejeição: Código de Município inválido para compradorresidente no exteriorF39 Se IE Comprador informada:- Validar IE do Comprador (erro no dígito de controle)Observação.: Antes da validação, a IE deverá ser normalizada, naaplicação da SEFAZ, com o acréscimo de zeros não significativosprevistos na definição do formato da IE se necessário.Ex.: IE informada 130000019, formato da IE: NNNNNNNNNND, a IE deveser padronizada para 00130000019, com o acréscimo dos zeros nãosignificativos necessários para a validação do dígito verificador.Obrig. 427 Rej. Rejeição: IE do comprador inválidaF40 Se IE Comprador informada:Acessar Cadastro de Contribuinte da UF (Chave: IE Comprador) (*1)- IE deve estar cadastradaObrig. 428 Rej. Rejeição: IE do comprador não cadastradaF41 Se IE e CNPJ Comprador informados:Acessar Cadastro de Contribuinte da UF (Chave: IE Comprador.) (*1)- IE deve estar vinculada ao CNPJObrig. 429 Rej. Rejeição: IE do comprador não vinculada ao CNPJF42 Se IE Comprador = “ISENTO” ou não informadaAcessar Cadastro de Contribuinte da UF (*1)- Comprador possui IE ativa na UFObrig. 430 Rej. Rejeição: IE do Comprador não informadaValidações da AgênciaF43 Se informada Agência (grupo:agencia):Validar CNPJ Agência (dígito de controle, zeros)Observação: Para agência do exterior aceitar zerosObrig. 431 Rej. Rejeição: CNPJ da Agência inválidoF44 Se informada Agência (grupo:agencia):Município da Agência deve pertencer à UF (verificar se as 2 posições daesquerda do código de município que identifica o código da UF écompatível com a sigla da UF informada)Obrig. 432 Rej Rejeição: Código de Município diverge da UF de localizaçãoda AgênciaF45 Se informada Agência (grupo:agencia) e endereço não for exterior(tag:enderAgencia/UF <> “EX”):Código do Município da Agência deve existir (Tabela Municípios do IBGE)Obrig. 433 Rej. Rejeição: Município da Agência inexistenteF46 Se informado Agência e endereço da Agência for exterior(tag:enderAgencia/UF = “EX”):Código do Município da Agência deve ser 9999999Obrig. 503 Rej. Rejeição: Código do Município inválido para Agência doexteriorProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 32 / 84Validações da Data de EmissãoF47 Data/Hora de Emissão posterior a Data/Hora de Recebimento (o AmbienteAutorizador deve considerar a hora local do emissor para a validação). ASEFAZ deve tolerar uma diferença máxima de 5 minutos quando adata/hora de emissão for maior que a data de recebimento, em função dasincronização de horário de servidores.Obrig. 212 Rej. Rejeição: Data/hora de emissão BPe posterior a data/horade recebimentoF48 Se tipo de emissão for Normal (tag:tpEmis=1):Data-Hora de Emissão com atraso superior a 5 minutos em relação aohorário de recepção na SEFAZ Autorizadora.Exceção 1: A critério da UF, a rejeição acima pode ser efetuada paraqualquer Tipo de Emissão.Exceção 2: A critério da UF, pode ser aceito BPe com Data de Emissãomuito atrasada, desde que tenha sido emitido em contingência Off-Line(tag:tpEmis=2). O BPe transmitido para a SEFAZ Autorizadora após oprazo de 24 horas deve retornar: cStat=”150- Autorizado Uso do BPe,autorização fora de prazo”.Observação: A emissão do BPe deve ocorrer de forma on-line, real-time,com uma tolerância de até 5 minutos, devido ao sincronismo de horário doServidor da Empresa e o servidor da SEFAZ AutorizadoraObrig. 228 Rej. Rejeição: BPe com Data-Hora de Emissão muito atrasadaF49 Data-hora do embarque deve ser igual ou superior a data de emissão Obrig. 254 Rej. Rejeição: Data-hora do embarque deve ser maior ou igualdata de emissãoValidações do Tipo da CompraF50Se tipo de compra for Normal (tag: tpCompra = 0) ou Vinculado a BPeMúltiplo (tag: tpCompra =2):Os dados do passageiro devem ser informados (grupo: infPassageiro)Obrig. 441 Rej. Rejeição: Passageiro deve ser informado para o tipo decompra informadoF51Se tipo de compra for múltiplo (tag: tpCompra = 1)Os dados do passageiro NÃO devem ser informados (grupo:infPassageiro)Obrig. 442 Rej. Rejeição: Dados do passageiro não devem ser informadospara BPe MúltiploF52Se tipo de compra for múltiplo (tag: tpCompra = 1):Os dados do comprador DEVEM ser informados (grupo: comp)Obrig. 443 Rej. Rejeição: Comprador deve ser informado para BPe MúltiploF53Se tipo de compra for Normal (tag: tpCompra = 0) ou múltiplo (tag:tpCompra = 1):O grupo de informações de Valor do BPe e Impostos devem serinformados (grupos: infValorBPe e imp)Obrig. 444 Rej. Rejeição: BPe Normal e Múltiplo exigem informação devalores e destaque de impostoF54 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):O grupo de informações do BPe Vinculado deve ser informado (grupo:infBPeVinculado)Obrig. 445 Rej. Rejeição: BPe vincula a BPe Múltiplo exige a informação dachave de acesso do BPe MúltiploProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 33 / 84F55 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- Validar chave de acesso do BPe Múltiplo.Retornar motivo da rejeição da Chave de Acesso: CNPJ zerado ouinválido, Ano < 2017 ou maior que atual, Mês inválido (0 ou > 12), Modelodiferente de 63, Número zerado, Tipo de emissão inválido, UF inválida ouDV inválido)[Motivo: XXXXXXXXXXXX]Obrig. 446 Rej. Rejeição: Chave de acesso do BPe múltiplo inválidaF56 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- O BPe Múltiplo deve existirAcesso BD BPE (Chave: CNPJ Emit, Modelo, Série, Nro)Obrig 447 Rej Rejeição: BPe múltiplo inexistenteF57 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- BPe múltiplo não pode existir com diferença na Chave de AcessoRetornar a chave de acesso já autorizada, o número do protocolo e datade autorização do BPe[chBPe: 99999999999999999999999999999999999999999999][nProt:999999999999999][dhAut: AAAA-MM-DDTHH:MM:SS TZD]Obrig. 448 Rej. Rejeição: BPe múltiplo com diferença de Chave de AcessoF58 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- O BPe múltiplo não pode estar canceladoObrig. 471 Rej Rejeição: BPe múltiplo deve estar na situação Autorizado oUsoF59 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- O BPe múltiplo não pode estar substituídoObrig. 472 Rej Rejeição: BPe múltiplo não pode ter sido substituídoanteriormenteF60 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- O BPe múltiplo deve ser do modal aéreoObrig 473 Rej Rejeição: O BPe múltiplo deve ser do modal aéreoF61 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- CNPJ do emitente do BPe múltiplo deve ser igual ao informado no BPevinculado a múltiploObrig. 474 Rej. Rejeição: CNPJ do emitente do BPe múltiplo deve ser igualao informado no BPe vinculado a BPe múltiploF62 Se tipo de compra for Vinculado a BPe Múltiplo (tag: tpCompra = 2):- IE do emitente do BPe múltiplo deve ser igual ao informado no BPevinculado a BPe múltiploObrig, 476 Rej. Rejeição: IE do emitente do BPe substituto deve ser igual àinformada no BPe substituídoValidações de ValoresF63 Verificar se valor total do bilhete (tag:vBP) não ultrapassa limite de R$9.999.999,99OBS: A SEFAZ poderá aumentar o limite para contribuintes que operamcom valores acima desse teto.Obrig. 434 Rej. Rejeição: Valor total do bilhete superior ao limite permitido(R$ 9.999.999,99)F64 Verificar se o valor da soma dos componentes do valor do BPe(tag:Comp/vComp) corresponde ao valor total do bilhete de passagem(tag:vBP)* Considerar uma tolerância de R$ 1,00 para mais ou para menosObrig. 436 Rej. Rejeição: Valor da soma dos componentes não correspondeao valor total do bilheteF65 Se informado o Tipo de Desconto (tag:tpDesconto), a descrição do tipo dedesconto deve ser informada (tag:xDesconto)Obrig. 437 Rej. Rejeição: Descrição do Tipo do desconto deve ser informadaProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 34 / 84F66 Se informado o tipo de desconto, o valor do desconto (tag:vDesconto) deveser maior que zeroObrig. 401 Rej. Rejeição: Valor de desconto deve ser informado quandoindicado o tipo de benefícioF67 Se informado valor do desconto (tag:vDesconto) maior que zero e/ouinformado conteúdo em xDesconto- O campo tpDesconto deverá estar preenchidoObrig. 500 Rej. Rejeição: O tipo do desconto deve ser informadoF68 Se NÃO estiver informado campo tpDesconto:- Rejeitar se valor do BPe for igual a zeroObrig. 501 Rej. Rejeição: Valor do BPe sem desconto deve ser maior quezeroF69 Validar se o somatório das formas de pagamento (tag:pag/vPag) édiferente do valor pago do BPe (tag:vPgto) + Troco (tag:vTroco)* Considerar uma tolerância de R$ 1,00 para mais ou para menosObrig. 438 Rej. Rejeição: BPe com somatório dos pagamentos diferente dototal pagoF70 Validar se o valor pago pelo BPe (tag:vPgto) corresponde ao valor total dobilhete (tag: vBP) menos o valor do desconto (tag:vDesconto)Obrig. 403 Rej. Rejeição: Valor pago difere do Valor Total menos o descontoconcedidoF71 Se a forma de pagamento for cartão (tag:tPag=03 ou 04):O grupo de informações do cartão (tag:card) deve ser informadoObrig. 475 Rej. Rejeição: Não informados os dados do cartão decrédito/débito nas formas de pagamentoF72 Se informado o tipo de integração como pagamento não integrado com osistema de automação da empresa (tag: tpIntegra=2) para UF que nãoaceita esse tipo de integração.Observação: Regra de Validação opcional a critério da UF.Facult. 477 Rej. Rejeição: Pagamento com cartão de crédito em sistema deautomação não integradoF73 Se informado CNPJ da credenciadora do cartão de crédito/débito(tag:card/CNPJ):- Validar CNPJ da credenciadora (dígito de controle, zeros)Obrig. 502 Rej. Rejeição: CNPJ da credenciadora do cartão inválidoF74 Se informado o grupo de Cartão de Crédito / Débito (tag:card):- Se o pagamento com cartão for integrado ao sistema de automação daempresa (tag:tpIntegra=1) devem ser informados os campos de CNPJ daCredenciadora e o código de autenticação da operação (tag:card/CNPJ ecard/cAut)Observação: Implementação por padrão, opcional a critério da UFFacult. 478 Rej. Rejeição: Não informados os dados da operação depagamento por cartão de crédito / débitoValidações do IBS / CBSF75 Não informado grupo de imposto IBS e CBS (grupo: imp/IBSCBS)Observação: Aplicar em ambiente de homologação a partir de 03 denovembro/25 e produção a partir de 05 de janeiro/26Exceção: Se o CRT informado pelo emitente for 1-Simples Nacional, 2-Simples Nacional, excesso sublimite de receita bruta ou 4 -MEI, o grupoIBSCBS NÃO será exigidoObrig. 310 Rej. Rejeição: IBS / CBS não informadoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 35 / 84F76 Se CST do IBS/CBS for informado, este deve existir na tabela de Códigode Situação Tributária (tag: IBSCBS/CST)Obrig. 311 Rej. Rejeição: CST informado inexistenteF77 Se cClassTrib for informado, este deve existir na tabela de ClassificaçãoTributária do IBS/CBS (tag: IBSCBS/cClassTrib)Obrig. 312 Rej. Rejeição: Classificação Tributária informada inexistenteF78 Verificar se o CST informado é compatível com o cClassTrib Obrig. 313 Rej. Rejeição: Classificação Tributária incompatível com o CSTinformadoF79 Verificar se o cClassTrib informado (tag: IBSCBS/cClassTrib) possuiindicador que não permite ser informado nesse modelo de DFeObrig. 388 Rej. Rejeição: Classificação Tributária do IBS/CBS não permitidaneste modelo de DFe.F80 Se o CST informado possuir indicador que VEDA preenchimento do grupode informações específicas do IBS/CBS, este grupo NÂO DEVE estarinformado (grupo: gIBSCBS)Obrig 314 Rej. Rejeição: Grupo IBS/CBS não deve ser preenchido para oCST informadoF81 Se o CST informado possuir indicador que EXIGE preenchimento do grupode informações específicas do IBS/CBS, este grupo DEVE estar informado(grupo: gIBSCBS)Exceção: Se o CRT informado pelo emitente for 1-Simples Nacional, 2-Simples Nacional, excesso sublimite de receita bruta ou 4 -MEI, o grupogIBSCBS NÃO será exigidoObrig 315 Rej. Rejeição: Grupo IBS/CBS deve ser preenchido para o CSTinformadoF82 Se informado grupo IBS de competência das Unidades Federadas(gIBSUF):A alíquota de IBS da UF (pIBSUF) deverá ser:&#61623; 0,1% para documento com data de emissão no ano de 2026. (Art.343 da LC 214/25)&#61623; 0,05% para documento com data de emissão no ano de 2027 e2028. (Art. 344 da LC 214/25)&#61623; Alíquota de referência ou específica da UF a ser publicada paraanos posteriores a 2028.Exceção: Se o cClassTrib possuir indicador de tributação regular opIBSUF deve ser igual a zeroObrig. 316 Rej. Rejeição: Alíquota do IBS da UF inválidaF83 Se CST informado possuir indicador que EXIGE informação de redução dealíquota para o IBS Estadual ou informado grupo de compragovernamental, o grupo gRed DEVE estar informadoObrig. 366 Rej. Rejeição: CST informado ou compras governamentaisobriga informação de redução de alíquota estadualF84 Se informado grupo de Redução de Alíquota para IBS Estadual(gIBSUF/gRed):Verificar se percentual de Redução de Alíquota (pRedAliq) é válido para ocClassTrib informado (gIBSCBS/cClassTrib)Obrig. 389 Rej. Rejeição: Percentual de redução de alíquota da UF não éválido para este cClassTribProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 36 / 84F85 Se informado grupo de Redução de Alíquota para IBS Estadual(gIBSUF/gRed), a Alíquota Efetiva (tag: pAliqEfet) deve ser o resultado de:Se NÃO houver compra governamental (grupo gCompraGov nãoinformado):pAliqEfet = pIBSUF × (1 - pRedAliq /100).Se houver compra governamental (grupo gCompraGov informado):pAliqEfet = pIBSUF × (1 - pRedAliq /100) × (1 - pRedutor/100).Observação: pRedutor é obtido no grupo gCompraGovExemplo: Redução de 40% na alíquota:Alíquota vigente (A): 10%Redução na alíquota (R): 40%Redutor de compras governamentais (RG): 5%Alíquota Efetiva (E): E = A * (1 - R) * (1- RG)E = 10 * (1 - 0,4) *(1-0,05) = 5,7Obrig. 390 Rej. Rejeição: Valor da Alíquota Efetiva do IBS da UF calculadoincorretamenteF86 Se CST informado possuir indicador que VEDA a informação de reduçãode alíquota para o IBS Estadual, o grupo gRed NÃO DEVE estar informadoExceção: Se Percentual de redução de alíquota em compragovernamental (tag:gCompraGov/pRedutor) informado, este grupo éexigido e pRed deve ser igual a 0.Obrig. 367 Rej. Rejeição: CST informado não permite informação deredução de alíquota estadualF87 Se CST informado possuir indicador que EXIGE informação de Diferimentopara o IBS Estadual, o grupo gDif DEVE estar informadoObrig. 319 Rej. Rejeição: CST informado obriga informação de diferimentoEstadualF88 Se CST informado possuir indicador que VEDA informação de Diferimentopara o IBS Estadual, o grupo gDif NÃO DEVE estar informadoObrig. 368 Rej. Rejeição: CST informado não permite informação dediferimento EstadualF89 Se informado grupo do Diferimento (gIBSUF/gDif):O valor do Diferimento (vDif) deverá ser resultante do Valor do IBS UF xPercentual do Diferimento ((vBC x pIBSUF) x pDif)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet)Obrig. 320 Rej. Rejeição: Valor do Diferimento da UF difere do calculadoF90 Se informado grupo IBS de competência das Unidades Federadas(gIBSUF):O valor resultante da soma do diferimento (vDif) e Devolução (DevTrib)QUANDO INFORMADOS, NÃO pode ser superior ao valor do IBS(vIBSUF)Obrig. 395 Rej. Rejeição: Valor do IBS UF não pode resultar negativoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 37 / 84F91 Se informado grupo IBS de competência das Unidades Federadas(gIBSUF):O valor do IBS (vIBSUF) deverá ser resultante da Base de Cálculo xAlíquota (vBC x pIBSUF) – vDif - vDevTribObservação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet)Obrig. 318 Rej. Rejeição: Valor do IBS UF difere do calculadoF92 Se informado grupo IBS de competência dos Municípios (gIBSMun):A alíquota de IBS Municipal deverá ser:&#61623; 0% para documento com data de emissão no ano de 2026. (Art.343 da LC 214/25)&#61623; 0,05% para documento com data de emissão no ano de 2027 e2028. (Art. 344 da LC 214/25)&#61623; Alíquota de referência ou específica do Município a ser publicadapara anos posteriores a 2028Exceção: Se o cClassTrib possuir indicador de tributação regular opIBSMun deve ser igual a zeroObrig. 321 Rej. Rejeição: Alíquota do IBS do Município inválidaF93 Se CST informado possuir indicador que EXIGE informação de redução dealíquota para o IBS Municipal ou informado grupo de compragovernamental, o grupo gRed DEVE estar informadoObrig. 369 Rej. Rejeição: CST informado ou compras governamentaisobriga informação de redução de alíquota municipalF94 Se informado grupo de Redução de Alíquota para IBS Municipal(gIBSMun/gRed):Verificar se percentual de Redução de Alíquota (pRedAliq) é válido para ocClassTrib informado (gIBSCBS/cClassTrib)Obrig. 391 Rej. Rejeição: Percentual de redução de alíquota do Municípionão é válido para este cClassTribF95 Se informado grupo de Redução de Alíquota para IBS Municipal(gIBSMun/gRed), a Alíquota Efetiva (tag: pAliqEfet) deve ser o resultadode:Se NÃO houver compra governamental (grupo gCompraGov nãoinformado):pAliqEfet = pIBSMun × (1 - pRedAliq /100).Se houver compra governamental (grupo gCompraGov informado):pAliqEfet = pIBSMun × (1 - pRedAliq /100) × (1 - pRedutor/100).Observação: pRedutor é obtido no grupo gCompraGovObrig. 392 Rej. Rejeição: Valor da Alíquota Efetiva do IBS do Municípiocalculado incorretamenteProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 38 / 84Exemplo: Redução de 40% na alíquota:Alíquota vigente (A): 10%Redução na alíquota (R): 40%Redutor de compras governamentais (RG): 5%Alíquota Efetiva (E): E = A * (1 - R) * (1- RG)E = 10 * (1 - 0,4) *(1-0,05) = 5,7F96 Se CST informado possuir indicador que VEDA a informação de reduçãode alíquota para o IBS Municipal, o grupo gRed NÃO DEVE estarinformadoExceção: Se Percentual de redução de alíquota em compragovernamental (tag:gCompraGov/pRedutor) informado, este grupo éexigido e pRed deve ser igual a 0.Obrig. 381 Rej. Rejeição: CST informado não permite informação deredução de alíquota municipalF97 Se CST informado possuir indicador que EXIGE informação de Diferimentopara o IBS Municipal, o grupo gDif DEVE estar informadoObrig. 324 Rej. Rejeição: CST informado obriga informação de diferimentoMunicipalF98 Se CST informado possuir indicador que VEDA informação de Diferimentopara o IBS Municipal, o grupo gDif NÃO DEVE estar informadoObrig. 382 Rej. Rejeição: CST informado não permite informação dediferimento MunicipalF99 Se informado grupo do Diferimento (gIBSMun/gDif):O valor do Diferimento (vDif) deverá ser resultante do Valor do IBSMun xPercentual do Diferimento ((vBC x pIBSMun) x pDif)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet)Obrig. 325 Rej. Rejeição: Valor do Diferimento do Município difere docalculadoF100 Se informado grupo IBS de competência dos Municípios (gIBSMun):O valor do IBS (vIBSMun) deverá ser resultante da Base de Cálculo xAlíquota (vBC x pIBSMun) – vDif - vDevTribObservação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet)Obrig. 323 Rej. Rejeição: Valor do IBS Municipal difere do calculadoF101 Se informado grupo IBS de competência dos Municípios (gIBSMun):O valor resultante da soma do diferimento (vDif) e Devolução (DevTrib)QUANDO INFORMADOS, NÃO pode ser superior ao valor do IBS(vIBSMun)Obrig. 396 Rej. Rejeição: Valor do IBS Municipal não pode resultar negativoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 39 / 84F102 Se informados grupos IBS de competência dos Estados (gIBSUF) eMunicípios (gIBSMun):O valor do total de IBS (vIBS) deverá ser a soma do vIBSUF e dovIBSMUnvIBS = vIBSUF + vIBSMunObrig. 317 Rej. Rejeição: Total de IBS difere do calculadoF103 Se informado grupo CBS (gCBS):A alíquota de CBS deverá ser:&#61623; 0,90 % para documento com data de emissão no ano de 2026.(Art. 346 da LC 214/25)&#61623; Alíquota de referência a ser publicada para anos posteriores a2026Exceção: Se o cClassTrib possuir indicador de tributação regular o pCBSdeve ser igual a zeroObrig. 326 Rej. Rejeição: Alíquota da CBS inválidaF104 Se CST informado possuir indicador que EXIGE informação de redução dealíquota para o CBS ou informado grupo de compra governamental, ogrupo gRed DEVE estar informadoObrig. 383 Rej. Rejeição: CST informado ou compras governamentaisobriga informação de redução de alíquota do CBSF105 Se informado grupo de Redução de Alíquota para CBS (gCBS/gRed):Verificar se percentual de Redução de Alíquota (pRedAliq) é válido para ocClassTrib informado (gIBSCBS/cClassTrib)Obrig. 393 Rej. Rejeição: Percentual de redução de alíquota da CBS não éválido para este cClassTribF106 Se informado grupo de Redução de Alíquota para CBS (gCBS/gRed), aAlíquota Efetiva (tag: pAliqEfet) deve ser o resultado de:Se NÃO houver compra governamental (grupo gCompraGov nãoinformado):pAliqEfet = pCBS × (1 - pRedAliq /100).Se houver compra governamental (grupo gCompraGov informado):pAliqEfet = pCBS × (1 - pRedAliq /100) × (1 - pRedutor/100).Observação: pRedutor é obtido no grupo gCompraGovExemplo: Redução de 40% na alíquota:Alíquota vigente (A): 10%Redução na alíquota (R): 40%Redutor de compras governamentais (RG): 5%Alíquota Efetiva (E): E = A * (1 - R) * (1- RG)E = 10 * (1 - 0,4) *(1-0,05) = 5,7Obrig. 394 Rej. Rejeição: Valor da Alíquota Efetiva da CBS calculadoincorretamenteProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 40 / 84F107 Se CST informado possuir indicador que VEDA a informação de reduçãode alíquota para o CBS, o grupo gRed NÃO DEVE estar informadoExceção: Se Percentual de redução de alíquota em compragovernamental (tag:gCompraGov/pRedutor) informado, este grupo éexigido e pRed deve ser igual a 0.Obrig. 384 Rej. Rejeição: CST informado não permite informação deredução de alíquota do CBSF108 Se CST informado possuir indicador que EXIGE informação de Diferimentopara o CBS, o grupo gDif DEVE estar informadoObrig. 328 Rej. Rejeição: CST informado obriga informação de diferimentodo CBSF109 Se CST informado possuir indicador que VEDA informação de Diferimentopara o CBS, o grupo gDif NÃO DEVE estar informadoObrig. 385 Rej. Rejeição: CST informado não permite informação dediferimento do CBSF110 Se informado grupo do Diferimento (gCBS/gDif):O valor do Diferimento (vDif) deverá ser resultante do Valor da CBS xPercentual do Diferimento ((vBC x pCBS) x pDif)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet)Obrig. 329 Rej. Rejeição: Valor do Diferimento do CBS difere do calculadoF111 Se informado grupo CBS (gCBS):O valor resultante da soma do diferimento (vDif) e Devolução (DevTrib)QUANDO INFORMADOS, NÃO pode ser superior ao valor da CBS (vCBS)Obrig. 397 Rej. Rejeição: Valor do CBS não pode resultar negativoF112 Se informado grupo CBS (gCBS):O valor do CBS (vCBS) deverá ser resultante da Base de Cálculo xAlíquota (vBC x pCBS) – vDif – vDevTribObservação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação 2: Em caso de preenchimento do grupo de redução (gRed) aalíquota utilizada deverá ser a tag Alíquota Efetiva (pAliqEfet).Obrig. 327 Rej. Rejeição: Valor do CBS difere do calculadoF113 Se cClassTrib informado possuir indicador que EXIGE informação detributação regular, o grupo gTribRegular DEVE estar informadoObrig. 330 Rej. Rejeição: Classificação Tributária informada obrigainformação da tributação regularF114 Se cClassTrib informado NÃO POSSUIR indicador de informação detributação regular, o grupo gTribRegular NÃO DEVE estar informadoObrig. 322 Rej. Rejeição: Classificação Tributária não permite informação datributação regularF115 Se informado grupo da tributação regular (gTribRegular):O CST Regular informado no grupo gTribRegular deve existir na tabela deCódigo de Situação Tributária (gTribRegular/CSTReg)Obrig. 331 Rej. Rejeição: CST informado no grupo de tributação regularinexistenteF116 Se informado grupo da tributação regular (gTribRegular):O cClassTrib regular for informado, este deve existir na tabela deClassificação Tributária do IBS/CBS (tag: gTribRegular/cClassTribReg)Obrig. 332 Rej. Rejeição: Classificação Tributária informada no grupo detributação regular inexistenteProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 41 / 84F117 Se informado grupo da tributação regular (gTribRegular):O valor do tributo regular de IBS dos Estados (vTribRegIBSUF) deverá serresultante da Base de Cálculo do item x Alíquota Efetiva Regular de IBS daUF (vBC x pAliqEfetRegIBSUF)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObrig. 333 Rej. Rejeição: Valor da tributação regular da UF difere docalculadoF118 Se informado grupo da tributação regular (gTribRegular):O valor do tributo regular de IBS dos Municípios (vTribRegIBSMun) deveráser resultante da Base de Cálculo do item x Alíquota Efetiva Regular deIBS do Município (vBC x pAliqEfetRegIBSMun)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObrig. 334 Rej. Rejeição: Valor da tributação regular do Município difere docalculadoF119 Se informado grupo da tributação regular (gTribRegular):O valor do tributo regular de CBS (vTribRegCBS) deverá ser resultante daBase de Cálculo do item x Alíquota Efetiva Regular de CBS (vBC xpAliqEfetRegCBS)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObrig. 335 Rej. Rejeição: Valor da tributação regular da CBS difere docalculadoF120 Se cClassTrib informado possuir indicador que NÃO PERMITE informaçãode Crédito Presumido para o IBS, o grupo gIBSCredPres NÃO deve estarinformadoObrig. 336 Rej. Rejeição: Classificação Tributária informada não permiteinformação de crédito presumido para o IBSF121 Se informado grupo do crédito presumido (gIBSCredPres):O valor do cCredPres deve existir na tabela de códigos de créditopresumidoObrig. 337 Rej. Rejeição: Código de crédito presumido do IBS inexistenteF122 Se informado grupo do crédito presumido (gIBSCredPres):O valor do cCredPres NÃO DEVE possuir indicador de dedução do valorpara este modelo de documento fiscal eletrônico (indDeduzValor da tabelade crédito presumido)Obrig. 308 Rej. Rejeição: Código de crédito presumido para IBS nãopermitido para este modelo de documento fiscal eletrônicoF123 Se informado grupo do crédito presumido (gIBSCredPres): A tagvCredPresCondSus não poderá ser informada até 2033Obrig. 386 Rej. Rejeição: O valor do crédito presumido condição suspensivasó poderá ser informada a partir de 2033 para IBSF124 Se o cCredPres do IBS possuir indicação de Condição Suspensiva e a tagvCredPresCondSus não estiver informadaObservação: Esta regra só será aplicada a partir de 2033Futura 338 Rej. Rejeição: O valor do crédito presumido (condiçãosuspensiva) para o IBS deve ser informadoF125 Se o cCredPres do IBS NÂO possuir indicação de Condição Suspensiva ea tag vCredPres não estiver informadaObservação: Esta regra só será aplicada a partir de 2033Futura 339 Rej. Rejeição: O valor do crédito presumido para o IBS deve serinformadoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 42 / 84F126 Se informado grupo do crédito presumido (gIBSCredPres) COM CondiçãoSuspensiva:O valor do Crédito Presumido Condição Suspensiva (vCredPresCondSus)deverá ser resultante da Base de Cálculo x Percentual do CréditoPresumido (vBC x pCredPres)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação: Esta regra só será aplicada a partir de 2033Futura 340 Rej. Rejeição: Valor do Crédito Presumido Condição Suspensivade IBS difere do calculadoF127 Se informado grupo do crédito presumido (gIBSCredPres) SEM CondiçãoSuspensiva:O valor do Crédito Presumido (vCredPres) deverá ser:vCredPres = (vIBSUF + vIBSMun) * (1 – (pCredPres / 100))Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObrig. 341 Rej. Rejeição: Valor do Crédito Presumido de IBS difere docalculadoF128 Se cClassTrib informado possuir indicador que NÃO PERMITE informaçãode Crédito Presumido para a CBS, o grupo gCBSCredPres NÃO deveestar informadoObrig. 309 Rej. Rejeição: Classificação Tributária informada não permiteinformação de crédito presumido para a CBSF129 Se informado grupo do crédito presumido (gCBSCredPres): O valor docCredPres deve existir na tabela de códigos de crédito presumidoObrig. 342 Rej. Rejeição: Código de crédito presumido da CBS inexistenteF130 Se informado grupo do crédito presumido (gCBSCredPres):O valor do cCredPres NÃO DEVE possuir indicador de dedução do valorpara este modelo de documento fiscal eletrônico (indDeduzValor da tabelade crédito presumido)Obrig. 307 Rej. Rejeição: Código de crédito presumido para CBS nãopermitido para este modelo de documento fiscal eletrônicoF131 Se informado grupo do crédito presumido da CBS (gCBSCredPres): A tagvCredPresCondSus não poderá ser informada até 2027Obrig. 387 Rej. Rejeição: O valor do crédito presumido condição suspensivasó poderá ser informada a partir de 2027 para CBSF132 Se o cCredPres da CBS possuir indicação de Condição Suspensiva e a tagvCredPresCondSus não estiver informadaObservação: Esta regra só será aplicada a partir de 2027Futura 343 Rej. Rejeição: O valor do crédito presumido (condiçãosuspensiva) para a CBS deve ser informadoF133 Se o cCredPres da CBS NÃO possuir indicação de Condição Suspensiva ea tag vCredPres não estiver informadaObservação: Esta regra só será aplicada a partir de 2027Futura 344 Rej. Rejeição: O valor do crédito presumido para a CBS deve serinformadoF134 Se informado grupo do crédito presumido (gCBSCredPres) COM CondiçãoSuspensiva:O valor do Crédito Presumido Condição Suspensiva (vCredPresCondSus)deverá ser resultante da Base de Cálculo x Percentual do CréditoPresumido (vBC x pCredPres)Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObservação: Esta regra só será aplicada a partir de 2027Futura 345 Rej. Rejeição: Valor do Crédito Presumido Condição Suspensivade CBS difere do calculadoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 43 / 84F135 Se informado grupo do crédito presumido (gCBSCredPres) SEM CondiçãoSuspensiva:O valor do Crédito Presumido (vCredPres) deverá ser:vCredPres = vCBS * (1 – (pCredPres /100))Observação: Aceitar uma tolerância de 0,01 a mais ou a menosObrig. 346 Rej. Rejeição: Valor do Crédito Presumido de CBS difere docalculadoF136 Se grupo compra governamental (grupo: gCompraGov) estiver informado,o Grupo de informações da composição do valor do IBS e da CBS emcompras governamentais (grupo: gTribCompraGov) DEVE ser informado.Obrig. 398 Rej. Rejeição: Grupo de informações da composição do valor doIBS e da CBS em compras governamentais deve serinformadoF137 Se grupo compra governamental (grupo: gCompraGov) NÃO estiverinformado, o Grupo de informações da composição do valor do IBS e daCBS em compras governamentais (grupo: gTribCompraGov) NÃO DEVEser informado.Obrig. 399 Rej, Rejeição: Grupo de informações da composição do valor doIBS e da CBS em compras governamentais não deve serinformadoF138 Verificar se a soma dos valores de IBS e CBS do grupo gTribCompraGov(vTribIBSUF + vTribIBSMun + vTribCBS) é diferente do resultado degIBSUF/vIBSUF + gIBSMun/vIBSMun + gCBS/vCBS.Obrig. 400 Rej. Rejeição: Somas dos valores de IBS e CBS em comprasgovernamentais divergenteValidações de Compras GovernamentaisF139 Se informado o grupo de informações de compra governamental(grupo:ide\gCompraGov), o DFe de compra governamental deve teralíquota de outros entes igual a zero.Se 2027 até 2032Para compra da união (tag: tpEnteGov = 1):&#61623; Alíquota do IBS da UF (tag: pIBSUF) deve ser igual a zero.&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.Para compra estadual (tag: tpEnteGov = 2):&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.Para compra do DF (tag: tpEnteGov = 3)&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.Para compra municipal (tag: tpEnte = 4)&#61623; Alíquota do IBS da UF (tag: pIBSUF) deve ser igual a zero.A partir de 2033:Para compra da união (tag: tpEnteGov = 1):Obrig. 347 Rej. Rejeição: DFe de compra governamental e alíquota dosoutros entes diferentes de zero.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 44 / 84&#61623; Alíquota do IBS da UF (tag: pIBSUF) deve ser igual a zero.&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.Para compra estadual (tag: tpEnteGov = 2):&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.&#61623; Alíquota do CBS (tag: pCBS) deve ser igual a zero.Para compra do DF (tag: tpEnteGov = 3)&#61623; Alíquota do IBS do Município (tag: pIBSMun) deve ser igual azero.&#61623; Alíquota do CBS (tag: pCBS) deve ser igual a zero.Para compra municipal (tag: tpEnte = 4)&#61623; Alíquota do IBS da UF (tag: pIBSUF) deve ser igual a zero.&#61623; Alíquota do CBS (tag: pCBS) deve ser igual a zero.Observação: Conforme Art. 473, § 1o e seus Incisos I, II, III e IV da LC214/2025.Validações do total do DFeF140 O total geral do DFe deverá ser a soma do total do documento + IBS +CBSvTotDFe = infValorBPe/vBP + gIBSCBS/vIBS + gCBS/vCBSExceção: Em 2026 não somar IBS e CBSObservação: Implementação futuraObrig. 365 Rej. Rejeição: Total do DFe inválidoValidações da SubstituiçãoF141 Se o Tipo do BPe = 3 (Substituição):- O grupo de informações da substituição (grupo: infBPeSub) deve serinformadoObrig. 439 Rej. Rejeição: Grupo BPe de Substituição deve ser informadopara o BPe de SubstituiçãoF142 Se o Tipo do BPe = 0 (Normal):- O grupo de informações da substituição (grupo: infBPeSub) NÃO deveser informadoObrig. 440 Rej. Rejeição: Grupo BPe de Substituição não deve informadopara o BPe NormalF143 Se tipo do BPe = 3 (Substituição):- Validar chave de acesso do BPe substituído.Retornar motivo da rejeição da Chave de Acesso: CNPJ zerado ouinválido, Ano < 2017 ou maior que atual, Mês inválido (0 ou > 12), Modelodiferente de 63, Número zerado, Tipo de emissão inválido, UF inválida ouObrig. 508 Rej. Rejeição: Chave de acesso do BPe substituído inválidaProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 45 / 84DV inválido)[Motivo: XXXXXXXXXXXX]F144 Se Tipo do BPe = 3 (Substituição):- O BPe substituído deve existirAcesso BD BPE (Chave: CNPJ Emit, Modelo, Série, Nro)Obrig 449 Rej Rejeição: BPe a ser substituído inexistenteF145 Se Tipo do BPe = 3 (Substituição):- BPe substituído não pode existir com diferença na Chave de AcessoRetornar a chave de acesso já autorizada, o número do protocolo e datade autorização do BPe[chBPe: 99999999999999999999999999999999999999999999][nProt:999999999999999][dhAut: AAAA-MM-DDTHH:MM:SS TZD]Obrig. 450 Rej. Rejeição: BPe substituído com diferença de Chave deAcessoF146 Se Tipo do BPe = 3 (Substituição):- O BPe substituído não pode estar canceladoObrig. 451 Rej Rejeição: BPe a ser substituído deve estar na situaçãoAutorizado o UsoF147 Se Tipo do BPe = 3 (Substituição):- O BPe substituído não pode estar substituídoObrig. 452 Rej Rejeição: BPe a ser substituído não pode ter sido substituídoanteriormenteF148 Se Tipo do BPe = 3 (Substituição):- O BPe substituído deve ser do modal aéreoObrig 469 Rej Rejeição: O BPe substituído deve ser do modal aéreoF149 Se Tipo do BPe = 3 (Substituição) e data-hora do embarque do BPesubstituído for menor ou igual a data-hora do ambiente autorizador:Acesso BD Eventos BPe (Chave: Chave de Acesso do BPe substituído):- O BPe substituído deve possuir evento de não embarque associadoObrig. 453 Rej Rejeição: BPe a ser substituído com data/hora de embarqueanterior a data-hora atual sem evento de Não EmbarqueassociadoF150 Se Tipo do BPe = 3 (Substituição):- CNPJ do emitente do BPe substituto deve ser igual ao informado no BPesubstituídoObrig. 454 Rej. Rejeição: CNPJ do emitente do BPe substituto deve serigual ao informado no BPe substituídoF151 Se Tipo do BPe = 3 (Substituição):- IE do emitente do BPe substituto deve ser igual ao informado no BPesubstituídoObrig, 455 Rej. Rejeição: IE do emitente do BPe substituto deve ser igual àinformada no BPe substituídoF152 Se Tipo do BPe = 3 (Substituição):- O CNPJ/CPF do comprador do BPe substituto deve ser igual aoinformado no BPe substituídoObservação: Rejeitar caso não exista identificação do comprador no BPeoriginal e informado no substituto (ou vice-versa)Obrig. 456 Rej. Rejeição: CNPJ/CPF do comprador do BPe substituto deveser igual ao informado no BPe substituídoF153 Se Tipo do BPe = 3 (Substituição):- IE do comprador do BPe substituto deve ser igual ao informado no BPesubstituídoObservação: Rejeitar caso não exista identificação do comprador no BPeoriginal e informado comprador no substituto (ou vice-versa)Obrig. 457 Rej. Rejeição: IE do comprador do BPe substituto deve ser igualà informada no BPe substituídoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 46 / 84F154 Se Tipo do BPe = 3 (Substituição):- UF e Município de início e fim da viagem devem ser iguais aosinformados no BPe substituídoObrig. 458 Rej. Rejeição: UF e Município de início e fim da viagem do BPesubstituto devem ser iguais aos informados no BPesubstituídoValidações de Banco de DadosF155 Acessar BD BPe (Chave: CNPJ Emit, Modelo, Série, Nro):- Verificar Duplicidade de BPe com diferença na Chave de Acesso(Campo de Código Numérico difere)Retornar a chave de acesso já autorizada, o número do protocolo e datade autorização[chBPe: 99999999999999999999999999999999999999999999][nProt:999999999999999][dhAut: AAAA-MM-DDTHH:MM:SS TZD]Obrig 539 Rej. Rejeição: Duplicidade de BPe, com diferença na Chave deAcessoF156 Acessar BD BPe (Chave: CNPJ Emit, Modelo, Série, Nro):Verificar Duplicidade de BPeRetornar Protocolo e data de autorização.[nProt:999999999999999][dhAut: AAAA-MM-DDTHH:MM:SS TZD].Observação: Esta validação leva em consideração o ambiente deautorização do DFeObrig. 204 Rej. Rejeição: Duplicidade de BPeF157 Verificar se BPe está canceladoRetornar Protocolo e data de autorização do evento de cancelamento.[nProt:999999999999999][dhCanc: AAAA-MM-DDTHH:MM:SS TZD]Obrig. 218 Rej. Rejeição: BPe já está cancelado na base de dados da SEFAZF158 Verificar se BPe está substituído:Retornar Protocolo e data de autorização do evento de substituição.[nProt:999999999999999][dhSubst: AAAA-MM-DDTHH:MM:SS TZD]Obrig. 224 Rej. Rejeição: BPe já está substituído na base de dados daSEFAZ.Validações de Autorizados ao XMLF159 Se informada autorização download XML com CNPJ:CNPJ com zeros ou dígito inválidoObrig. 466 Rej. Rejeição: CNPJ autorizado para download inválidoF160 Se informada autorização download do XML com CPF:CPF com zeros, nulo, números repetidos (111, 222, etc.), ou dígito decontrole inválido.Obrig. 467 Rej. Rejeição: CPF autorizado para download inválidoF161 Se informada autorização download XML:- Verificar se existe duplicidade de CPF/CNPJ informado no grupo autXMLObrig. 412 Rej Rejeição: Documento autorizado ao XML duplicado no BPeValidações do QR CodeF162 Endereço do site da UF para a Consulta via QR Code difere do previsto.Nota: O uso diferenciado de maiúsculas ou minúsculas não deve serconsiderado na validação.Observação: Para consultar as URLs por UF utilizadas no QR Code,acesse: https://dfe-portal.svrs.rs.gov.br/BPE/ServicosObrig. 479 Rej. Rejeição: Endereço do site da UF da Consulta via QR Codediverge do previstoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 47 / 84F163 Parâmetro Chave de Acesso no QR Code diverge da Chave de Acesso doBPeObrig. 481 Rej. Rejeição: Parâmetro do QR Code divergente do BPeF164 Se tipo de emissão for igual a Contingência Off-line:O parâmetro sign deve informado no QR-CodeObrig. 482 Rej. Rejeição: Parâmetro sign não informado no QR Code paraemissão em contingênciaF165 Se tipo de emissão for igual a Normal:O parâmetro sign não deve ser informado no QR-CodeObrig. 488 Rej. Rejeição: Parâmetro sign não deve ser informado no QRCode para emissão NormalF166 Se tipo de emissão for igual a Contingência Off-line:Valor da assinatura (sign) do QR-Code difere do valor calculadoObrig. 496 Rej. Rejeição: Assinatura do QR-Code difere do calculadoValidações do Responsável TécnicoF167 Não informado o grupo de informações do responsável técnicoObservação: Implementação à critério da UFFacul. 679 Rej.Rejeição: Obrigatória as informações do responsável técnicoF168Se informado grupo do responsável técnico (grupo: infRespTec):- Validar CNPJ (dígito controle, zeros ou nulo).Facul. 510 Rej. Rejeição: CNPJ do responsável técnico inválido (zerado oudígito inválido)F169Obrigatória a informação do identificador do CSRT (tag:idCSRT) e Hash doCSRT (tag: hashCSRT)Observação: Implementação futuraFacul. 680 Rej.Rejeição: Obrigatória a informação do identificador do CSRTe do Hash do CSRTFinal do Processamento do BPe TAA validação do BPe TA poderá resultar em:&#61623; Rejeição – o BPe TA será descartado, não sendo armazenado no Banco de Dados podendo ser corrigido e novamente transmitido;&#61623; Autorização de uso – o BPe TA será armazenado no Banco de Dados;Ou seja:Validação ConsequênciaDe forma do BPe TA Situação do BPe TA Para o contribuinte Banco de DadosInválida Rejeição Corrigir BPe TA Não gravarVálida Autorização de uso Autorizado GravarPara cada BPe TA será atribuído um número de protocolo do Ambiente Autorizador.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 48 / 844.2 Serviço de Consulta Situação do BPeFunção: serviço destinado ao atendimento de solicitações de consulta da situação atual do BPe na Base de Dados do Ambiente Autorizador.Processo: síncrono.Método: bpeConsultaBPParâmetro da Mensagem da área de dados: XML sem compactaçãoLeiaute Mensagem de EntradaEntrada: Estrutura XML contendo a chave de acesso do BPe.Schema XML: consSitBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoBP01 consSitBPe Raiz - - - - TAG raizBP02 versao A BP01 N 1-1 2v2 Versão do leiauteBP03 tpAmb E BP01 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 - HomologaçãoBP04 xServ E BP01 C 1-1 9 Serviço solicitado: ‘CONSULTAR’BP05 chBPe E BP01 N 1-1 44 Chave de acesso do BPeLeiaute Mensagem de RetornoRetorno: Estrutura XML com o resultado da consulta situação.Schema XML: retConsSitBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoBR01 retConsSitBPe Raiz - - - - TAG raiz da RespostaBR02 versao A BR01 N 1-1 2v2 Versão do leiauteBR03 tpAmb E BR01 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 - HomologaçãoBR04 verAplic E BR01 C 1-1 1-20 Versão do Aplicativo que processou a consultaBR05 cStat E BR01 N 1-1 4 Código do status da respostaProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 49 / 84BR06 xMotivo E BR01 C 1-1 1-255 Descrição literal do status da respostaBR07 cUF E BR01 N 1-1 2 Código da UF que atendeu à solicitaçãoBR08 protBPe G BR01 XML 0-1 - Protocolo de autorização de uso do BPeBR09 procEventoBPe G BR01 XML 0-N - Informações dos eventos e respectivo protocolo de registro de evento.Descrição do Processo de Web ServiceEste método será responsável por receber as solicitações referentes à consulta do status do serviço do Ambiente Autorizador.O aplicativo do contribuinte envia a solicitação para o Web Service do Ambiente Autorizador. Ao receber a solicitação a aplicação do Ambiente Autorizador processará a solicitaçãode consulta, e retornará mensagem contendo o status do serviço.A empresa que construir aplicativo que se mantenha em permanente "loop" de consulta a este Web Service, deverá aguardar um tempo mínimo de 3 minutos entre uma consultae outra, evitando sobrecarga desnecessária dos servidores do Ambiente Autorizador.Regras de Validação Básicas do ServiçoDeverão ser aplicadas as validações gerais conforme quadro abaixo:Grupo DescriçãoA Validação do Certificado de Transmissão (protocolo TLS)B Validação Inicial da Mensagem no Web ServiceC Validação da Área de Dados da mensagemValidação das Regras de Negócio da Consulta Situação# Regra de Validação Aplic cStat. Efeito MensagemG01 Tipo do ambiente informado difere do ambiente do Web Service Obrig. 252 Rej. Rejeição: Ambiente informado diverge do Ambiente derecebimentoG02 UF da chave de acesso difere da UF do Web Service Obrig. 226 Rej. Rejeição: Código da UF do Emitente diverge da UF autorizadoraG03 Verificar se o ano – mês da chave de acesso está com atraso superior a 6meses em relação ao ano – mês atualObrig 413 Rej. Rejeição: Consulta a uma Chave de Acesso muito antigaG04 - Validar chave de acessoRetornar motivo da rejeição da Chave de Acesso: CNPJ zerado ouinválido, Ano < 2017 ou maior que atual, Mês inválido (0 ou > 12), ModeloObrig. 236 Rej. Rejeição: Chave de Acesso inválida[Motivo: XXXXXXXXX]ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 50 / 84diferente de 63, Número zerado, Tipo de emissão inválido, Site deAutorização inválido, UF inválida ou DV inválido)[Motivo: XXXXXXXXXXXX]G05 Acesso BD BPe (Chave: CNPJ Emit, Modelo, Série, Nro):- Verificar se BPe não existeObrig. 217 Rej. Rejeição: BPe não consta na base de dados da SEFAZG06 Verificar se campo “Código Numérico” informado na Chave de Acesso édiferente do existente no BDObrig. 216 Rej. Rejeição: Chave de Acesso difere da cadastradaG07 Chave de Acesso difere da existente em BD (opcionalmente a descriçãodo erro, campo xMotivo, tem concatenada a Chave de Acesso, quando oautor da consulta for o emissor)Obrig. 600 Rej. Rejeição: Chave de Acesso difere da existente em BDFinal do ProcessamentoNo processamento do pedido de consulta de status de BP-e pode resultar em uma mensagem de erro, caso o BP-e não seja localizado. Ou, caso localizado, retornar a situaçãoatual do BP-e consultado, retornando o cStat com um dos valores, 100 ("Autorizado o Uso do BP-e"), 101 ("Cancelamento de BP-e homologado"), 102 ("Substituição do BP-ehomologada"), 150 ("Autorizado o Uso do BP-e, autorização fora de prazo") e o respectivo protocolo de autorização de uso e registro de eventos.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 51 / 844.3 Serviço de Consulta Status do Serviço de AutorizaçãoFunção: serviço destinado à consulta do status do serviço prestado pelo Ambiente Autorizador.Processo: síncrono.Método: bpeStatusServicoBPParâmetro da Mensagem da área de dados: XML sem compactaçãoLeiaute Mensagem de EntradaEntrada: Estrutura XML para a consulta do status do serviço.Schema XML: consStatServBPe_v99.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoCP01 consStatServBPe Raiz - - - - TAG raizCP02 versao A CP01 N 1-1 2v2 Versão do leiauteCP03 tpAmb E CP01 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 - HomologaçãoCP04 xServ E CP01 C 1-1 6 Serviço solicitado: ‘STATUS’Leiaute Mensagem de RetornoRetorno: Estrutura XML com o resultado da consulta status serviço.Schema XML: retConsStatServBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoCR01 retConsStatServBPe Raiz - - - - TAG raiz da RespostaCR02 versao A CR01 N 1-1 2v2 Versão do leiauteCR03 tpAmb E CR01 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 - HomologaçãoCR04 verAplic E CR01 C 1-1 1-20 Versão do Aplicativo que processou a consultaCR05 cStat E CR01 N 1-1 4 Código do status da respostaCR06 xMotivo E CR01 C 1-1 1-255 Descrição literal do status da respostaCR07 cUF E CR01 N 1-1 2 Código da UF que atendeu à solicitaçãoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 52 / 84CR08 dhRecbto E CR01 D 1-1 - Data e hora de recebimento do pedidoFormato = AAAA-MM-DDTHH:MM:SS TZDCR09 tMed E CR01 N 0-1 1-4 Tempo médio de resposta do serviço (em segundos) dos últimos 5minutosCR10 dhRetorno E CR01 D 0-1 - Preencher com data e hora previstas para o retorno do Web Service,no formato AAA-MM-DDTHH:MM:SSCR11 xObs E CR01 C 0-1 1-255 Informações adicionais ao contribuinteDescrição do Processo de Web ServiceEste método será responsável por receber as solicitações referentes à consulta do status do serviço do Ambiente Autorizador.O aplicativo do contribuinte envia a solicitação para o Web Service do Ambiente Autorizador. Ao receber a solicitação a aplicação do Ambiente Autorizador processará a solicitaçãode consulta, e retornará mensagem contendo o status do serviço.A empresa que construir aplicativo que se mantenha em permanente "loop" de consulta a este Web Service, deverá aguardar um tempo mínimo de 3 minutos entre uma consultae outra, evitando sobrecarga desnecessária dos servidores do Ambiente Autorizador.Deverão ser realizadas as validações e procedimentos que seguem:Regras de Validação Básicas do ServiçoDeverão ser aplicadas as validações gerais conforme quadro abaixo:Grupo DescriçãoA Validação do Certificado de Transmissão (protocolo TLS)B Validação Inicial da Mensagem no Web ServiceC Validação da Área de Dados da mensagemProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 53 / 84Validação das Regras de Negócio da Consulta Status Serviço# Regra de Validação Aplic cStat. Efeito MensagemJ01 Tipo do ambiente informado difere do ambiente do Web Service Obrig. 252 Rej. Rejeição: Ambiente informado diverge do Ambiente derecebimentoJ02 Verifica se o Servidor de Processamento está ParalisadoMomentaneamenteObrig. 108 - Serviço Paralisado Momentaneamente (curto prazo)J03 Verifica se o Servidor de Processamento está Paralisado sem Previsão Obrig. 109 - Serviço Paralisado sem PrevisãoFinal do ProcessamentoO processamento do pedido de consulta de status de Serviço pode resultar em uma mensagem de erro ou retornar a situação atual do Servidor de Processamento, códigos desituação 107 (“Serviço em Operação”), 108 (“Serviço Paralisado Momentaneamente”) e 109 (“Serviço Paralisado sem Previsão”).ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 54 / 845 Sistema de Registro de Eventos (Parte Geral)Função: serviço destinado à recepção de mensagem de evento de BPe.Processo: síncrono.Método: bpeRecepcaoEventoParâmetro da Mensagem da área de dados: XML sem compactação5.1 Leiaute Mensagem de EntradaEntrada: Estrutura XML contendo a consulta do status do serviçoSchema XML: eventoBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoDP01 eventoBPe Raiz - - - - TAG raizDP02 versao A FP01 N 1-1 2v2 Versão do leiauteDP03 infEvento G FP01 - 1-1 Grupo de informações do registro de eventosDP04 Id ID FP03 C 1-1 54 Identificador da TAG a ser assinada, a regra de formação do Id é:“ID” + tpEvento+ chave do BPe + nSeqEventoDP05 cOrgao E FP03 N 1-1 2 Código do órgão de recepção do Evento. Utilizar a Tabela do IBGEestendidaDP06 tpAmb E FP03 N 1-1 1 Identificação do Ambiente:1 – Produção 2 – HomologaçãoDP07 CNPJ E FP03 C 1-1 14 Informar o CNPJ do autor do EventoDP08 chBPe E FP03 N 1-1 44 Chave de Acesso do BPe vinculado ao EventoDP09 dhEvento E FP03 D 1-1 - Data e Hora do EventoFormato = AAAA-MM-DDTHH:MM:SS TZD.DP10 tpEvento E FP03 N 1-1 6 Tipo do Evento (ver tabela de tipos de evento)DP11 nSeqEvento E FP03 N 1-1 1-2 Sequencial do evento para o mesmo tipo de evento. Para maioria doseventos será 1, nos casos em que possa existir mais de um evento oautor do evento deve numerar de forma sequencial.DP12 detEvento G FP03 - 1-1 - Informações do evento específico.DP13 versaoEvento A FP12 N 1-1 2v2 Versão do leiaute específico do evento.DP14 any E FP12 XML 1-1 - XML do evento: Insira neste local o XML específico do tipo de evento(cancelamento, não embarque)DP15 Signature G FP01 XML 1-1 - Assinatura XML do grupo identificado pelo atributo “Id”ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 55 / 845.2 Leiaute Mensagem de RetornoRetorno: Estrutura XML com o resultado do pedido de evento.Schema XML: retEventoBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoDR01 retEventoBPe Raiz - - - - TAG raiz do Resultado do Envio do EventoDR02 versao A DR01 N 1-1 1-4 Versão do leiauteDR03 infEvento G DR01 1-1 Grupo de informações do registro do EventoDR04 Id ID DR03 C 0-1 17 Identificador da TAG a ser assinada, somente deve ser informado se o órgãode registro assinar a resposta.Em caso de assinatura da resposta pelo órgão de registro, preencher com onúmero do protocolo, precedido pela literal “ID”DR05 tpAmb E DR03 N 1-1 1 Identificação do Ambiente:1 – Produção / 2 – HomologaçãoDR06 verAplic E DR03 C 1-1 1-20 Versão da aplicação que registrou o Evento, utilizar literal que permita aidentificação do órgão, como a sigla da UF ou do órgão.DR07 cOrgao E DR03 N 1-1 2 Código da UF que registrou o Evento.DR08 cStat E DR03 N 1-1 4 Código do status da respostaDR09 xMotivo E DR03 C 1-1 1-255 Descrição do status da respostaOs campos a seguir são obrigatórios no caso de homologação do evento cStat=135, 134 ou cStat=136.Os campos de dhRegEvento e nProt não serão preenchidos em caso de erroDR10 chBPe E DR03 N 0-1 44 Chave de Acesso do BPe vinculado ao eventoDR11 tpEvento E DR03 N 0-1 6 Código do Tipo do EventoDR12 xEvento E DR03 C 0-1 5-60 Descrição do EventoDR13 nSeqEvento E DR03 N 0-1 1-2 Sequencial do evento para o mesmo tipo de evento. Para maioria doseventos será 1, nos casos em que possa existir mais de um evento o autor doevento deve numerar de forma sequencial.DR14 dhRegEvento E DR03 D 0-1 Data e Hora do Evento Formato = AAAA-MM-DDTHH:MM:SS TZDDR15 nProt E DR15 N 0-1 15 Número do protocolo de registro do eventoDR16 Signature G DR01 XML 0-1 Assinatura Digital do documento XML, a assinatura deverá ser aplicada noelemento infEvento. A decisão de assinar a mensagem fica a critério doAmbiente AutorizadorProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 56 / 845.3 Descrição do Processo de Web ServiceEste método é responsável por receber as solicitações referentes ao registro de eventos de BPe. Ao receber a solicitação do transmissor, a aplicação do Ambiente Autorizadorrealiza o processamento da solicitação e devolve o resultado do processamento para o aplicativo dele.5.4 Regras de Validação Básicas do ServiçoDeverão ser aplicadas as validações gerais conforme quadro abaixo:Grupo DescriçãoA Validação do Certificado de Transmissão (protocolo TLS)B Validação Inicial da Mensagem no Web ServiceC Validação da Área de Dados da mensagemD Validação do Certificado de AssinaturaE Validações da Assinatura Digital5.5 Validação das Regras de Negócio do Serviço de Registro de Eventos#Regra de ValidaçãoAplic. cStat EfeitoMensagemI01Tipo do ambiente difere do ambiente do Web ServiceObrig. 252 Rej.Rejeição: Ambiente informado diverge do Ambiente derecebimentoI02 Verificar se o código do órgão de recepção do Evento diverge do solicitado Obrig. 226 Rej.Rejeição: Código da UF do Emitente diverge da UFautorizadoraI04Validar CNPJ do autor do evento (DV ou zeros)Obrig. 627 Rej.Rejeição: CNPJ do autor do evento inválidoI05Validar se atributo Id corresponde à concatenação dos campos evento(“ID” + tpEvento + chBPe + nSeqEvento)Obrig. 628 Rej.Rejeição: Erro Atributo ID do evento não corresponde àconcatenação dos campos (“ID” + tpEvento + chBPe +nSeqEvento)I06 Verificar se o tpEvento é válido Obrig. 629 Rej. Rejeição: O tpEvento informado inválidoI07Verificar Schema da parte específica do EventoOBS: Utilizar o tpEvento + o atributo versaoEvento para identificar qualschema deve ser validado.Obrig. 630 Rej.Rejeição: Falha no Schema XML específico para o eventoI08- Validar chave de acessoRetornar motivo da rejeição da Chave de Acesso: CNPJ zerado ouinválido, Ano < 2017 ou maior que atual, Mês inválido (0 ou > 12), ModeloObrig. 236 Rej.Rejeição: Chave de Acesso inválida[Motivo: XXXXXXXXX]ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 57 / 84diferente de 63, Número zerado, Tipo de emissão inválido, UF inválida ouDV inválido)[Motivo: XXXXXXXXXXXX]I16Verificar duplicidade do evento (cOrgao + tpEvento + chBPe +nSeqEvento)Obrig. 631 Rej.Rejeição: Duplicidade de evento[nProt:999999999999999][dhRegEvento: AAAA-MMDDTHH:MM:SS TZD]I17Se evento do emissor verificar se CNPJ do Autor diferente do CNPJ dachave de acesso do BPeObrig. 632 Rej.Rejeição: O autor do evento diverge do emissor do BPeI18Se evento do Fisco/RFB/Outros órgãos, verificar se CNPJ do Autor constada tabela de órgãos autorizados a gerar evento.Obrig. 633 Rej.Rejeição: O autor do evento não é um órgão autorizado agerar o eventoI19Se evento exige BPe:Acesso BD BPe (Chave: CNPJ Emit, Modelo, Série, Nº):- Verificar se BPe não existeObrig. 217 Rej.Rejeição: BPe não consta na base de dados da SEFAZI20Se existir o BPe: (Independente do evento exigir)Verificar se a Chave de Acesso difere da existente em BD (opcionalmentea descrição do erro, campo xMotivo, tem concatenada a Chave de Acesso)Obrig. 600 Rej.Rejeição: Chave de Acesso difere da existente em BDI20aSe o BPe for do tipo = 4 (Transporte Metropolitano) não deve aceitareventos dos tipos: Não Embarque, Substituição e Excesso de Bagagem,Fornecimento não realizado e Ajuste de BPe TA.Obrig. 703 Rej.Rejeição: Tipo de evento inválido para BPe TMI20bSe o modal do BP-e for do tipo = 2 (Transporte Aéreo) não deve aceitareventos dos tipos: Excesso de Bagagem e Alteração de Poltrona.Obrig, 708 Rej.Rejeição: Tipo de evento inválido para BPe TAI20cSe o modal do BP-e for DIFERENTE de 2 (Transporte Aéreo) não deveaceitar eventos dos tipos: Fornecimento não realizado e Ajuste de BPe TAObrig, 709 Rej.Rejeição: Tipo de evento inválido para BPe e BPe TMI21Data do evento não pode ser menor que a data de emissão do BPe, seexistir.A SEFAZ deve tolerar uma diferença máxima de 5 minutos em função dasincronização de horário de servidores.Obrig. 634 Rej.Rejeição: A data do evento não pode ser menor que a data deemissão do BPeI22Data do evento não pode ser menor que a data de autorização do BPe, seexistirA SEFAZ deve tolerar uma diferença máxima de 5 minutos em função dasincronização de horário de servidores.Obrig. 637 Rej.Rejeição: A data do evento não pode ser menor que a data deautorização do BPeI23Data do evento não pode ser maior que a data de processamento. (OAmbiente Autorizador deve considerar a hora local do emissor para avalidação). A SEFAZ deve tolerar uma diferença máxima de 5 minutos emfunção da sincronização de horário de servidores.Obrig. 635 Rej.Rejeição: A data do evento não pode ser maior que a data doprocessamentoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 58 / 845.6 Processamento das validações específicas de cada eventoSerão definidas no item 6 desta Nota Técnica correspondentes a cada evento.5.7 Final do Processamento do EventoO processamento do evento pode resultar em:&#61623; Rejeição – o Evento será descartado, com retorno do código do status do motivo da rejeição;&#61623; Recebido pelo Sistema de Registro de Eventos, com vinculação do evento no respetivo BPe, o Evento será armazenado no repositório do Sistema de Registrode Eventos com a vinculação do Evento no respectivo BPe (cStat=135);&#61623; Recebido pelo Sistema de Registro de Eventos – vinculação do evento ao respectivo BPe prejudicado – o Evento será armazenado no repositório do Sistemade Registro de Eventos, a vinculação do evento ao respectivo BPe fica prejudicada face a inexistência do BPe no momento do recebimento do Evento (cStat=136);&#61623; Recebido pelo Sistema de Registro de Eventos, com vinculação do evento no respectiva BPe com situação diferente de Autorizado, o Evento será armazenadono repositório do Sistema de Registro de Eventos com a vinculação do Evento no respectivo BPe retornando um alerta com a situação de BPe (cStat=134);O Ambiente Autorizador deverá compartilhar os eventos autorizados no Sistema de Registro de Eventos com os órgãos interessados.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 59 / 846 Sistema de Registro de Eventos (Parte Específica)6.1 Evento de CancelamentoFunção: evento destinado ao atendimento de solicitações de cancelamento de BPe.Autor do Evento: O autor do evento é o emissor do BPe TA. A mensagem XML do evento será assinada com o certificado digital que tenha o CNPJ base do Emissor do BPeTA.Código do Tipo de Evento: 110111Schema XML: evCancBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoEP01 evCancBPe G - - - - TAG raizEP02 descEvento E EP01 C 1-1 12 Descrição do Evento: ‘Cancelamento’EP03 nProt E EP01 N 1-1 15 Informar o número do protocolo de autorização do BPe TA a sercanceladoEP04 xJust E EP01 C 1-1 1-255 Informar a justificativa do cancelamentoValidação das Regras Específicas do Evento# Regra de ValidaçãoAplic. cStat Efeito MensagemJ01 Verificar se o nSeqEvento é maior que o valor permitido (=1) Obrig. 636 Rej. Rejeição: O número sequencial do evento é maior que o permitidoJ02 Emitente deve estar habilitado na base de dados para emissão do BPeObrig. 203 Rej. Rejeição: Emissor não habilitado para emissão do BPeJ03 Verificar se BPe já está cancelado. Obrig. 218 Rej. Rejeição: BPe já está cancelado na base de dados da SEFAZ.[nProt:999999999999999][dhCanc: AAAA-MM-DDTHH:MM:SSTZD].J04 Verificar se BPe já está substituído Obrig. 224 Rej. Rejeição: BPe já está substituído na base de dados da SEFAZ.[nProt:999999999999999][dhSubst: AAAA-MM-DDTHH:MM:SSTZD].J05 Vedar cancelamento se data/hora de autorização do evento for superiorà data/hora do embarque.Obrig. 220 Rej. Rejeição: Vedado cancelamento de BPe com data/hora deembarque maior que data/hora atualProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 60 / 84Observação: Na comparação dos horários acima, aceitar umatolerância de 5 minutos, devido ao sincronismo de horário entreservidor da Empresa e o servidor da SEFAZ AutorizadoraExceção: Em caso de BPe emitido em contingência deve ser toleradoum prazo de 24 horas após a data do embarqueJ06 Verificar se o número do Protocolo informado difere do número doProtocolo do BPeObrig. 222 Rej. Rejeição: Protocolo de Autorização de Uso difere do cadastradoJ07 Verificar se existe evento de Não Embarque associado ao BPe Obrig. 504 Rej. Rejeição: Cancelamento não permitido, BPe possui evento de nãoembarqueJ07a Se tipo do BP-e = 4 (Transporte Metropolitano):Verificar BP-e TM autorizado há mais de 168 horas (7 dias)Observação: Exceto se existir evento de Manifestação do Fisco do tipo“Liberação do Prazo de Cancelamento”Obrig. 704 Rej. Rejeição: Vedado cancelamento de BPe com data/hora maior que168 horas da autorizaçãoO Fisco poderá liberar o cancelamento fora de prazo através do evento de Manifestação do Fisco do tipo “Liberação do Prazo de Cancelamento”Final do ProcessamentoSe o evento de cancelamento for homologado, a situação do BPe para efeito de consulta situação passará para “101 – Cancelamento homologado”ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 61 / 846.2 Evento de Não EmbarqueFunção: evento destinado ao atendimento de solicitações de comunicação do não embarque do BPe.Autor do Evento: O autor do evento é o emissor do BPe TA. A mensagem do evento será assinada com o certificado digital que tenha o CNPJ base do Emissor do BPe TA.Código do Tipo de Evento: 110115Schema XML: evNaoEmbBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoEP01 evNaoEmbBPe G - - - - TAG raizEP02 descEvento E EP01 C 1-1 12 Descrição do Evento: ‘Não Embarque’EP03 nProt E EP01 N 1-1 15 Informar o número do protocolo de autorização do BPe TA a receber oeventoEP04 xJust E EP01 C 1-1 1-255 Informar a justificativa do não embarqueValidação das Regras Específicas do Evento# Regra de ValidaçãoAplic. cStat Efeito MensagemJ01 Verificar se o nSeqEvento é maior que o valor permitido (=1) Obrig. 636 Rej. Rejeição: O número sequencial do evento é maior que o permitidoJ02 Emitente deve estar habilitado na base de dados para emissão do BPe Obrig. 203 Rej. Rejeição: Emissor não habilitado para emissão do BPeJ03 Verificar se BPe já está cancelado. Obrig. 218 Rej. Rejeição: BPe já está cancelado na base de dados da SEFAZ.[nProt:999999999999999][dhCanc: AAAA-MM-DDTHH:MM:SS TZD].J04 Verificar se o BPe está substituído Obrig. 224 Rej. Rejeição: BPe já está substituído na base de dados da SEFAZ.[nProt:999999999999999][dhSubst: AAAA-MM-DDTHH:MM:SSTZD].J05 Verificar se data-hora do evento não ultrapassa 24 horas da data-horade embarque informada no BPe.Obrig, 221 Rej. Rejeição: Prazo para geração do evento de não embarquesuperior ao limite tolerado em relação a data-hora do embarqueJ06 Verificar se a data-hora de embarque do BPe é anterior à data deprocessamento do eventoObrig. 234 Rej. Rejeição: Evento de não embarque deve ser posterior a data-horado embarqueJ07 Verificar se o número Protocolo informado difere do número Protocolodo BPeObrig. 222 Rej. Rejeição: Protocolo de Autorização de Uso difere do cadastradoFinal do ProcessamentoSe o evento de não embarque for homologado o status de retorno deverá ser cStat=135ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 62 / 846.3 Evento de Fornecimento não realizado com pagamento antecipadoFunção: Permitir ao fornecedor informar que um pagamento antecipado não teve o respectivo fornecimento realizadoAutor do Evento: O autor do evento é o emissor do BPe TA. A mensagem do evento será assinada com o certificado digital que tenha o CNPJ base do Emissor do BPe TA.Código do Tipo de Evento: 112140Schema XML: evFornecNaoRealizBPe_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoEP01 evFornNaoRealizBPe G - - - - TAG raizEP02 descEvento E EP01 C 1-1 12 Descrição do Evento: ‘Fornecimento Não Realizado’EP03 nProt E EP01 N 1-1 15 Informar o número do protocolo de autorização do BPe TA a receber oeventoEP04 vIBS E EP01 N 1-1 13v2 Valor do IBS correspondente ao serviço que não foi fornecidoEP05 vCBS E EP01 N 1-1 13v2 Valor da CBS correspondente ao serviço que não foi fornecidoValidação das Regras Específicas do Evento# Regra de Validação Aplic. cStat Efeito MensagemJ01 Verificar se o nSeqEvento é maior que o valor permitido (=1) Obrig. 636 Rej. Rejeição: O número sequencial do evento é maior que o permitidoJ02 Emitente deve estar habilitado na base de dados para emissão do BPe Obrig. 203 Rej. Rejeição: Emissor não habilitado para emissão do BPeJ03 Verificar se BPe já está cancelado. Obrig. 218 Rej. Rejeição: BPe já está cancelado na base de dados da SEFAZ.[nProt:999999999999999][dhCanc: AAAA-MM-DDTHH:MM:SS TZD].J04 Verificar se o BPe está substituído Obrig. 224 Rej. Rejeição: BPe já está substituído na base de dados da SEFAZ.[nProt:999999999999999][dhSubst: AAAA-MM-DDTHH:MM:SSTZD].J05 Verificar se o número Protocolo informado difere do número Protocolodo BPeObrig. 222 Rej. Rejeição: Protocolo de Autorização de Uso difere do cadastradoFinal do ProcessamentoSe o evento de fornecimento não realizado for homologado o status de retorno deverá ser cStat=135ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 63 / 846.4 Evento de Ajuste do BPe TA – PENDENTE DE ESPECICAÇÂOFunção: evento destinado alterações de valores referentes a crédito ou débitos adicionais do BPè TAAutor do Evento: O autor do evento é o emissor do BPe TA. A mensagem do evento será assinada com o certificado digital que tenha o CNPJ base do Emissor do BPe TA.Código do Tipo de Evento: 112130Schema XML: evAjusteBPeTA_v9.99.xsd# Campo Ele Pai Tipo Ocor. Tam. Descrição/ObservaçãoEP01 evAjusteBPeTA G - - - - TAG raizEP02 descEvento E EP01 C 1-1 12 Descrição do Evento: ‘Ajuste de BPe TA’EP03 nProt E EP01 N 1-1 15 Informar o número do protocolo de autorização do BPeTA a receber oeventoEP04 -- definir camposValidação das Regras Específicas do Evento# Regra de Validação Aplic. cStat Efeito MensagemJ01 Verificar se o nSeqEvento é maior que o valor permitido (=1) Obrig. 636 Rej. Rejeição: O número sequencial do evento é maior que o permitidoJ02 Emitente deve estar habilitado na base de dados para emissão doBPeObrig. 203 Rej. Rejeição: Emissor não habilitado para emissão do BPeJ03 Verificar se BPe já está cancelado. Obrig. 218 Rej. Rejeição: BPe já está cancelado na base de dados da SEFAZ.[nProt:999999999999999][dhCanc: AAAA-MM-DDTHH:MM:SS TZD].J04 Verificar se o BPe está substituído Obrig. 224 Rej. Rejeição: BPe já está substituído na base de dados da SEFAZ.[nProt:999999999999999][dhSubst: AAAA-MM-DDTHH:MM:SS TZD].Final do ProcessamentoSe o evento de não embarque for homologado o status de retorno deverá ser cStat=135ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 64 / 847 Alterações no Serviço de Recepção de BPe e BPeTMRegra de Validação Aplic. cStat Efeito MensagemSe Tipo do BPe = 3 (Substituição):- O BPe substituído NÃO PODE ser do modal = 2 (Transporte Aéreo)Obrig. 470 Rej.Rejeição: O BPe substituído não pode ser do modal aéreoProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 65 / 848 Informações Adicionais8.1 Código de Classificação Tributária do IBS/CBSO grupo de informações do IBS e CBS associado ao documento fiscal contém o Código de Situação Tributária (CST) e Código de Classificação Tributária (cClassTrib) do IBS eCBS.A publicação da tabela contendo esta codificação está disponível no Portal Nacional da NF-e (www.nfe.fazenda.gov.br), na aba “Documentos”, opção “Diversos” e no portal dosDocumentos Fiscais Eletrônicos (dfe-portal.svrs.rs.gov.br).Cada código “cClassTrib” corresponde a um dispositivo específico da Lei Complementar nº 214/2025, tornando objetiva a informação prestada pelo contribuinte quanto à formacomo interpreta a tributação do IBS e da CBS para cada DFe.A tabela também contém indicadores que vinculam de forma dinâmica códigos “CST-IBS/CBS” e “cClassTrib” com as Regras de Validação descritas nesta NT, ou que contêminformações necessárias para a preparação das apurações assistidas do IBS e da CBS, em atendimento ao disposto na Legislação vigente.Vale ressaltar que a tabela poderá sofrer alterações em virtude de aperfeiçoamentos, novidades introduzidas em sede de Regulamento, ou para atender a necessidadesrelacionadas à apuração assistida do IBS e da CBS.8.2 Cálculo do dígito verificador do CNPJ AlfanuméricoO CNPJ alfanumérico é composto por doze caracteres alfanuméricos e dois dígitos verificadores numéricos.Os dígitos verificadores (DV) são calculados a partir dos doze primeiros caracteres em duas etapas, utilizando o módulo de divisão 11 e pesos distribuídos de 2 a 9.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 66 / 84Cálculo do primeiro dígito verificadorPara cada um dos caracteres do CNPJ, atribuir o valor da coluna “Valor para cálculo do DV”,conforme a tabela abaixo (ou subtrair 48 do “Valor ASCII”):ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 67 / 84Obter o resto da divisão do somatório por 11.Se o resto da divisão for igual a 1 ou 0, o primeiro dígito será igual a 0 (zero).Senão, o primeiro dígito será igual ao resultado de 11 – resto.No exemplo:Resto da divisão 459/11 = 8.&#61680; 1º DV = 3 (resultado de 11-8)Cálculo do segundo dígito verificadorPara o cálculo do segundo dígito é necessário acrescentar o primeiro DV ao final do CNPJ, formando assim treze caracteres, e repetir os passos realizados para o primeirodígito. Assim, no exemplo, temos:ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 68 / 848.3 Cálculo do dígito verificador da chave de acesso do BPe TAO dígito verificador da chave de acesso do BPe TA é baseado em um cálculo do módulo 11. O módulo 11 de um número é calculado multiplicando-se cada algarismo pelasequência de multiplicadores 2,3,4,5,6,7,8,9,2,3, ... posicionados da direita para a esquerda.A somatória dos resultados das ponderações dos algarismos é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor (11) e o resto da divisão:DV = 11 - (resto da divisão)Quando o resto da divisão for 0 (zero) ou 1 (um), o DV deverá ser igual a 0 (zero).Exemplo: consideremos que a chave de acesso tem a seguinte sequência de caracteres:Somatória das ponderações = 644Dividindo a somatória das ponderações por 11 teremos, 644 /11 = 58 restando 6.Como o dígito verificador DV = 11 - (resto da divisão), portando 11 - 6 = 5Neste caso o DV da chave de acesso do BPe TA é igual a "5", valor este que deverá compor a chave de acesso totalizando a uma sequência de 44 caracteres.IMPORTANTE: O cálculo do DV da chave de acesso deverá aplicar a mesma lógica da validação do CNPJ Alfanumérico, trocando todos os caracteres (44) que compõe a chave(números e letras) pelos números correspondentes da tabela ASCII subtraindo 48.Posteriormente à substituição, deverá ser aplicado o cálculo do Modulo 11 para a totalidade dos dígitos resultantes da chave de acesso.A CHAVE DE ACESSO 5 2 0 6 0 4 3 3 0 0 9 9 1 1 0 0 2 5 0 6 5 5 0 1 2 0 0 0 0 0 0 7 8 0 0 2 6 7 3 0 1 6 1B PESOS 4 3 2 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2C PONDERAÇÃO (A*B) 20 6 0 54 0 28 18 15 0 0 18 81 8 7 0 0 8 15 0 54 40 35 0 5 8 0 0 0 0 0 0 35 32 0 0 18 48 49 18 0 4 18 2ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 69 / 848.4 Número do protocoloO número do protocolo é gerado pelo Ambiente Autorizador para identificar univocamente as transações realizadas de autorização de uso e registro de eventos do BPe TA.A regra de formação do número do protocolo é:9 9 9 9 9 9 9 9 9 9 9 9 9 9 9Tipo deAutorizadorCódigo daUFAno Sequencial de 10 posições&#61623; 1 posição com o Tipo de Autorizador (3 = SEFAZ Virtual RS, 2 = Site Alternativo de Autorização do Ambiente Nacional);&#61623; 2 posições para o código da UF do IBGE;&#61623; 2 posições para o ano;&#61623; 10 posições numéricas sequenciais no ano.A geração do número de protocolo deverá ser única, sendo utilizada por todos os Web Services que precisam atribuir um número de protocolo para o resultado do processamento.Juntamente ao protocolo, no DABPE aparecerá a data (DD/MM/AAAA) e hora (hh:mm:ss).O protocolo iniciado em 2 ocorrerá somente quando o ambiente de autorização possuir um site alternativo para situações de contingência e seguirá numeração sequencial própriaenquanto estiver em utilização de forma transparente para a empresa emitente.O projeto utiliza a codificação da UF definida pelo IBGE:Região Norte Região Nordeste Região Sudeste Região Sul Região Centro-Oeste11-Rondônia12-Acre13-Amazonas14-Roraima15-Pará16-Amapá17-Tocantins21-Maranhão22-Piauí23-Ceará24-Rio Grande do Norte25-Paraíba26-Pernambuco27-Alagoas28-Sergipe29-Bahia31-Minas Gerais32-EspíritoSanto33-Rio deJaneiro35-São Paulo41-Paraná42-Santa Catarina43-Rio Grande doSul50-Mato Grosso doSul51-Mato Grosso52-Goiás53-Distrito FederalProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 70 / 849 Leiaute do BPe TA# Campo Nível Descrição Ele Tipo Ocorr. Tamanho Domínio Exp.Reg. Observações0 BPeTA Raíz Tag raiz do BPe TA Raíz do XML do BPe Transporte Aéreo1 infBPe 0 Informações do BPe Aéreo G1 - 12 versao 1 Versão do leiaute A C 1 - 1ER52 Ex: "1.00"3 Id 1 Identificador da tag a ser assinada A C 1 - 1 47ER45 Informar a chave de acesso do BPe e precedida do literal"BPe"4 ide 1 Identificação do BPe G1 - 15 cUF 2 Código da UF do emitente do BPe E N 1 - 1 2 D1Código da UF do emitente do Documento Fiscal. Utilizar aTabela do IBGE de código de unidades da federação.6 tpAmb 2 Tipo do Ambiente E N 1 - 1 1 D71 - Produção2 - Homologação7 mod 2 Modelo do Bilhete de Passagem E N 1 - 1 2 D4Utilizar o código 63 para identificação do BPe8 serie 2 Série do documento fiscal E N 1 - 1 1 - 3ER31 Informar a série do documento fiscal (informar zero seinexistente).9 nBP 2 Número do bilhete de passagem E N 1 - 1 1 - 9ER30 Número que identifica o bilhete 1 a 999999999.10 cBP 2 Código numérico que compõe a Chave deAcesso.E N 1 - 1 8ER40 Código aleatório gerado pelo emitente, com o objetivo deevitar acessos indevidos ao documento.11 cDV 2 Digito verificador da chave de acesso E N 1 - 1 1ER41 Informar o dígito de controle da chave de acesso do BPe,que deve ser calculado com a aplicação do algoritmomódulo 11 (base 2,9) da chave de acesso.12 modal 2 Modalidade de transporte E N 1 - 1 1 D92 - Aéreo13 dhEmi 2 Data e hora de emissão do Bilhete dePassagemE D 1 - 1 21ER1 Formato AAAA-MM-DDTHH:MM:DD TZD14 tpEmis 2 Forma de emissão do Bilhete (Normal ouContingência Off-Line)E N 1 - 1 1 D71 - Normal2 - Contingência Off-Line15 verProc 2 Versão do processo de emissão E C 1 - 1 1 - 20ER34 Informar a versão do aplicativo emissor de BPe.16 tpBPe 2 Tipo do BPe E N 1 - 1 1 D270 - BPe normal3 - BPe substituição17 tpCompra 2 Tipo de compra do BPe Aéreo E N 1 - 1 1 D280 - Normal1 - BPe múltiplo (fretamento)2 - Vinculado a BPe múltiploProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 71 / 8418 indPres 2 Indicador de presença do comprador noestabelecimento comercial no momento daoperaçãoE N 1 - 1 1 D311=Operação presencial não embarcado;2=Operação não presencial, pela Internet;3=Operação não presencial, Teleatendimento;4=BPe em operação com entrega a domicílio;5=Operação presencial embarcada;9=Operação não presencial, outros.19 UFIni 2 Sigla da UF Início da Viagem E N 1 - 1 2 D6Utilizar a Tabela do IBGE de código de unidades dafederação20 cMunIni 2 Código do município do início da viagem E N 1 - 1 7ER221 UFFim 2 Sigla da UF do Fim da Viagem E N 1 - 1 2 D5Utilizar a Tabela do IBGE de código de unidades dafederação.Informar 'EX' para operações com o exterior.22 cMunFim 2 Código do município do fim da viagem E N 1 - 1 7ER2# --- x --- 2 Sequência XML - - 0 - 1As tags dhCont e xJust são filhas dessa sequência opcional,se informar uma delas, deverá informar as outra, mas oconjunto é opcional e exigido apenas quando emissão emcontingência24 dhCont 2 Data e Hora da entrada em contingência ES D 1 - 1 21ER1 Informar a data e hora no formato AAAA-MMDDTHH:MM:SS25 xJust 2 Justificativa da entrada em contingência ES C 1 - 1 15 - 256ER3426 nroBPIATA 2 Informação do número do bilhete depassagem conforme definido pela IATAE C 0 - 1 1 - 20ER34 Número que identifica o bilhete 1 a 999999999.27 gCompraGov 2 Grupo de Compras Governamentais G - 0 - 127 a tpEnteGov 3 Para administração pública direta e suasautarquias e fundações:1=União2=Estados3=Distrito Federal4=MunicípiosE N 1 - 1 1 D827 b pRedutor 3 Percentual de redução de alíquota emcompra governamentalE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.27 c tpOperGov 3 Tipo da operação com ente governamental:1 - Fornecimento2 - Recebimento do PagamentoE N 1 - 1 1 D728 emit 1 Identificação do Emitente do BPe G1 - 129 CNPJ 2 CNPJ do emitente E C 1 - 1 2ER7 Informar zeros não significativos31 IE 2 Inscrição Estadual do emitente E N 1 - 1 2 - 14ER29ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 72 / 8432 xNome 2 Razão social ou Nome do emitente E C 1 - 1 2 - 60ER3433 xFant 2 Nome fantasia do emitente E C 0 - 1 1 - 60ER3434 CRT 2 Código de Regime Tributário. E N 1 - 1 1 D10Este campo será obrigatoriamente preenchido com:1 – Simples Nacional;2 – Simples Nacional – excesso de sublimite de receita bruta;3 – Regime Normal.35 enderEmit 2 Endereço do emitente G1 - 136 xLgr 3 Logradouro E C 1 - 1 2 - 60ER3437 nro 3 Número E C 1 - 1 1 - 60ER3438 xCpl 3 Complemento E C 0 - 1 1 - 60ER3439 xBairro 3 Bairro E C 1 - 1 2 - 60ER3440 cMun 3 Código do município (utilizar a tabela doIBGE)E N 1 - 1 7ER241 xMun 3 Nome do município E C 1 - 1 2 - 60ER3442 CEP 3 CEP E N 0 - 1 8ER40 Informar zeros não significativos43 UF 3 Sigla da UF E C 1 - 1 2 D644 fone 3 Telefone E N 0 - 1 7 - 12ER4345 email 3 Endereço de E-mail E C 0 - 1 1 - 60ER5446 comp 1 Identificação do Comprador do BPeInformar quando diferente do passageiroG0 - 147 xNome 2 Razão social ou Nome do comprador E C 1 - 1 2 - 60ER34# --- x --- 2 Choice XML - - 1 - 1Esta é uma escolha XML, que sinaliza que APENAS uma dastags CNPJ, CPF ou idEstrangeiro deve ser informado48 CNPJ 2 Número do CNPJ CE C 1 - 1 2ER8 Em caso de empresa não estabelecida no Brasil, seráinformado o CNPJ com zeros.Informar os zeros não significativos.49 CPF 2 Número do CPF CE N 1 - 1 11ER9 Informar os zeros não significativos.50 idEstrangeiro 2 Identificador do comprador em caso decomprador estrangeiroCE C 1 - 1ER4251 IE 2 Inscrição Estadual E N 0 - 1 0 - 14ER28 Informar a IE do remetente ou ISENTO se remetente écontribuinte do ICMS isento de inscrição no cadastro decontribuintes do ICMS. Caso o remetente não sejacontribuinte do ICMS não informar a tag.52 enderComp 2 Endereço do comprador G1 - 153 xLgr 3 Logradouro E C 1 - 1 1 - 255ER34ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 73 / 8454 nro 3 Número E C 1 - 1 1 - 60ER3455 xCpl 3 Complemento E C 0 - 1 1 - 60ER3456 xBairro 3 Bairro E C 1 - 1 1 - 60ER3457 cMun 3 Código do município (utilizar a tabela doIBGE), informar 9999999 para operações como exterior.E N 1 - 1 7ER258 xMun 3 Nome do município, informar EXTERIOR paraoperações com o exterior.E C 1 - 1 1 - 60ER3459 CEP 3 CEP E N 0 - 1 8ER40 Informar os zeros não significativos60 UF 3 Sigla da UF, informar EX para operações como exterior.E C 1 - 1 2 D561 cPais 3 Código do país E N 0 - 1 1 - 4ER33 Utilizar a tabela do BACEN62 xPais 3 Nome do país E C 0 - 1 1 - 60ER3463 fone 3 Telefone E N 0 - 1 7 - 12ER4364 email 3 Endereço de E-mail E C 0 - 1 1 - 60ER5465 agencia 1 Identificação da agência/preposto/terceiroque comercializou o BPeG0 - 166 xNome 2 Razão social ou Nome da Agência E C 1 - 1 2 - 60ER3467 CNPJ 2 Número do CNPJ E C 1 - 1 2ER8 Em caso de empresa não estabelecida no Brasil, seráinformado o CNPJ com zeros.Informar os zeros não significativos.68 enderAgencia 2 Endereço da agência G1 - 169 xLgr 3 Logradouro E C 1 - 1 1 - 255ER3470 nro 3 Número E C 1 - 1 1 - 60ER3471 xCpl 3 Complemento E C 0 - 1 1 - 60ER3472 xBairro 3 Bairro E C 1 - 1 1 - 60ER3473 cMun 3 Código do município (utilizar a tabela doIBGE), informar 9999999 para operações como exterior.E N 1 - 1 7ER274 xMun 3 Nome do município, informar EXTERIOR paraoperações com o exterior.E C 1 - 1 1 - 60ER3475 CEP 3 CEP E N 0 - 1 8ER40 Informar os zeros não significativos76 UF 3 Sigla da UF, informar EX para operações como exterior.E C 1 - 1 2 D577 cPais 3 Código do país E N 0 - 1 1 - 4ER33 Utilizar a tabela do BACEN78 xPais 3 Nome do país E C 0 - 1 1 - 60ER34ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 74 / 8479 fone 3 Telefone E N 0 - 1 7 - 12ER4380 email 3 Endereço de E-mail E C 0 - 1 1 - 60ER5481 infBPeSub 1 Informações dos BPe de Substituição pararemarcação e/ou transferênciaG0 - 182 chBPe 2 Chave do Bilhete de Passagem Substituído E C 1 - 1 44ER3 Informar os zeros não significativos.83 tpSub 2 Tipo de Substituição E N 1 - 1 1 D321 - Remarcação2 - Transferência3 - Transferência e Remarcação4 – Erro de Tarifa5 – Erro de Tributação6 – Decisão judicial7 – Erro Cadastral9 - Outros84 infPassagem 1 Informações do detalhamento da Passagem G1 - 185 dhEmb 2 Data e hora de embarque E D 1 - 1 21ER1 Formato AAAA-MM-DDTHH:MM:DD TZD86 dhValidade 2 Data e hora de validade do bilhete E D 1 - 1 21ER1 Formato AAAA-MM-DDTHH:MM:DD TZD87 infPassageiro 2 Informações do passageiro G0 - 188 xNome 3 Nome do Passageiro E C 1 - 1 2 - 60ER3489 CPF 3 Número do CPF E N 0 - 1 11ER9 Informar os zeros não significativos.90 tpDoc 3 Tipo do Documento de identificação E N 1 - 1 1 D191-RG2-Título de Eleitor3-Passaporte4-CNH5-Outros91 nDoc 3 Número do Documento do passageiro E C 1 - 1 2 - 20ER3492 xDoc 3 Descrição do tipo de documento "outros" E C 0 - 1 2 - 100ER3493 dNasc 3 Data de Nascimento E D 0 - 1 10ER35 Formato AAAA-MM-DD94 fone 3 Telefone E N 0 - 1 7 - 12ER4395 email 3 Endereço de E-mail E C 0 - 1 1 - 60ER5496 infViagem 1 Grupo de informações da viagem do BPe G1 - n97 nroVoo 2 Código voo viagem E C 1 - 1 1 - 2097 a SiglaCiaOperVoo 2 Sigla IATA da Companhia que opera o voo E C 1 - 1 1 - 3ER498 tpViagem 2 Tipo de Viagem E N 1 - 1 2 D11Informa o código do tipo da viagem00- Regular Doméstico;01- Regular Internacional;02- Não Regular Doméstico; e03- Não Regular Internacional.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 75 / 8499 cAeroOrig 2 Código IATA do Aeroporto de origem E C 1 - 1 4ER34100 cAeroDest 2 Código IATA do Aeroporto de destino E C 1 - 1 4ER34101 tpServ 2 Tipo de Serviço E N 1 - 1 2 D12Informar o código do tipo de serviço (12 - Comercial, 13 -Executivo)102 tpAcomodacao 2 Tipo de Acomodação E N 1 - 1 1 D13Informar o código do tipo de acomodação (6-Comum, 7-Conforto)103 tpTrecho 2 Tipo de trecho da viagem E N 1 - 1 1 D10Informar do tipo de trecho (1-Normal, 2-Trecho Inicial, 3-Conexão)104 dhViagem 2 Data e hora de referência para a viagem E D 1 - 1 21ER1 Formato AAAA-MM-DDTHH:MM:DD TZD105 dhConexao 2 Data e hora da conexãoInformar se tpTrecho = 3E D 0 - 1 21ER1 Formato AAAA-MM-DDTHH:MM:DD TZD106 infValorBPe 1 Informações dos valores do Bilhete dePassagemG1 - 1107 vBP 2 Valor do Bilhete de Passagem E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.Pode conter zeros quando o BPe for de complemento deICMS108 vDesconto 2 Valor do desconto concedido ao comprador E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.Indicar o valor total concedido em função dos benefíciosconcedidos ou política de desconto da empresaInformar 0.00 em caso de passagem comercializada semnenhum desconto109 vPgto 2 Valor pago pelo BPe (vBP - vDesconto) E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.110 vTroco 2 Valor do troco E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.111 tpDesconto 2 Tipo de desconto/benefício para o BPe E N 0 - 1 2 D1403 - Crianças09 - Profissional da Empresa (empregados ou tripulantes dacia aérea)10 - Programas de fidelidade (Milhagem);11 - Acordos Corporativos12- Acordos com Grupos de Passageiros;13 - Acompanhante passageiro PNE99 - Outros112 xDesconto 2 Descrição do tipo de desconto/benefícioconcedidoE C 0 - 1 2 - 100ER34113 cDesconto 2 Código do desconto quando informado comtipo 99 - OutrosE C 0 - 1 2 - 20ER34114 Comp 2 Componentes do Valor do Bilhete G1 - nProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 76 / 84115 tpComp 3 Tipo do Componente E N 1 - 1 2 D1501 - TARIFA;03 - TAXA EMBARQUE;06 - BAGAGEM07 - RESERVA DE ASSENTOS08 - TRANSPORTE DE ANIMAIS99 - OUTROS116 vComp 3 Valor do componente E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.117 imp 1 Informações relativas aos Impostos G1 - 1118 IBSCBS 2 Grupo de informações do IBS e CBS E C 1 - 1120 CST 3 Código Situação Tributária do IBS/CBS E N 1 - 1ER54 Utilizar tabela CST do IBS/CBS121 cClassTrib 3 Código de Classificação Tributária do IBS eCBSE N 1 - 1ER55 Utilizar tabela cClassTrib122 gIBSCBS 3G0 - 1123 vBC 4 Valor do BC E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.# --- x --- 4 Sequência XML - - 1 - 1125 gIBSUF 4 Grupo de informações do IBS na UF GS1 - 1126 pIBSUF 5 Alíquota do IBS de competência das UF E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.127 gDif 5 Grupo de campos do Diferimento G0 - 1128 pDif 6 Percentual do diferimento E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.129 vDif 7 Valor do diferimento E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.130 gDevTrib 5 Grupo de Informações da devolução detributosG0 - 1131 vDevTrib 6 Valor do tributo devolvido. No fornecimentode energia elétrica, água, esgoto egás natural e em outras hipóteses definidasno regulamentoE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.132 gRed 5 Grupo de campos da redução de alíquota G0 - 1133 pRedAliq 6 Percentual de redução de alíquota docClassTribE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.134 pAliqEfet 6 Alíquota Efetiva que será aplicada a Base deCálculoE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a4 casas decimais.135 vIBSUF 5 Valor do IBS de competência das UF E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.136 gIBSMun 4 Grupo de Informações do IBS no Município GS1 - 1ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 77 / 84137 pIBSMun 5 Alíquota do IBS Municipal E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.138 gDif 5 Grupo de campos do Diferimento G0 - 1139 pDif 6 Percentual do diferimento E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.140 vDif 6 Valor do diferimento E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.141 gDevTrib 5 Grupo de Informações da devolução detributosG0 - 1142 vDevTrib 6 Valor do tributo devolvido. No fornecimentode energia elétrica, água, esgoto egás natural e em outras hipóteses definidasno regulamentoE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.143 gRed 5 Grupo de campos da redução de alíquota G0 - 1144 pRedAliq 6 Percentual de redução de alíquota docClassTribE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.145 pAliqEfet 5 Alíquota Efetiva que será aplicada a Base deCálculoE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.146 vIBSMun 5 Valor do IBS Municipal E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.147 vIBS 4 Valor do IBS (soma de vIBSUF e vIBSMun) ES N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.148 gCBS 4 Grupo de Tributação da CBS G1 - 1149 pCBS 5 Alíquota da CBS E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.150 gDif 5 Grupo de campos do Diferimento G0 - 1151 pDif 6 Percentual do diferimento E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.152 vDif 6 Valor do diferimento E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.153 gDevTrib 5 Grupo de Informações da devolução detributosG0 - 1154 vDevTrib 6 Valor do tributo devolvido. No fornecimentode energia elétrica, água, esgoto egás natural e em outras hipóteses definidasno regulamentoE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.155 gRed 5 Grupo de campos da redução de alíquota G0 - 1156 pRedAliq 6 Percentual de redução de alíquota docClassTribE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.157 pAliqEfet 6 Alíquota Efetiva que será aplicada a Base deCálculoE N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 78 / 84158 vCBS 5 Valor da CBS E C 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.159 gTribRegular 4 Grupo de informações da Tributação Regular.Informar como seria a tributação caso nãocumprida a condição resolutória/suspensiva.Exemplo 1: Art. 442, §4. Operações com ZFMe ALC. Exemplo 2: Operações com suspensãodo tributo.G0 - 1160 CSTReg 5 Código da Situação Tributária do IBS e CBS E N 1 - 1ER54 Informar qual seria o CST caso não cumprida a condiçãoresolutória/suspensiva161 cClassTribReg 5 Informar qual seria o cClassTrib caso nãocumprida a condição resolutória/suspensivaE N 1 - 1ER55175 pAliqEfetRegIBSUF 5 Alíquota do IBS da UF E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.Informar como seria a Alíquota caso não cumprida acondição resolutória/suspensiva163 vTribRegIBSUF 5 Valor do IBS da UF E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.Informar como seria o valor do Tributo caso não cumprida acondição resolutória/suspensiva164 pAliqEfetRegIBSMun 5 Alíquota do IBS do Município E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.Informar como seria a Alíquota caso não cumprida acondição resolutória/suspensiva165 vTribRegIBSMun 5 Valor do IBS do Município E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.Informar como seria o valor do Tributo caso não cumprida acondição resolutória/suspensiva166 pAliqEfetRegCBS 5 Alíquota da CBS E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.Informar como seria a Alíquota caso não cumprida acondição resolutória/suspensiva167 vTribRegCBS 5 Valor da CBS E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.Informar como seria o valor do Tributo caso não cumprida acondição resolutória/suspensiva168 gIBSCredPres 4 Grupo de Informações do Crédito Presumidoreferente ao IBS, quando aproveitado peloemitente do documento.G0 - 1169 cCredPres 5 Usar tabela Cred Presumido, para o emitentedo BPe.E N 1 - 1170 pCredPres 5 Percentual do Crédito Presumido E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.171 vCredPres 5 Valor do Crédito Presumido CE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 79 / 84172 vCredPresCondSus 5 Valor do Crédito Presumido CondiçãoSuspensiva, preencher apenas paracCredPres que possui indicação de CondiçãoSuspensivaCE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.173 gCBSCredPres 4 Grupo de Informações do Crédito Presumidoreferente a CBS, quando aproveitado peloemitente do documento.G0 - 1174 cCredPres 5 Usar tabela Cred Presumido, para o emitentedo BPe.E N 1 - 1175 pCredPres 5 Percentual do Crédito Presumido E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.176 vCredPres 5 Valor do Crédito Presumido CE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.177 vCredPresCondSus 5 Valor do Crédito Presumido CondiçãoSuspensiva, preencher apenas paracCredPres que possui indicação de CondiçãoSuspensivaCE N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.178 gTribCompraGov 4 Grupo de informações da composição dovalor do IBS e da CBS em comprasgovernamentaisG0 - 1179 pAliqIBSUF 5E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.180 vTribIBSUF 5 Valor que seria devido a UF, sem aplicaçãodo Art. 473. da LC 214/2025E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.181 pAliqIBSMun 5E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.182 vTribIBSMun 5 Valor que seria devido ao município, semaplicação do Art. 473. da LC 214/2025E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.183 pAliqCBS 5E N 1 - 1 3, 23, 4ER16 5 posições, sendo 3 inteiras e 2 a 4 casas decimais.184 vTribCBS 5 Valor que seria devido a CBS, sem aplicaçãodo Art. 473. da LC 214/2025E N 1 - 1 13. 2ER36 15 posições, sendo 13 inteiras e 2 casas decimais.185 vINSSRet 2 Valor retido de contribuição previdenciária(informar apenas no múltiplo)E N 0 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.186 vTotTrib 2 Valor Total dos Tributos E N 0 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.187 infAdFisco 2 Informações adicionais de interesse do Fisco E C 0 - 1 1 - 2000ER34 Norma referenciada, informações complementares etc.188 vTotDFe 2 Valor total do documento fiscal(vBP + total do IBS + total da CBS) - vINSSRetE N 0 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 80 / 84189 infBPeVinculado 1 Informações do Serviço Vinculado a BPemúltiploCG1 - 1190 chBPeMultiplo 2 Chave de acesso do BPe Múltiplo E C 1 - 1 44ER3191 pag 1 Dados de Pagamento. G1 - 10192 tPag 2 Forma de Pagamento:01-Dinheiro;02-Cheque;03-Cartão de Crédito;04-Cartão deDébito;05-Vale Transportel;06 - PIX; 99 -OutrosE N 1 - 1 2 D16193 xPag 2 Descrição da forma de pagamento 99 -OutrosE C 0 - 1 2 - 100ER34194 nDocPag 2 Número do documento ou carteiraapresentada nas formas de pagamentodiferentes de 03 e 04E C 0 - 1 2 - 20ER34195 vPag 2 Valor do Pagamento E N 1 - 1 13, 2ER26 15 posições, sendo 13 inteiras e 2 casas decimais.196 card 2 Grupo de Cartões G0 - 1197 tpIntegra 3 Tipo de Integração para pagamento E N 1 - 1 1 D7Tipo de Integração do processo de pagamento com osistema de automação da empresa:1=Pagamento integrado com o sistema de automação daempresa (Ex.: equipamento TEF, Comércio Eletrônico, POSIntegrado)2= Pagamento não integrado com o sistema de automaçãoda empresa (Ex.: equipamento POS Simples)198 CNPJ 3 CNPJ da credenciadora de cartão decrédito/débitoE C 0 - 1 2ER7199 tBand 3 Bandeira da operadora de cartão decrédito/débitoE N 0 - 1 2 D1601–Visa; 02–Mastercard; 03–American Express; 04–Sorocred; 05 - Elo; 06 - Diners; 99–Outros200 xBand 3 Descrição do operador de cartão para 99 -OutrosE C 0 - 1 2 - 100ER34201 cAut 3 Número de autorização da operação cartãode crédito/débitoE C 0 - 1 1 - 20ER34202 nsuTrans 3 Número sequencial único da transação E C 0 - 1 1 - 20ER34203 nsuHost 3 Número sequencial único do Host E C 0 - 1 1 - 20ER34204 nParcelas 3 Número de parcelas E N 0 - 1 1 - 3ER44205 infAdCard 3 Informações adicionais operacionais paraintegração do cartão de créditoE C 0 - 1 1 - 2000ER34 Norma referenciada, informações complementares etc.206 autXML 1 Autorizados para download do XML do DFe G0 - 10Informar CNPJ ou CPF. Preencher os zeros nãosignificativos.ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 81 / 84207 CNPJ 2 CNPJ do autorizado CE C 1 - 1 2ER7 Informar zeros não significativos208 CPF 2 CPF do autorizado CE N 1 - 1 11ER9 Informar zeros não significativos209 infAdic 1 Informações Adicionais G0 - 1210 infAdFisco 2 Informações adicionais de interesse do Fisco E C 0 - 1 1 - 2000ER34 Norma referenciada, informações complementares, etc211 infCpl 2 Informações complementares de interessedo ContribuinteE C 0 - 1 1 - 5000ER34212 infRespTec 1 Informações do Responsável Técnico pelaemissão do DFeG0 - 1213 CNPJ 2 CNPJ da pessoa jurídica responsável técnicapelo sistema utilizado na emissão dodocumento fiscal eletrônicoE C 1 - 1 2ER7 Informar o CNPJ da pessoa jurídica desenvolvedora dosistema utilizado na emissão do documento fiscal eletrônico.214 xContato 2 Nome da pessoa a ser contatada E C 1 - 1 2 - 60ER34 Informar o nome da pessoa a ser contatada na empresadesenvolvedora do sistema utilizado na emissão dodocumento fiscal eletrônico. No caso de pessoa física,informar o respectivo nome.215 email 2 Email da pessoa jurídica a ser contatada E C 1 - 1 1 - 60ER54216 fone 2 Telefone da pessoa jurídica a ser contatada E N 1 - 1 7 - 12ER43 Preencher com o Código DDD + número do telefone.# --- x --- 0 Sequência XML - - 0 - 1As tags idCRT e hashCRT são filhas desta sequência opcional,se informada uma das tags a outra deverá ser informada217 idCSRT 2 Identificador do código de segurança doresponsável técnicoES C 1 - 1 3ER44 Identificador do CSRT utilizado para geração do hash218 hashCSRT 2 Hash do token do código de segurança doresponsável técnicoES C 1 - 1 20O hashCSRT é o resultado das funções SHA-1 e base64 dotoken CSRT fornecido pelo fisco + chave de acesso do DFe.(Implementação em futura NT)Observação: 28 caracteres são representados no schemacomo 20 bytes do tipo base64Binary219 infBPeSupl 0 Informações suplementares do BPe G1 - 1220 qrCodBPe 1 Texto com o QR-Code impresso no DABPE E C 1 - 1 50 - 1000ER462210 ds:Signature E C 1 - 1ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 82 / 84Expressões RegularesER1 (((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))ER2 [0-9]{7}ER3 [0-9]{6}[A-Z0-9]{12}[0-9]{26}ER4 [0-9]{36}ER5 [0-9]{15}ER6 [0-9]{3,4}ER7 [A-Z0-9]{12}[0-9]{2}ER8 [0-9]{0}|[A-Z0-9]{12}[0-9]{2}ER9 [0-9]{11}ER10 [0-9]{3,11}ER11 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?ER12 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{3})?ER13 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?ER14 [0-9]{1,3}(\.[0-9]{2,3})?ER15 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})?ER16 0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})?ER17 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})?ER18 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})?ER19 0\.[1-9]{1}[0-9]{5}|0\.[0-9]{1}[1-9]{1}[0-9]{4}|0\.[0-9]{2}[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}[0-9]{2}|0\.[0-9]{4}[1-9]{1}[0-9]{1}|0\.[0-9]{5}[1-9]{1}|[1-9]{1}[0-9]{0,8}(\.[0-9]{6})?ER20 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})?ER21 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})?ER22 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})?ER23 0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})?ER24 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})?ER25 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})?ER26 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?ER27 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?ER28 [0-9]{0,14}|ISENTO|PR[0-9]{4,8}ER29 [0-9]{2,14}ER30 [1-9]{1}[0-9]{0,8}ER31 0|[1-9]{1}[0-9]{0,2}ER32 [0-9]{2}ER33 [0-9]{1,4}ER34 [!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 83 / 84ER35 ((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))ER36 [0-9]\.[0-9]{6}|[1-8][0-9]\.[0-9]{6}|90\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-8][0-9]\.[0-9]{6}|-90\.[0-9]{6}ER37 [0-9]\.[0-9]{6}|[1-9][0-9]\.[0-9]{6}|1[0-7][0-9]\.[0-9]{6}|180\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-9][0-9]\.[0-9]{6}|-1[0-7][0-9]\.[0-9]{6}|-180\.[0-9]{6}ER38 (([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])ER39 [A-Z]{2,3}[0-9]{4}|[A-Z]{3,4}[0-9]{3}|[A-Z0-9]{7}ER40 [0-9]{8}ER41 [0-9]{1}ER42 ([!-ÿ]{0}|[!-ÿ]{5,20})?ER43 [0-9]{7,12}ER44 [0-9]{3}ER45 BPe[0-9]{44}ER46 ((HTTPS?|https?)://.*\?chBPe=[0-9]{6}[A-Z0-9]{12}[0-9]{26}&amp;tpAmb=[1-2](&amp;sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?)ER47 [0-9]{5}ER48 [1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1}ER49 [0-9]{1,6}ER50 BPe[0-9]{6}[A-Z0-9]{12}[0-9]{26}ER51 [0-9]{1,15}ER52 1\.00ER53 (([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])ER54 [^@]+@[^\.]+\..+ER55 [123567][0-9]([0-9][1-9]|[1-9][0-9])DomínioD1 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53D2 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53, 90, 91, 92, 93, 80, 81D3 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53, 99D4 63D5 AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO, EXD6 AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TOD7 1, 2D8 4D9 2D10 1, 2, 3D11 00, 01, 02, 03D12 12, 13D13 6, 7D14 03, 09, 10, 11, 12, 13, 99ProjetoBilhete de Passagem EletrônicoNota Técnica 2025.002 v1.00 – Transporte AéreoPágina 84 / 84D15 01, 03, 06, 07, 08, 99D16 01, 02, 03, 04, 05, 06, 99D17 00, 01D18 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11D19 1, 2, 3, 4, 5D20 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 99D21 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 99D22 00D23 20D24 40, 41, 51D25 90D26 1D27 0, 3D28 0, 1, 2D29 1, 3, 4D30 1, 2, 0D31 1, 2, 3, 4, 5, 9D32 1, 2, 3, 4, 5, 6, 7, 9<style>body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem; } table { border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { padding: 0.4rem; } table[border]:not([border="0"]):not([style*="border-width"]) td, table[border]:not([border="0"]):not([style*="border-width"]) th { border-width: 1px; } table[border]:not([border="0"]):not([style*="border-style"]) td, table[border]:not([border="0"]):not([style*="border-style"]) th { border-style: solid; } table[border]:not([border="0"]):not([style*="border-color"]) td, table[border]:not([border="0"]):not([style*="border-color"]) th { border-color: rgb(204, 204, 204); } figure { display: table; margin: 1rem auto; } figure figcaption { color: rgb(153, 153, 153); display: block; margin-top: 0.25rem; text-align: center; } hr { border-color: rgb(204, 204, 204); border-style: solid; border-width: 1px 0px 0px; } code { background-color: rgb(232, 232, 232); border-radius: 3px; padding: 0.1rem 0.2rem; } .mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid rgb(204, 204, 204); margin-left: 1.5rem; padding-left: 1rem; } .mce-content-body[dir="rtl"] blockquote { border-right: 2px solid rgb(204, 204, 204); margin-right: 1.5rem; padding-right: 1rem; } textarea#mentions { height: 350px; } div.card, .tox div.card { width: 240px; background: white; border: 1px solid rgb(204, 204, 204); border-radius: 3px; box-shadow: rgba(34, 47, 62, 0.1) 0px 4px 8px 0px; padding: 8px; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } div.card::after, .tox div.card::after { content: ""; clear: both; display: table; } div.card h1, .tox div.card h1 { font-size: 14px; font-weight: bold; margin: 0px 0px 8px; padding: 0px; line-height: normal; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } div.card p, .tox div.card p { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } div.card img.avatar, .tox div.card img.avatar { width: 48px; height: 48px; margin-right: 8px; float: left; } .tox { box-shadow: none; box-sizing: content-box; color: rgb(34, 47, 62); cursor: auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; -webkit-tap-highlight-color: transparent; text-decoration: none; text-shadow: none; text-transform: none; vertical-align: initial; white-space: normal; } .tox :not(svg):not(rect) { box-sizing: inherit; color: inherit; cursor: inherit; direction: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; -webkit-tap-highlight-color: inherit; text-align: inherit; text-decoration: inherit; text-shadow: inherit; text-transform: inherit; vertical-align: inherit; white-space: inherit; } .tox :not(svg):not(rect) { background: 0px 0px; border: 0px; box-shadow: none; float: none; height: auto; margin: 0px; max-width: none; outline: 0px; padding: 0px; position: static; width: auto; } .tox:not([dir="rtl"]) { direction: ltr; text-align: left; } .tox[dir="rtl"] { direction: rtl; text-align: right; } .tox-tinymce { border: 2px solid rgb(238, 238, 238); border-radius: 10px; box-shadow: none; box-sizing: border-box; display: flex; flex-direction: column; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; overflow: hidden; position: relative; visibility: inherit !important; } .tox.tox-tinymce-inline { border: none; box-shadow: none; overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { background-color: rgb(255, 255, 255); border: 2px solid rgb(238, 238, 238); border-radius: 10px; box-shadow: none; overflow: hidden; } .tox-tinymce-aux { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; z-index: 1300; } .tox-tinymce :focus, .tox-tinymce-aux :focus { outline: 0px; } .tox[dir="rtl"] .tox-icon--flip svg { transform: rotateY(180deg); } .tox .accessibility-issue__header { align-items: center; display: flex; margin-bottom: 4px; } .tox .accessibility-issue__description { align-items: stretch; border-radius: 6px; display: flex; justify-content: space-between; } .tox .accessibility-issue__description > div { padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { align-items: center; display: flex; margin-bottom: 4px; } .tox .accessibility-issue__description > div > div .tox-icon svg { display: block; } .tox .accessibility-issue__repair { margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { background-color: rgba(0, 101, 216, 0.1); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { color: rgb(0, 108, 231); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { fill: rgb(0, 108, 231); } .tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon { background-color: rgb(0, 108, 231); color: rgb(255, 255, 255); } .tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus, .tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover { background-color: rgb(0, 96, 206); } .tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active { background-color: rgb(0, 84, 180); } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { background-color: rgba(255, 165, 0, 0.08); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { color: rgb(143, 93, 0); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { fill: rgb(143, 93, 0); } .tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon { background-color: rgb(255, 232, 157); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus, .tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover { background-color: rgb(242, 213, 116); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active { background-color: rgb(232, 198, 87); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { background-color: rgba(204, 0, 0, 0.1); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { color: rgb(204, 0, 0); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { fill: rgb(204, 0, 0); } .tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon { background-color: rgb(242, 191, 191); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus, .tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover { background-color: rgb(233, 164, 164); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active { background-color: rgb(238, 148, 148); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { background-color: rgba(120, 171, 70, 0.1); color: rgb(34, 47, 62); } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > :last-child { display: none; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { color: rgb(82, 117, 48); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { fill: rgb(82, 117, 48); } .tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { font-size: 14px; margin-top: 0px; } .tox:not([dir="rtl"]) .tox-dialog__body-content .accessibility-issue__header .tox-button { margin-left: 4px; } .tox:not([dir="rtl"]) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { margin-left: auto; } .tox:not([dir="rtl"]) .tox-dialog__body-content .accessibility-issue__description { padding: 4px 4px 4px 8px; } .tox[dir="rtl"] .tox-dialog__body-content .accessibility-issue__header .tox-button { margin-right: 4px; } .tox[dir="rtl"] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { margin-right: auto; } .tox[dir="rtl"] .tox-dialog__body-content .accessibility-issue__description { padding: 4px 8px 4px 4px; } .tox .tox-anchorbar { display: flex; flex: 0 0 auto; } .tox .tox-bar { display: flex; flex: 0 0 auto; } .tox .tox-button { background-color: rgb(0, 108, 231); background-image: none; background-position: 0px 0px; background-repeat: repeat; border-color: rgb(0, 108, 231); border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; box-sizing: border-box; color: rgb(255, 255, 255); cursor: pointer; display: inline-block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 14px; font-style: normal; font-weight: 700; letter-spacing: normal; line-height: 24px; margin: 0px; outline: 0px; padding: 4px 16px; position: relative; text-align: center; text-decoration: none; text-transform: none; white-space: nowrap; } .tox .tox-button::before { border-radius: 6px; inset: -1px; box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset, rgb(0, 108, 231) 0px 0px 0px 1px, rgba(0, 108, 231, 0.25) 0px 0px 0px 3px; content: ""; opacity: 0; pointer-events: none; position: absolute; } .tox .tox-button[disabled] { background-color: rgb(0, 108, 231); background-image: none; border-color: rgb(0, 108, 231); box-shadow: none; color: rgba(255, 255, 255, 0.5); cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { background-color: rgb(0, 96, 206); background-image: none; border-color: rgb(0, 96, 206); box-shadow: none; color: rgb(255, 255, 255); } .tox .tox-button:focus-visible:not(:disabled)::before { opacity: 1; } .tox .tox-button:hover:not(:disabled) { background-color: rgb(0, 96, 206); background-image: none; border-color: rgb(0, 96, 206); box-shadow: none; color: rgb(255, 255, 255); } .tox .tox-button:active:not(:disabled) { background-color: rgb(0, 84, 180); background-image: none; border-color: rgb(0, 84, 180); box-shadow: none; color: rgb(255, 255, 255); } .tox .tox-button--secondary { background-color: rgb(240, 240, 240); background-image: none; background-position: 0px 0px; background-repeat: repeat; border-color: rgb(240, 240, 240); border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; color: rgb(34, 47, 62); font-size: 14px; font-style: normal; font-weight: 700; letter-spacing: normal; outline: 0px; padding: 4px 16px; text-decoration: none; text-transform: none; } .tox .tox-button--secondary[disabled] { background-color: rgb(240, 240, 240); background-image: none; border-color: rgb(240, 240, 240); box-shadow: none; color: rgba(34, 47, 62, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { background-color: rgb(227, 227, 227); background-image: none; border-color: rgb(227, 227, 227); box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-button--secondary:hover:not(:disabled) { background-color: rgb(227, 227, 227); background-image: none; border-color: rgb(227, 227, 227); box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-button--secondary:active:not(:disabled) { background-color: rgb(214, 214, 214); background-image: none; border-color: rgb(214, 214, 214); box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { display: block; fill: currentcolor; } .tox .tox-button-link { background: 0px center; border: none; box-sizing: border-box; cursor: pointer; display: inline-block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.3; margin: 0px; padding: 0px; white-space: nowrap; } .tox .tox-button-link--sm { font-size: 14px; } .tox .tox-button--naked { background-color: transparent; border-color: transparent; box-shadow: unset; color: rgb(34, 47, 62); } .tox .tox-button--naked[disabled] { background-color: rgba(34, 47, 62, 0.12); border-color: transparent; box-shadow: unset; color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { background-color: rgba(34, 47, 62, 0.12); border-color: transparent; box-shadow: unset; color: rgb(34, 47, 62); } .tox .tox-button--naked:focus:not(:disabled) { background-color: rgba(34, 47, 62, 0.12); border-color: transparent; box-shadow: unset; color: rgb(34, 47, 62); } .tox .tox-button--naked:active:not(:disabled) { background-color: rgba(34, 47, 62, 0.18); border-color: transparent; box-shadow: unset; color: rgb(34, 47, 62); } .tox .tox-button--naked .tox-icon svg { fill: currentcolor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { color: rgb(34, 47, 62); } .tox .tox-checkbox { align-items: center; border-radius: 6px; cursor: pointer; display: flex; height: 36px; min-width: 36px; } .tox .tox-checkbox__input { height: 1px; overflow: hidden; position: absolute; top: auto; width: 1px; } .tox .tox-checkbox__icons { align-items: center; border-radius: 6px; box-shadow: transparent 0px 0px 0px 2px; box-sizing: content-box; display: flex; height: 24px; justify-content: center; padding: calc(3px); width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { display: block; fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { display: none; fill: rgb(0, 108, 231); } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { display: none; fill: rgb(0, 108, 231); } .tox .tox-checkbox--disabled { color: rgba(34, 47, 62, 0.5); cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { border-radius: 6px; box-shadow: rgb(0, 108, 231) 0px 0px 0px 1px inset; padding: calc(3px); } .tox:not([dir="rtl"]) .tox-checkbox__label { margin-left: 4px; } .tox:not([dir="rtl"]) .tox-checkbox__input { left: -10000px; } .tox:not([dir="rtl"]) .tox-bar .tox-checkbox { margin-left: 4px; } .tox[dir="rtl"] .tox-checkbox__label { margin-right: 4px; } .tox[dir="rtl"] .tox-checkbox__input { right: -10000px; } .tox[dir="rtl"] .tox-bar .tox-checkbox { margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { display: flex; padding: 0px; } .tox .tox-collection--grid .tox-collection__group { display: flex; flex-wrap: wrap; max-height: 208px; overflow: hidden auto; padding: 0px; } .tox .tox-collection--list .tox-collection__group { border-width: 1px 0px 0px; border-color: rgb(227, 227, 227); border-style: solid; padding: 4px 0px; } .tox .tox-collection--list .tox-collection__group:first-child { border-top-width: 0px; } .tox .tox-collection__group-heading { background-color: rgb(252, 252, 252); color: rgba(34, 47, 62, 0.7); cursor: default; font-size: 12px; font-style: normal; font-weight: 400; margin-bottom: 4px; margin-top: -4px; padding: 4px 8px; text-transform: none; user-select: none; } .tox .tox-collection__item { align-items: center; border-radius: 3px; color: rgb(34, 47, 62); display: flex; user-select: none; } .tox .tox-collection--list .tox-collection__item { padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { border-radius: 3px; padding: 4px; } .tox .tox-collection--grid .tox-collection__item { border-radius: 3px; padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { background-color: rgb(255, 255, 255); color: rgb(34, 47, 62); } .tox .tox-collection--list .tox-collection__item--active { background-color: rgb(204, 226, 250); } .tox .tox-collection--toolbar .tox-collection__item--enabled { background-color: rgb(166, 204, 247); color: rgb(34, 47, 62); } .tox .tox-collection--toolbar .tox-collection__item--active { background-color: rgb(204, 226, 250); } .tox .tox-collection--grid .tox-collection__item--enabled { background-color: rgb(166, 204, 247); color: rgb(34, 47, 62); } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { background-color: rgb(204, 226, 250); color: rgb(34, 47, 62); } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { color: rgb(34, 47, 62); } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { color: rgb(34, 47, 62); } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { align-items: center; display: flex; height: 24px; justify-content: center; width: 24px; } .tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg { fill: currentcolor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { height: 48px; width: 48px; } .tox .tox-collection__item-label { color: currentcolor; display: inline-block; flex: 1 1 0%; font-size: 14px; font-style: normal; font-weight: 400; line-height: 24px; text-transform: none; word-break: break-all; } .tox .tox-collection__item-accessory { color: rgba(34, 47, 62, 0.7); display: inline-block; font-size: 14px; height: 24px; line-height: 24px; text-transform: none; } .tox .tox-collection__item-caret { align-items: center; display: flex; min-height: 24px; } .tox .tox-collection__item-caret::after { content: ""; font-size: 0px; min-height: inherit; } .tox .tox-collection__item-caret svg { fill: rgb(34, 47, 62); } .tox .tox-collection__item--state-disabled { background-color: transparent; color: rgba(34, 47, 62, 0.5); cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { display: none; } .tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { display: none; } .tox .tox-collection--horizontal { background-color: rgb(255, 255, 255); border: 1px solid rgb(227, 227, 227); border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.2) 0px 0px 2px 0px, rgba(34, 47, 62, 0.15) 0px 4px 8px 0px; display: flex; flex: 0 0 auto; flex-wrap: nowrap; margin-bottom: 0px; overflow-x: auto; padding: 0px; } .tox .tox-collection--horizontal .tox-collection__group { align-items: center; display: flex; flex-wrap: nowrap; margin: 0px; padding: 0px 4px; } .tox .tox-collection--horizontal .tox-collection__item { height: 28px; margin: 6px 1px 5px 0px; padding: 0px 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { margin-left: 4px; } .tox .tox-collection__item-container { display: flex; } .tox .tox-collection__item-container--row { align-items: center; flex: 1 1 auto; flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { justify-content: flex-end; margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { align-items: flex-start; margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { align-items: flex-end; margin-top: auto; } .tox .tox-collection__item-container--column { align-self: center; flex: 1 1 auto; flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { align-self: flex-end; } .tox:not([dir="rtl"]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { border-right: 1px solid transparent; } .tox:not([dir="rtl"]) .tox-collection--list .tox-collection__item > :not(:first-child) { margin-left: 8px; } .tox:not([dir="rtl"]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { margin-left: 4px; } .tox:not([dir="rtl"]) .tox-collection__item-accessory { margin-left: 16px; text-align: right; } .tox:not([dir="rtl"]) .tox-collection .tox-collection__item-caret { margin-left: 16px; } .tox[dir="rtl"] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { border-left: 1px solid transparent; } .tox[dir="rtl"] .tox-collection--list .tox-collection__item > :not(:first-child) { margin-right: 8px; } .tox[dir="rtl"] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { margin-right: 4px; } .tox[dir="rtl"] .tox-collection__item-accessory { margin-right: 16px; text-align: left; } .tox[dir="rtl"] .tox-collection .tox-collection__item-caret { margin-right: 16px; transform: rotateY(180deg); } .tox[dir="rtl"] .tox-collection--horizontal .tox-collection__item-caret { margin-right: 4px; } .tox .tox-color-picker-container { display: flex; flex-direction: row; height: 225px; margin: 0px; } .tox .tox-sv-palette { box-sizing: border-box; display: flex; height: 100%; } .tox .tox-sv-palette-spectrum { height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { width: 225px; } .tox .tox-sv-palette-thumb { background: 0px 0px; border: 1px solid rgb(0, 0, 0); border-radius: 50%; box-sizing: content-box; height: 12px; position: absolute; width: 12px; } .tox .tox-sv-palette-inner-thumb { border: 1px solid rgb(255, 255, 255); border-radius: 50%; height: 10px; position: absolute; width: 10px; } .tox .tox-hue-slider { box-sizing: border-box; height: 100%; width: 25px; } .tox .tox-hue-slider-spectrum { background: linear-gradient(red, rgb(255, 0, 128), rgb(255, 0, 255), rgb(128, 0, 255), rgb(0, 0, 255), rgb(0, 128, 255), rgb(0, 255, 255), rgb(0, 255, 128), rgb(0, 255, 0), rgb(128, 255, 0), rgb(255, 255, 0), rgb(255, 128, 0), red); height: 100%; width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { width: 20px; } .tox .tox-hue-slider-thumb { background: rgb(255, 255, 255); border: 1px solid rgb(0, 0, 0); box-sizing: content-box; height: 4px; width: 100%; } .tox .tox-rgb-form { display: flex; flex-direction: column; justify-content: space-between; } .tox .tox-rgb-form div { align-items: center; display: flex; justify-content: space-between; margin-bottom: 5px; width: inherit; } .tox .tox-rgb-form input { width: 6em; } .tox .tox-rgb-form input.tox-invalid { border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { border: 1px solid rgb(0, 0, 0); flex-grow: 2; margin-bottom: 0px; } .tox:not([dir="rtl"]) .tox-sv-palette { margin-right: 15px; } .tox:not([dir="rtl"]) .tox-hue-slider { margin-right: 15px; } .tox:not([dir="rtl"]) .tox-hue-slider-thumb { margin-left: -1px; } .tox:not([dir="rtl"]) .tox-rgb-form label { margin-right: 0.5em; } .tox[dir="rtl"] .tox-sv-palette { margin-left: 15px; } .tox[dir="rtl"] .tox-hue-slider { margin-left: 15px; } .tox[dir="rtl"] .tox-hue-slider-thumb { margin-right: -1px; } .tox[dir="rtl"] .tox-rgb-form label { margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { margin: 5px 0px 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { border: 0px; margin: -4px; } .tox .tox-swatches__row { display: flex; } .tox .tox-swatch { height: 30px; transition: transform 0.15s ease 0s, box-shadow 0.15s ease 0s; width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { box-shadow: rgba(127, 127, 127, 0.3) 0px 0px 0px 1px inset; transform: scale(0.8); } .tox .tox-swatch--remove { align-items: center; display: flex; justify-content: center; } .tox .tox-swatch--remove svg path { stroke: rgb(231, 76, 60); } .tox .tox-swatches__picker-btn { align-items: center; background-color: transparent; border: 0px; cursor: pointer; display: flex; height: 30px; justify-content: center; outline: 0px; padding: 0px; width: 30px; } .tox .tox-swatches__picker-btn svg { fill: rgb(34, 47, 62); height: 24px; width: 24px; } .tox .tox-swatches__picker-btn:hover { background: rgb(204, 226, 250); } .tox div.tox-swatch:not(.tox-swatch--remove) svg { display: none; fill: rgb(34, 47, 62); height: 24px; margin: calc(3px); width: 24px; } .tox div.tox-swatch:not(.tox-swatch--remove) svg path { fill: rgb(255, 255, 255); paint-order: stroke; stroke: rgb(34, 47, 62); stroke-width: 2px; } .tox div.tox-swatch:not(.tox-swatch--remove)[aria-checked="true"] svg { display: block; } .tox:not([dir="rtl"]) .tox-swatches__picker-btn { margin-left: auto; } .tox[dir="rtl"] .tox-swatches__picker-btn { margin-right: auto; } .tox .tox-comment-thread { background: rgb(255, 255, 255); position: relative; } .tox .tox-comment-thread > :not(:first-child) { margin-top: 8px; } .tox .tox-comment { background: rgb(255, 255, 255); border: 1px solid rgb(238, 238, 238); border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.1) 0px 4px 8px 0px; padding: 8px 8px 16px; position: relative; } .tox .tox-comment__header { align-items: center; color: rgb(34, 47, 62); display: flex; justify-content: space-between; } .tox .tox-comment__date { color: rgb(34, 47, 62); font-size: 12px; line-height: 18px; } .tox .tox-comment__body { color: rgb(34, 47, 62); font-size: 14px; font-style: normal; font-weight: 400; line-height: 1.3; margin-top: 8px; position: relative; text-transform: initial; } .tox .tox-comment__body textarea { resize: none; white-space: normal; width: 100%; } .tox .tox-comment__expander { padding-top: 8px; } .tox .tox-comment__expander p { color: rgba(34, 47, 62, 0.7); font-size: 14px; font-style: normal; } .tox .tox-comment__body p { margin: 0px; } .tox .tox-comment__buttonspacing { padding-top: 16px; text-align: center; } .tox .tox-comment-thread__overlay::after { background: rgb(255, 255, 255); inset: 0px; content: ""; display: flex; opacity: 0.9; position: absolute; z-index: 5; } .tox .tox-comment__reply { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; margin-top: 8px; } .tox .tox-comment__reply > :first-child { margin-bottom: 8px; width: 100%; } .tox .tox-comment__edit { display: flex; flex-wrap: wrap; justify-content: flex-end; margin-top: 16px; } .tox .tox-comment__gradient::after { background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255)); bottom: 0px; content: ""; display: block; height: 5em; margin-top: -40px; position: absolute; width: 100%; } .tox .tox-comment__overlay { background: rgb(255, 255, 255); inset: 0px; display: flex; flex-direction: column; flex-grow: 1; opacity: 0.9; position: absolute; text-align: center; z-index: 5; } .tox .tox-comment__loading-text { align-items: center; color: rgb(34, 47, 62); display: flex; flex-direction: column; position: relative; } .tox .tox-comment__loading-text > div { padding-bottom: 16px; } .tox .tox-comment__overlaytext { inset: 0px; flex-direction: column; font-size: 14px; padding: 1em; position: absolute; z-index: 10; } .tox .tox-comment__overlaytext p { background-color: rgb(255, 255, 255); box-shadow: rgb(255, 255, 255) 0px 0px 8px 8px; color: rgb(34, 47, 62); text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { font-size: 0.8em; } .tox .tox-comment__busy-spinner { align-items: center; background-color: rgb(255, 255, 255); inset: 0px; display: flex; justify-content: center; position: absolute; z-index: 20; } .tox .tox-comment__scroll { display: flex; flex-direction: column; flex-shrink: 1; overflow: auto; } .tox .tox-conversations { margin: 8px; } .tox:not([dir="rtl"]) .tox-comment__edit { margin-left: 8px; } .tox:not([dir="rtl"]) .tox-comment__buttonspacing > :last-child, .tox:not([dir="rtl"]) .tox-comment__edit > :last-child, .tox:not([dir="rtl"]) .tox-comment__reply > :last-child { margin-left: 8px; } .tox[dir="rtl"] .tox-comment__edit { margin-right: 8px; } .tox[dir="rtl"] .tox-comment__buttonspacing > :last-child, .tox[dir="rtl"] .tox-comment__edit > :last-child, .tox[dir="rtl"] .tox-comment__reply > :last-child { margin-right: 8px; } .tox .tox-user { align-items: center; display: flex; } .tox .tox-user__avatar svg { fill: rgba(34, 47, 62, 0.7); } .tox .tox-user__avatar img { border-radius: 50%; height: 36px; object-fit: cover; vertical-align: middle; width: 36px; } .tox .tox-user__name { color: rgb(34, 47, 62); font-size: 14px; font-style: normal; font-weight: 700; line-height: 18px; text-transform: none; } .tox:not([dir="rtl"]) .tox-user__avatar img, .tox:not([dir="rtl"]) .tox-user__avatar svg { margin-right: 8px; } .tox:not([dir="rtl"]) .tox-user__avatar + .tox-user__name { margin-left: 8px; } .tox[dir="rtl"] .tox-user__avatar img, .tox[dir="rtl"] .tox-user__avatar svg { margin-left: 8px; } .tox[dir="rtl"] .tox-user__avatar + .tox-user__name { margin-right: 8px; } .tox .tox-dialog-wrap { align-items: center; inset: 0px; display: flex; justify-content: center; position: fixed; z-index: 1100; } .tox .tox-dialog-wrap__backdrop { background-color: rgba(255, 255, 255, 0.75); inset: 0px; position: absolute; z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { background-color: rgb(255, 255, 255); } .tox .tox-dialog { background-color: rgb(255, 255, 255); border-color: rgb(238, 238, 238); border-radius: 10px; border-style: solid; border-width: 0px; box-shadow: rgba(34, 47, 62, 0.15) 0px 16px 16px -10px, rgba(34, 47, 62, 0.15) 0px 0px 40px 1px; display: flex; flex-direction: column; max-height: 100%; max-width: 480px; overflow: hidden; position: relative; width: 95vw; z-index: 2; } @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox .tox-dialog { align-self: flex-start; margin: 8px auto; max-height: calc(100vh - 16px); width: calc(100vw - 16px); }} .tox .tox-dialog-inline { z-index: 1100; } .tox .tox-dialog__header { align-items: center; background-color: rgb(255, 255, 255); border-bottom: none; color: rgb(34, 47, 62); display: flex; font-size: 16px; justify-content: space-between; padding: 8px 16px 0px; position: relative; } .tox .tox-dialog__header .tox-button { z-index: 1; } .tox .tox-dialog__draghandle { cursor: grab; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; } .tox .tox-dialog__draghandle:active { cursor: grabbing; } .tox .tox-dialog__dismiss { margin-left: auto; } .tox .tox-dialog__title { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 20px; font-style: normal; font-weight: 400; line-height: 1.3; margin: 0px; text-transform: none; } .tox .tox-dialog__body { color: rgb(34, 47, 62); display: flex; flex: 1 1 0%; font-size: 16px; font-style: normal; font-weight: 400; line-height: 1.3; min-width: 0px; text-align: left; text-transform: none; } @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox .tox-dialog__body { flex-direction: column; }} .tox .tox-dialog__body-nav { align-items: flex-start; display: flex; flex-direction: column; padding: 16px; } @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { flex-direction: row; overflow-x: auto; padding-bottom: 0px; }} .tox .tox-dialog__body-nav-item { border-bottom: 2px solid transparent; color: rgba(34, 47, 62, 0.7); display: inline-block; font-size: 14px; line-height: 1.3; margin-bottom: 8px; text-decoration: none; white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { border-bottom: 2px solid rgb(0, 108, 231); color: rgb(0, 108, 231); } .tox .tox-dialog__body-content { box-sizing: border-box; display: flex; flex: 1 1 0%; flex-direction: column; max-height: 650px; overflow: auto; padding: 16px; } .tox .tox-dialog__body-content > * { margin-bottom: 0px; margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { margin-top: 0px; } .tox .tox-dialog__body-content > :last-child { margin-bottom: 0px; } .tox .tox-dialog__body-content > :only-child { margin-bottom: 0px; margin-top: 0px; } .tox .tox-dialog__body-content a { color: rgb(0, 108, 231); cursor: pointer; text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { color: rgb(0, 84, 180); text-decoration: none; } .tox .tox-dialog__body-content a:active { color: rgb(0, 84, 180); text-decoration: none; } .tox .tox-dialog__body-content svg { fill: rgb(34, 47, 62); } .tox .tox-dialog__body-content ul { display: block; list-style-type: disc; margin-bottom: 16px; margin-inline: 0px; padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { color: rgb(34, 47, 62); font-size: 20px; font-style: normal; font-weight: 700; letter-spacing: normal; margin-bottom: 16px; margin-top: 2rem; text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { color: rgb(34, 47, 62); font-size: 16px; font-style: normal; font-weight: 700; letter-spacing: normal; margin-bottom: 16px; margin-top: 2rem; text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { margin-top: 0px; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { margin-bottom: 0px; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { margin-bottom: 0px; margin-top: 0px; } .tox .tox-dialog--width-lg { height: 650px; max-width: 1200px; } .tox .tox-dialog--width-md { max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { overflow: auto; } .tox .tox-dialog__body-content--centered { text-align: center; } .tox .tox-dialog__footer { align-items: center; background-color: rgb(255, 255, 255); border-top: none; display: flex; justify-content: space-between; padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { display: flex; } .tox .tox-dialog__busy-spinner { align-items: center; background-color: rgba(255, 255, 255, 0.75); inset: 0px; display: flex; justify-content: center; position: absolute; z-index: 3; } .tox .tox-dialog__table { border-collapse: collapse; width: 100%; } .tox .tox-dialog__table thead th { font-weight: 700; padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { border-bottom: 1px solid rgb(238, 238, 238); } .tox .tox-dialog__table tbody tr:last-child { border-bottom: none; } .tox .tox-dialog__table td { padding-bottom: 8px; padding-top: 8px; } .tox .tox-dialog__iframe.tox-dialog__iframe--opaque { background: rgb(255, 255, 255); } .tox .tox-dialog__popups { position: absolute; width: 100%; z-index: 1100; } .tox .tox-dialog__body-iframe { display: flex; flex: 1 1 0%; flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { display: flex; flex: 1 1 0%; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { flex: 1 1 0%; height: 100%; } .tox .tox-dialog-dock-fadeout { opacity: 0; visibility: hidden; } .tox .tox-dialog-dock-fadein { opacity: 1; visibility: visible; } .tox .tox-dialog-dock-transition { transition: visibility 0s linear 0.3s, opacity 0.3s ease 0s; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { transition-delay: 0s; } @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox:not([dir="rtl"]) .tox-dialog__body-nav { margin-right: 0px; }} @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox:not([dir="rtl"]) .tox-dialog__body-nav-item:not(:first-child) { margin-left: 8px; }} .tox:not([dir="rtl"]) .tox-dialog__footer .tox-dialog__footer-end > *, .tox:not([dir="rtl"]) .tox-dialog__footer .tox-dialog__footer-start > * { margin-left: 8px; } .tox[dir="rtl"] .tox-dialog__body { text-align: right; } @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox[dir="rtl"] .tox-dialog__body-nav { margin-left: 0px; }} @media only screen and (max-width: 767px) { body:not(.tox-force-desktop) .tox[dir="rtl"] .tox-dialog__body-nav-item:not(:first-child) { margin-right: 8px; }} .tox[dir="rtl"] .tox-dialog__footer .tox-dialog__footer-end > *, .tox[dir="rtl"] .tox-dialog__footer .tox-dialog__footer-start > * { margin-right: 8px; } body.tox-dialog__disable-scroll { overflow: hidden; } .tox .tox-dropzone-container { display: flex; flex: 1 1 0%; } .tox .tox-dropzone { align-items: center; background: rgb(255, 255, 255); border: 2px dashed rgb(238, 238, 238); box-sizing: border-box; display: flex; flex-direction: column; flex-grow: 1; justify-content: center; min-height: 100px; padding: 10px; } .tox .tox-dropzone p { color: rgba(34, 47, 62, 0.7); margin: 0px 0px 16px; } .tox .tox-edit-area { display: flex; flex: 1 1 0%; overflow: hidden; position: relative; } .tox .tox-edit-area__iframe { background-color: rgb(255, 255, 255); border: 0px; box-sizing: border-box; flex: 1 1 0%; height: 100%; position: absolute; width: 100%; } .tox.tox-inline-edit-area { border: 1px dotted rgb(238, 238, 238); } .tox .tox-editor-container { display: flex; flex: 1 1 auto; flex-direction: column; overflow: hidden; } .tox .tox-editor-header { display: grid; grid-template-columns: 1fr min-content; z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { background-color: rgb(255, 255, 255); border-bottom: none; box-shadow: rgba(34, 47, 62, 0.1) 0px 2px 2px -2px, rgba(34, 47, 62, 0.07) 0px 8px 8px -4px; padding: 4px 0px; transition: box-shadow 0.5s ease 0s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { border-top: 1px solid rgb(227, 227, 227); box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { background-color: rgb(255, 255, 255); box-shadow: rgba(34, 47, 62, 0.2) 0px 2px 2px -2px, rgba(34, 47, 62, 0.15) 0px 8px 8px -4px; padding: 4px 0px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { box-shadow: rgba(34, 47, 62, 0.2) 0px 2px 2px -2px, rgba(34, 47, 62, 0.15) 0px 8px 8px -4px; } .tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty { background: 0px 0px; border: none; box-shadow: none; padding: 0px; } .tox-editor-dock-fadeout { opacity: 0; visibility: hidden; } .tox-editor-dock-fadein { opacity: 1; visibility: visible; } .tox-editor-dock-transition { transition: visibility 0s linear 0.25s, opacity 0.25s ease 0s; } .tox-editor-dock-transition.tox-editor-dock-fadein { transition-delay: 0s; } .tox .tox-control-wrap { flex: 1 1 0%; position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { display: none; } .tox .tox-control-wrap svg { display: block; } .tox .tox-control-wrap__status-icon-wrap { position: absolute; top: 50%; transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { fill: rgb(204, 0, 0); } .tox .tox-control-wrap__status-icon-unknown svg { fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { fill: green; } .tox:not([dir="rtl"]) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir="rtl"]) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir="rtl"]) .tox-control-wrap--status-valid .tox-textfield { padding-right: 32px; } .tox:not([dir="rtl"]) .tox-control-wrap__status-icon-wrap { right: 4px; } .tox[dir="rtl"] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir="rtl"] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir="rtl"] .tox-control-wrap--status-valid .tox-textfield { padding-left: 32px; } .tox[dir="rtl"] .tox-control-wrap__status-icon-wrap { left: 4px; } .tox .tox-autocompleter { max-width: 25em; } .tox .tox-autocompleter .tox-menu { box-sizing: border-box; max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { font-weight: 700; } .tox .tox-color-input { display: flex; position: relative; z-index: 1; } .tox .tox-color-input .tox-textfield { z-index: -1; } .tox .tox-color-input span { border-color: rgba(34, 47, 62, 0.2); border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; box-sizing: border-box; height: 24px; position: absolute; top: 6px; width: 24px; } .tox .tox-color-input span:focus:not([aria-disabled="true"]), .tox .tox-color-input span:hover:not([aria-disabled="true"]) { border-color: rgb(0, 108, 231); cursor: pointer; } .tox .tox-color-input span::before { background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); background-position: 0px 0px, 0px 6px, 6px -6px, -6px 0px; background-size: 12px 12px; border: 1px solid rgb(255, 255, 255); border-radius: 6px; box-sizing: border-box; content: ""; height: 24px; left: -1px; position: absolute; top: -1px; width: 24px; z-index: -1; } .tox .tox-color-input span[aria-disabled="true"] { cursor: not-allowed; } .tox:not([dir="rtl"]) .tox-color-input .tox-textfield { padding-left: 36px; } .tox:not([dir="rtl"]) .tox-color-input span { left: 6px; } .tox[dir="rtl"] .tox-color-input .tox-textfield { padding-right: 36px; } .tox[dir="rtl"] .tox-color-input span { right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { color: rgba(34, 47, 62, 0.7); display: block; font-size: 14px; font-style: normal; font-weight: 400; line-height: 1.3; padding: 0px 8px 0px 0px; text-transform: none; white-space: nowrap; } .tox .tox-toolbar-label { padding: 0px 8px; } .tox[dir="rtl"] .tox-label { padding: 0px 0px 0px 8px; } .tox .tox-form { display: flex; flex: 1 1 0%; flex-direction: column; } .tox .tox-form__group { box-sizing: border-box; margin-bottom: 4px; } .tox .tox-form-group--maximize { flex: 1 1 0%; } .tox .tox-form__group--error { color: rgb(204, 0, 0); } .tox .tox-form__group--collection { display: flex; } .tox .tox-form__grid { display: flex; flex-flow: row wrap; justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { width: calc(50% - 4px); } .tox .tox-form__grid--3col > .tox-form__group { width: calc(33.3333% - 4px); } .tox .tox-form__grid--4col > .tox-form__group { width: calc(25% - 4px); } .tox .tox-form__controls-h-stack { align-items: center; display: flex; } .tox .tox-form__group--inline { align-items: center; display: flex; } .tox .tox-form__group--stretched { display: flex; flex: 1 1 0%; flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { flex: 1 1 0%; } .tox .tox-form__group--stretched .tox-navobj { display: flex; flex: 1 1 0%; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { flex: 1 1 0%; height: 100%; } .tox:not([dir="rtl"]) .tox-form__controls-h-stack > :not(:first-child) { margin-left: 4px; } .tox[dir="rtl"] .tox-form__controls-h-stack > :not(:first-child) { margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { display: none; } .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield { appearance: none; background-color: rgb(255, 255, 255); border-color: rgb(238, 238, 238); border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; box-sizing: border-box; color: rgb(34, 47, 62); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 24px; margin: 0px; min-height: 34px; outline: 0px; padding: 5px 5.5px; resize: none; width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { background-color: rgb(242, 242, 242); color: rgba(34, 47, 62, 0.85); cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { background-color: rgb(255, 255, 255); border-color: rgb(0, 108, 231); box-shadow: rgba(0, 108, 231, 0.25) 0px 0px 0px 2px; outline: 0px; } .tox .tox-toolbar-textfield { border-width: 0px; margin-bottom: 3px; margin-top: 2px; max-width: 250px; } .tox .tox-naked-btn { background-color: transparent; border: 0px transparent; box-shadow: unset; color: rgb(0, 108, 231); cursor: pointer; display: block; margin: 0px; padding: 0px; } .tox .tox-naked-btn svg { display: block; fill: rgb(34, 47, 62); } .tox:not([dir="rtl"]) .tox-toolbar-textfield + * { margin-left: 4px; } .tox[dir="rtl"] .tox-toolbar-textfield + * { margin-right: 4px; } .tox .tox-listboxfield { cursor: pointer; position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { background-color: rgb(242, 242, 242); color: rgba(34, 47, 62, 0.85); cursor: not-allowed; } .tox .tox-listbox__select-label { cursor: default; flex: 1 1 0%; margin: 0px 4px; } .tox .tox-listbox__select-chevron { align-items: center; display: flex; justify-content: center; width: 16px; } .tox .tox-listbox__select-chevron svg { fill: rgb(34, 47, 62); } .tox .tox-listboxfield .tox-listbox--select { align-items: center; display: flex; } .tox:not([dir="rtl"]) .tox-listboxfield svg { right: 8px; } .tox[dir="rtl"] .tox-listboxfield svg { left: 8px; } .tox .tox-selectfield { cursor: pointer; position: relative; } .tox .tox-selectfield select { appearance: none; background-color: rgb(255, 255, 255); border-color: rgb(238, 238, 238); border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; box-sizing: border-box; color: rgb(34, 47, 62); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 24px; margin: 0px; min-height: 34px; outline: 0px; padding: 5px 5.5px; resize: none; width: 100%; } .tox .tox-selectfield select[disabled] { background-color: rgb(242, 242, 242); color: rgba(34, 47, 62, 0.85); cursor: not-allowed; } .tox .tox-selectfield select:focus { background-color: rgb(255, 255, 255); border-color: rgb(0, 108, 231); box-shadow: rgba(0, 108, 231, 0.25) 0px 0px 0px 2px; outline: 0px; } .tox .tox-selectfield svg { pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); } .tox:not([dir="rtl"]) .tox-selectfield select[size="0"], .tox:not([dir="rtl"]) .tox-selectfield select[size="1"] { padding-right: 24px; } .tox:not([dir="rtl"]) .tox-selectfield svg { right: 8px; } .tox[dir="rtl"] .tox-selectfield select[size="0"], .tox[dir="rtl"] .tox-selectfield select[size="1"] { padding-left: 24px; } .tox[dir="rtl"] .tox-selectfield svg { left: 8px; } .tox .tox-textarea { appearance: textarea; white-space: pre-wrap; } .tox-fullscreen { border: 0px; height: 100%; margin: 0px; overflow: hidden; overscroll-behavior: none; padding: 0px; touch-action: pinch-zoom; width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { left: 0px; position: fixed; top: 0px; z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { z-index: 1201; } .tox .tox-help__more-link { list-style: none; margin-top: 1em; } .tox .tox-imagepreview { background-color: rgb(102, 102, 102); height: 380px; overflow: hidden; position: relative; width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { overflow: auto; } .tox .tox-imagepreview__container { display: flex; left: 100vw; position: absolute; top: 100vw; } .tox .tox-imagepreview__image { background: url("data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw=="); } .tox .tox-image-tools .tox-spacer { flex: 1 1 0%; } .tox .tox-image-tools .tox-bar { align-items: center; display: flex; height: 60px; justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { background: rgb(0, 0, 0); opacity: 0.5; position: absolute; zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { border: 2px solid rgb(255, 255, 255); height: 20px; left: 0px; position: absolute; top: 0px; width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { border: 0px; cursor: move; position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { border-width: 2px 0px 0px 2px; cursor: nw-resize; left: 100px; margin: -2px 0px 0px -2px; top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { border-width: 2px 2px 0px 0px; cursor: ne-resize; left: 200px; margin: -2px 0px 0px -20px; top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { border-width: 0px 0px 2px 2px; cursor: sw-resize; left: 100px; margin: -20px 2px 0px -2px; top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { border-width: 0px 2px 2px 0px; cursor: se-resize; left: 200px; margin: -20px 0px 0px -20px; top: 200px; } .tox .tox-insert-table-picker { display: flex; flex-wrap: wrap; width: 170px; } .tox .tox-insert-table-picker > div { border-color: rgb(238, 238, 238); border-style: solid; border-width: 0px 1px 1px 0px; box-sizing: border-box; height: 17px; width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { margin: -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { background-color: rgba(0, 108, 231, 0.5); border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { color: rgba(34, 47, 62, 0.7); display: block; font-size: 14px; padding: 4px; text-align: center; width: 100%; } .tox:not([dir="rtl"]) .tox-insert-table-picker > div:nth-child(10n) { border-right: 0px; } .tox[dir="rtl"] .tox-insert-table-picker > div:nth-child(10n+1) { border-right: 0px; } .tox .tox-menu { background-color: rgb(255, 255, 255); border: 1px solid transparent; border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.2) 0px 0px 2px 0px, rgba(34, 47, 62, 0.15) 0px 4px 8px 0px; display: inline-block; overflow: hidden; vertical-align: top; z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { padding: 0px 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { padding: 8px; } @media only screen and (min-width: 768px) { .tox .tox-menu .tox-collection__item-label { overflow-wrap: break-word; word-break: normal; }} .tox .tox-menu__label blockquote, .tox .tox-menu__label code, .tox .tox-menu__label h1, .tox .tox-menu__label h2, .tox .tox-menu__label h3, .tox .tox-menu__label h4, .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { margin: 0px; } .tox .tox-menubar { background: repeating-linear-gradient(transparent 0px, transparent 1px, transparent 1px, transparent 39px) center top 39px / 100% calc(100% - 39px) no-repeat rgb(255, 255, 255); display: flex; flex: 0 0 auto; flex-wrap: wrap; grid-area: 1 / 1 / auto / -1; padding: 0px 11px 0px 12px; } .tox .tox-promotion + .tox-menubar { grid-column: 1 / auto; } .tox .tox-promotion { background: repeating-linear-gradient(transparent 0px, transparent 1px, transparent 1px, transparent 39px) center top 39px / 100% calc(100% - 39px) no-repeat rgb(255, 255, 255); grid-area: 1 / 2 / auto / auto; padding-inline: 4px 8px; padding-top: 5px; } .tox .tox-promotion-link { align-items: unsafe center; background-color: rgb(232, 241, 248); border-radius: 5px; color: rgb(8, 107, 230); cursor: pointer; display: flex; font-size: 14px; height: 26.6px; padding: 4px 8px; white-space: nowrap; } .tox .tox-promotion-link:hover { background-color: rgb(180, 215, 255); } .tox .tox-promotion-link:focus { background-color: rgb(217, 237, 247); } .tox .tox-mbtn { align-items: center; background: 0px 0px; border: 0px; border-radius: 3px; box-shadow: none; color: rgb(34, 47, 62); display: flex; flex: 0 0 auto; font-size: 14px; font-style: normal; font-weight: 400; height: 28px; justify-content: center; margin: 5px 1px 6px 0px; outline: 0px; overflow: hidden; padding: 0px 4px; text-transform: none; width: auto; } .tox .tox-mbtn[disabled] { background-color: transparent; border: 0px; box-shadow: none; color: rgba(34, 47, 62, 0.5); cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { background: rgb(204, 226, 250); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-mbtn--active { background: rgb(166, 204, 247); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { background: rgb(204, 226, 250); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-mbtn__select-label { cursor: default; font-weight: 400; margin: 0px 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { cursor: not-allowed; } .tox .tox-mbtn__select-chevron { align-items: center; justify-content: center; width: 16px; display: none; } .tox .tox-notification { border-radius: 6px; border-style: solid; border-width: 1px; box-shadow: none; box-sizing: border-box; display: grid; font-size: 14px; font-weight: 400; grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); margin-top: 4px; opacity: 0; padding: 4px; transition: transform 0.1s ease-in 0s, opacity 150ms ease-in 0s; } .tox .tox-notification p { font-size: 14px; font-weight: 400; } .tox .tox-notification a { cursor: pointer; text-decoration: underline; } .tox .tox-notification--in { opacity: 1; } .tox .tox-notification--success { background-color: rgb(228, 238, 218); border-color: rgb(215, 230, 200); color: rgb(34, 47, 62); } .tox .tox-notification--success p { color: rgb(34, 47, 62); } .tox .tox-notification--success a { color: rgb(81, 115, 66); } .tox .tox-notification--success svg { fill: rgb(34, 47, 62); } .tox .tox-notification--error { background-color: rgb(245, 204, 204); border-color: rgb(240, 179, 179); color: rgb(34, 47, 62); } .tox .tox-notification--error p { color: rgb(34, 47, 62); } .tox .tox-notification--error a { color: rgb(119, 24, 31); } .tox .tox-notification--error svg { fill: rgb(34, 47, 62); } .tox .tox-notification--warn, .tox .tox-notification--warning { background-color: rgb(255, 245, 204); border-color: rgb(255, 240, 179); color: rgb(34, 47, 62); } .tox .tox-notification--warn p, .tox .tox-notification--warning p { color: rgb(34, 47, 62); } .tox .tox-notification--warn a, .tox .tox-notification--warning a { color: rgb(122, 110, 37); } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { fill: rgb(34, 47, 62); } .tox .tox-notification--info { background-color: rgb(214, 231, 251); border-color: rgb(193, 219, 249); color: rgb(34, 47, 62); } .tox .tox-notification--info p { color: rgb(34, 47, 62); } .tox .tox-notification--info a { color: rgb(42, 100, 166); } .tox .tox-notification--info svg { fill: rgb(34, 47, 62); } .tox .tox-notification__body { align-self: center; color: rgb(34, 47, 62); font-size: 14px; grid-area: 1 / 2 / 2 / 3; text-align: center; white-space: normal; word-break: break-word; } .tox .tox-notification__body > * { margin: 0px; } .tox .tox-notification__body > * + * { margin-top: 1rem; } .tox .tox-notification__icon { place-self: center end; grid-area: 1 / 1 / 2 / 2; } .tox .tox-notification__icon svg { display: block; } .tox .tox-notification__dismiss { place-self: start end; grid-area: 1 / 3 / 2 / 4; } .tox .tox-notification .tox-progress-bar { grid-area: 2 / 1 / 3 / 4; justify-self: center; } .tox .tox-pop { display: inline-block; position: relative; } .tox .tox-pop--resizing { transition: width 0.1s ease 0s; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { flex-wrap: nowrap; } .tox .tox-pop--transition { transition: left 0.15s ease 0s, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { transition: all 0.15s ease 0s, visibility 0s ease 0s, opacity 75ms ease 75ms; } .tox .tox-pop__dialog { background-color: rgb(255, 255, 255); border: 1px solid rgb(238, 238, 238); border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.2) 0px 0px 2px 0px, rgba(34, 47, 62, 0.15) 0px 4px 8px 0px; min-width: 0px; overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { background-color: transparent; margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { border-style: solid; content: ""; display: block; height: 0px; opacity: 1; position: absolute; width: 0px; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { opacity: 0; transition: all 0s ease 0.15s, visibility 0s ease 0s, opacity 75ms ease 0s; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { left: 50%; top: 100%; } .tox .tox-pop.tox-pop--bottom::after { border-color: rgb(255, 255, 255) transparent transparent; border-width: 8px; margin-left: -8px; margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { border-color: rgb(238, 238, 238) transparent transparent; border-width: 9px; margin-left: -9px; } .tox .tox-pop.tox-pop--top::after, .tox .tox-pop.tox-pop--top::before { left: 50%; top: 0px; transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { border-color: transparent transparent rgb(255, 255, 255); border-width: 8px; margin-left: -8px; margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { border-color: transparent transparent rgb(238, 238, 238); border-width: 9px; margin-left: -9px; } .tox .tox-pop.tox-pop--left::after, .tox .tox-pop.tox-pop--left::before { left: 0px; top: calc(50% - 1px); transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { border-color: transparent rgb(255, 255, 255) transparent transparent; border-width: 8px; margin-left: -15px; } .tox .tox-pop.tox-pop--left::before { border-color: transparent rgb(238, 238, 238) transparent transparent; border-width: 10px; margin-left: -19px; } .tox .tox-pop.tox-pop--right::after, .tox .tox-pop.tox-pop--right::before { left: 100%; top: calc(50% + 1px); transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { border-color: transparent transparent transparent rgb(255, 255, 255); border-width: 8px; margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { border-color: transparent transparent transparent rgb(238, 238, 238); border-width: 10px; margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { left: calc(100% - 20px); } .tox .tox-sidebar-wrap { display: flex; flex-direction: row; flex-grow: 1; min-height: 0px; } .tox .tox-sidebar { background-color: rgb(255, 255, 255); display: flex; flex-direction: row; justify-content: flex-end; } .tox .tox-sidebar__slider { display: flex; overflow: hidden; } .tox .tox-sidebar__pane-container { display: flex; } .tox .tox-sidebar__pane { display: flex; } .tox .tox-sidebar--sliding-closed { opacity: 0; } .tox .tox-sidebar--sliding-open { opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { transition: width 0.5s ease 0s, opacity 0.5s ease 0s; } .tox .tox-selector { background-color: rgb(64, 153, 255); border-color: rgb(64, 153, 255); border-style: solid; border-width: 1px; box-sizing: border-box; display: inline-block; height: 10px; position: absolute; width: 10px; } .tox.tox-platform-touch .tox-selector { height: 12px; width: 12px; } .tox .tox-slider { align-items: center; display: flex; flex: 1 1 0%; height: 24px; justify-content: center; position: relative; } .tox .tox-slider__rail { background-color: transparent; border: 1px solid rgb(238, 238, 238); border-radius: 6px; height: 10px; min-width: 120px; width: 100%; } .tox .tox-slider__handle { background-color: rgb(0, 108, 231); border: 2px solid rgb(0, 84, 180); border-radius: 6px; box-shadow: none; height: 24px; left: 50%; position: absolute; top: 50%; transform: translateX(-50%) translateY(-50%); width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { margin-inline-start: 32px; } .tox .tox-source-code { overflow: auto; } .tox .tox-spinner { display: flex; } .tox .tox-spinner > div { animation: 1.5s ease-in-out 0s infinite normal both running tam-bouncing-dots; background-color: rgba(34, 47, 62, 0.7); border-radius: 100%; height: 8px; width: 8px; } .tox .tox-spinner > div:nth-child(1) { animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { animation-delay: -0.16s; } @keyframes tam-bouncing-dots { 0%, 100%, 80% { transform: scale(0); } 40% { transform: scale(1); }} .tox:not([dir="rtl"]) .tox-spinner > div:not(:first-child) { margin-left: 4px; } .tox[dir="rtl"] .tox-spinner > div:not(:first-child) { margin-right: 4px; } .tox .tox-statusbar { align-items: center; background-color: rgb(255, 255, 255); border-top: 1px solid rgb(227, 227, 227); color: rgba(34, 47, 62, 0.7); display: flex; flex: 0 0 auto; font-size: 14px; font-weight: 400; height: 25px; overflow: hidden; padding: 0px 8px; position: relative; text-transform: none; } .tox .tox-statusbar__text-container { display: flex; flex: 1 1 auto; justify-content: flex-end; overflow: hidden; } .tox .tox-statusbar__path { display: flex; flex: 1 1 auto; margin-right: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tox .tox-statusbar__path > * { display: inline; white-space: nowrap; } .tox .tox-statusbar__wordcount { flex: 0 0 auto; margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { color: rgba(34, 47, 62, 0.7); text-decoration: none; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled="true"]), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled="true"]), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled="true"]), .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled="true"]), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled="true"]), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled="true"]) { color: rgb(34, 47, 62); cursor: pointer; } .tox .tox-statusbar__branding svg { fill: rgba(34, 47, 62, 0.8); height: 1.14em; vertical-align: -0.28em; width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled="true"]) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled="true"]) svg { fill: rgb(34, 47, 62); } .tox .tox-statusbar__resize-handle { align-items: flex-end; align-self: stretch; cursor: nwse-resize; display: flex; flex: 0 0 auto; justify-content: flex-end; margin-left: auto; margin-right: -8px; padding-bottom: 3px; padding-left: 1ch; padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { display: block; fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { background-color: rgb(222, 224, 226); border-radius: 1px 1px 5px; box-shadow: rgb(222, 224, 226) 0px 0px 0px 2px; } .tox:not([dir="rtl"]) .tox-statusbar__path > * { margin-right: 4px; } .tox:not([dir="rtl"]) .tox-statusbar__branding { margin-left: 2ch; } .tox[dir="rtl"] .tox-statusbar { flex-direction: row-reverse; } .tox[dir="rtl"] .tox-statusbar__path > * { margin-left: 4px; } .tox .tox-throbber { z-index: 1299; } .tox .tox-throbber__busy-spinner { align-items: center; background-color: rgba(255, 255, 255, 0.6); inset: 0px; display: flex; justify-content: center; position: absolute; } .tox .tox-tbtn { align-items: center; background: 0px 0px; border: 0px; border-radius: 3px; box-shadow: none; color: rgb(34, 47, 62); display: flex; flex: 0 0 auto; font-size: 14px; font-style: normal; font-weight: 400; height: 28px; justify-content: center; margin: 6px 1px 5px 0px; outline: 0px; overflow: hidden; padding: 0px; text-transform: none; width: 34px; } .tox .tox-tbtn svg { display: block; fill: rgb(34, 47, 62); } .tox .tox-tbtn.tox-tbtn-more { padding-left: 5px; padding-right: 5px; width: inherit; } .tox .tox-tbtn:focus { background: rgb(204, 226, 250); border: 0px; box-shadow: none; } .tox .tox-tbtn:hover { background: rgb(204, 226, 250); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-tbtn:hover svg { fill: rgb(34, 47, 62); } .tox .tox-tbtn:active { background: rgb(166, 204, 247); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-tbtn:active svg { fill: rgb(34, 47, 62); } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { background: 0px 0px; border: 0px; box-shadow: none; color: rgba(34, 47, 62, 0.5); cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { background: rgb(166, 204, 247); border: 0px; box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { fill: rgb(34, 47, 62); } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { color: rgb(34, 47, 62); } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { fill: rgb(34, 47, 62); } .tox .tox-tbtn:active > * { transform: none; } .tox .tox-tbtn--md { height: 42px; width: 51px; } .tox .tox-tbtn--lg { flex-direction: column; height: 56px; width: 68px; } .tox .tox-tbtn--return { align-self: stretch; height: unset; width: 16px; } .tox .tox-tbtn--labeled { padding: 0px 4px; width: unset; } .tox .tox-tbtn__vlabel { display: block; font-size: 10px; font-weight: 400; letter-spacing: -0.025em; margin-bottom: 4px; white-space: nowrap; } .tox .tox-tbtn--select { margin: 6px 1px 5px 0px; padding: 0px 4px; width: auto; } .tox .tox-tbtn__select-label { cursor: default; font-weight: 400; margin: 0px 4px; } .tox .tox-tbtn__select-chevron { align-items: center; display: flex; justify-content: center; width: 16px; } .tox .tox-tbtn__select-chevron svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { background: rgb(247, 247, 247); } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 7em; } .tox .tox-split-button { border: 0px; border-radius: 3px; box-sizing: border-box; display: flex; margin: 6px 1px 5px 0px; overflow: hidden; } .tox .tox-split-button:hover { box-shadow: rgb(204, 226, 250) 0px 0px 0px 1px inset; } .tox .tox-split-button:focus { background: rgb(204, 226, 250); box-shadow: none; color: rgb(34, 47, 62); } .tox .tox-split-button > * { border-radius: 0px; } .tox .tox-split-button__chevron { width: 16px; } .tox .tox-split-button__chevron svg { fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { margin: 0px; } .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled:hover { background: 0px 0px; box-shadow: none; color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { padding: 0px; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { width: 20px; } .tox .tox-toolbar-overlord { background-color: rgb(255, 255, 255); } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { background-attachment: local; background-color: rgb(255, 255, 255); background-image: repeating-linear-gradient(rgb(227, 227, 227) 0px, rgb(227, 227, 227) 1px, transparent 1px, transparent 39px); background-position: center top 40px; background-repeat: no-repeat; background-size: calc(100% - 22px) calc(100% - 41px); display: flex; flex: 0 0 auto; flex-wrap: wrap; padding: 0px; transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { background-position: center top 0px; background-size: calc(100% - 22px) calc(100% - 0px); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { height: 0px; opacity: 0; padding-bottom: 0px; padding-top: 0px; visibility: hidden; } .tox .tox-toolbar__overflow--growing { transition: height 0.3s ease 0s, opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { transition: opacity 0.3s ease 0s, height 0.2s linear 0.1s, visibility 0s linear 0.3s; } .tox .tox-anchorbar, .tox .tox-toolbar-overlord { grid-column: 1 / -1; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { border-top: 1px solid transparent; margin-top: -1px; padding-bottom: 1px; padding-top: 1px; } .tox .tox-toolbar--scrolling { flex-wrap: nowrap; overflow-x: auto; } .tox .tox-pop .tox-toolbar { border-width: 0px; } .tox .tox-toolbar--no-divider { background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { background-color: rgb(255, 255, 255); background-position: center top 43px; background-size: calc(100% - 16px) calc(100% - 51px); border: none; border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.2) 0px 0px 2px 0px, rgba(34, 47, 62, 0.15) 0px 4px 8px 0px; overscroll-behavior: none; padding: 4px 0px; } .tox-pop .tox-pop__dialog .tox-toolbar { background-position: center top 43px; background-size: calc(100% - 22px) calc(100% - 51px); padding: 4px 0px; } .tox .tox-toolbar__group { align-items: center; display: flex; flex-wrap: wrap; margin: 0px; padding: 0px 11px 0px 12px; } .tox .tox-toolbar__group--pull-right { margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { flex-shrink: 0; flex-wrap: nowrap; } .tox:not([dir="rtl"]) .tox-toolbar__group:not(:last-of-type) { border-right: 1px solid transparent; } .tox[dir="rtl"] .tox-toolbar__group:not(:last-of-type) { border-left: 1px solid transparent; } .tox .tox-tooltip { display: inline-block; padding: 8px; position: relative; } .tox .tox-tooltip__body { background-color: rgb(34, 47, 62); border-radius: 6px; box-shadow: rgba(34, 47, 62, 0.3) 0px 2px 4px; color: rgba(255, 255, 255, 0.75); font-size: 14px; font-style: normal; font-weight: 400; padding: 4px 8px; text-transform: none; } .tox .tox-tooltip__arrow { position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid rgb(34, 47, 62); bottom: 0px; left: 50%; position: absolute; transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { border-bottom: 8px solid rgb(34, 47, 62); border-left: 8px solid transparent; border-right: 8px solid transparent; left: 50%; position: absolute; top: 0px; transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { border-bottom: 8px solid transparent; border-left: 8px solid rgb(34, 47, 62); border-top: 8px solid transparent; position: absolute; right: 0px; top: 50%; transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { border-bottom: 8px solid transparent; border-right: 8px solid rgb(34, 47, 62); border-top: 8px solid transparent; left: 0px; position: absolute; top: 50%; transform: translateY(-50%); } .tox .tox-view-wrap, .tox .tox-view-wrap__slot-container { background-color: rgb(255, 255, 255); display: flex; flex: 1 1 0%; flex-direction: column; } .tox .tox-view { display: flex; flex: 1 1 0%; flex-direction: column; } .tox .tox-view__header { align-items: center; display: flex; font-size: 16px; justify-content: space-between; padding: 8px 8px 0px; position: relative; } .tox .tox-view__header-end, .tox .tox-view__header-start { display: flex; } .tox .tox-view__pane { height: 100%; padding: 8px; width: 100%; } .tox .tox-view__pane_panel { border: 1px solid rgb(238, 238, 238); border-radius: 6px; } .tox:not([dir="rtl"]) .tox-view__header .tox-view__header-end > *, .tox:not([dir="rtl"]) .tox-view__header .tox-view__header-start > * { margin-left: 8px; } .tox[dir="rtl"] .tox-view__header .tox-view__header-end > *, .tox[dir="rtl"] .tox-view__header .tox-view__header-start > * { margin-right: 8px; } .tox .tox-well { border: 1px solid rgb(238, 238, 238); border-radius: 6px; padding: 8px; width: 100%; } .tox .tox-well > :first-child { margin-top: 0px; } .tox .tox-well > :last-child { margin-bottom: 0px; } .tox .tox-well > :only-child { margin: 0px; } .tox .tox-custom-editor { border: 1px solid rgb(238, 238, 238); border-radius: 6px; display: flex; flex: 1 1 0%; position: relative; } .tox .tox-dialog-loading::before { background-color: rgba(0, 0, 0, 0.5); content: ""; height: 100%; position: absolute; width: 100%; z-index: 1000; } .tox .tox-tab { cursor: pointer; } .tox .tox-dialog__content-js { display: flex; flex: 1 1 0%; } .tox .tox-dialog__body-content .tox-collection { display: flex; flex: 1 1 0%; }</style>

Atos relacionados