Pular para o conteúdo principal

Regras de Validação, Documentos de Passageiros e Dados do Pagador

A reserva de PNR e a emissão de bilhetes aéreos exigem conformidade estrita com as regulamentações da IATA, ANAC, legislações tributárias e regras operacionais de cada companhia aérea. Inconsistências de digitação, nomes ou documentos ausentes geram recusas imediatas no inventário do fornecedor.


1. Regras para Nomes e Sobrenomes​

:::warning SEM ACENTOS OU CARACTERES ESPECIAIS Os sistemas globais de companhias aéreas (GDSs) suportam apenas caracteres da tabela ASCII padrão. :::

  • Sem Acentuação: Envie JOAO e não JOÃO; envie CONCEICAO e não CONCEIÇÃO.
  • Sem Caracteres Especiais: Não utilize apóstrofos (O'CONNOR ➔ OCONNOR), hifens ou símbolos gráficos.
  • Divisão Nome e Sobrenome:
    • Nome: Primeiro nome (ou primeiros nomes) do passageiro.
    • Sobrenome: Último sobrenome (ex: SILVA). Em sobrenomes familiares (ex: JUNIOR, FILHO, NETO, SOBRINHO), envie o sobrenome composto (ex: SILVA JUNIOR).

2. Faixas Etárias (FaixaEtaria)​

A idade de cada passageiro é calculada com base na data do último trecho da viagem:

CódigoDescriçãoRegra de IdadeRequisitos
ADTAdulto12 anos ou maisDocumento oficial (CPF, RG ou Passaporte).
CHDCriança (Child)De 2 anos a 11 anos e 11 mesesOcupa assento próprio. Deve viajar acompanhado de ao menos um ADT. Data de nascimento obrigatória.
INFBebê de Colo (Infant)Menor de 2 anos (0 a 23 meses)Não ocupa assento (viaja no colo). Deve estar vinculado obrigatoriamente a um passageiro ADT.

2.1 Como Vincular Bebê de Colo (INF) ao Adulto​

No modelo de dados da Wooba, o bebê de colo não é enviado como um item separado na lista de passageiros, mas sim incorporado dentro do objeto do passageiro adulto responsável:

{
"FaixaEtaria": "ADT",
"Nome": "JOSE",
"Sobrenome": "SILVA",
"Nascimento": "1990-05-20T00:00:00",
"Sexo": "M",
"Documento": {
"Tipo": 1,
"Numero": "95658564034",
"PaisEmissor": "BR"
},
"PossuiBebe": true,
"InfantilNome": "LUCAS",
"InfantilSobrenome": "SILVA",
"InfantilNascimento": "2025-11-10T00:00:00",
"InfantilSexo": "M",
"InfDocumento": {
"Tipo": 1,
"Numero": "46102233093",
"PaisEmissor": "BR"
}
}

3. Tipos de Documentos de Identificação do Passageiro (Documento.Tipo)​

Utilizados para segurança de voo, embarque e despacho junto à autoridade de aviação civil:

CódigoDescriçãoUtilização
1CPFObrigatório para passageiros residentes no Brasil em voos domésticos.
2RNE / RNMRegistro Nacional de Estrangeiro no Brasil.
3RGRegistro Geral / Identidade Civil.
4PassaporteObrigatório para voos internacionais (fora do Mercosul).
19Certidão de NascimentoAceito para recém-nascidos e crianças menores em voos nacionais.

:::tip FORMATAÇÃO DO NÚMERO Envie apenas dígitos numéricos, sem pontos, traços ou barras.
Exemplo: "Numero": "95658564034" (e não "956.585.640-34"). :::


4. Diferença Crucial: Documentos do Passageiro vs. Documentos do Pagador​

Uma das dúvidas mais comuns de desenvolvedores ao integrar a API da Wooba é a distinção entre:

  1. Documento de Identificação do Passageiro (Passageiro.Documento):
    • Pertence à pessoa física que vai embarcar no avião (CPF, RG ou Passaporte).
    • Enviado no momento da Reserva (/Reservar).
  2. Informações Tributárias do Passageiro (Passageiro.TributaryInformation):
    • Usado em modelos GDS tradicionais (Passageiro01) como Amadeus e Sabre.
    • Envia o tipo (Type) e o número fiscal (Number) de cada viajante.
  3. Informações Tributárias do Pagador (Pagamento.Pagador.InformacoesTributarias):
    • Regra dependente de configuração: Ativada no Travellink por unidade operacional (HabilitarInformacaoTributaria = Obrigatorio).
    • Aplicável ao modelo Pagador01 (exigido por companhias aéreas com faturamento direto no Brasil: NDC LATAM, Azul, Gol).
    • Pertence à entidade que está pagando a passagem (seja ela a própria agência, a empresa contratante ou uma pessoa física compradora).
    • Enviado no momento da Emissão (/Emitir).

Resumo Comparativo:​


5. Regra de Negócio: Exigência Tributária do Pagador por Configuração​

A API informa dinamicamente na resposta de /IniciarEmissao (e em /Tarifar) se a agência deve ou não enviar os dados do pagador através do objeto ModelTributaryInformation:

"ModelTributaryInformation": {
"RequiredPayer": true,
"RequiredPassenger": false,
"Model": "Pagador01",
"InformacaoTributariaObrigatoria": true
}

Quando InformacaoTributariaObrigatoria: true e Model: "Pagador01":

  1. O envio de Pagamento.Pagador.InformacoesTributarias torna-se mandatório.
  2. Para Pessoa Jurídica (PJ), os campos TipoDeContribuinte: "PJ", Documento: "CNPJ" e RazaoSocial são obrigatórios.
  3. Se omitidos, o motor de emissão rejeitará a chamada com: "AIR - Obrigatório: Informação Tributária" ou "AIR - Informação Tributária - Obrigatório: RazaoSocial".

Para consultar a lista completa dos 18 campos tributários do pagador e exemplos de payload, consulte o Guia de Emissão e Pagamento.