Pular para o conteúdo principal

Pesquisa e Tarifação no WCF

:::danger SERVIÇO LEGADO / DESCONTINUADO Esta interface pertence ao serviço WCF legado (AereoNoSession.svc). Ela é mantida exclusivamente para compatibilidade de integrações históricas já em produção.

Novos desenvolvimentos ou novos clientes NÃO DEVEM utilizar este serviço. Todas as novas integrações devem ser desenvolvidas utilizando a WebApiAereo (REST / JSON). :::


Particularidades do WCF Legado​

  1. Credenciais no Corpo da Requisição: As propriedades Login e Senha da agência precisam ser enviadas explicitamente dentro de cada objeto JSON (DefaultRQ).
  2. Formato de Datas: Todas as datas trafegam no formato serializado da Microsoft AJAX: "/Date(1784257200000-0300)/".
  3. Respostas com Objeto Exception: Erros de negócio retornam em HTTP 200 OK contendo um objeto Exception preenchido.
  4. Endpoint Base:
    • Sandbox: https://wooba-sandbox.travellink.com.br/wcftravellinkjson/AereoNoSession.svc
    • Produção: https://ws.travellink.com.br/wcftravellinkjson/AereoNoSession.svc

1. Recuperar Sistemas de Pesquisa (/RecuperarSistemasPesquisa)​

Retorna a lista de conectores de companhias aéreas e GDSs habilitados para a agência.

  • Método: POST
  • Rota: /AereoNoSession.svc/RecuperarSistemasPesquisa

Request​

{
"Login": "AGENCIA_LOGIN",
"Senha": "AGENCIA_PASSWORD",
"Origem": "BSB",
"Destino": "GRU",
"TipoViagem": 1
}

Response​

{
"Data": "/Date(1781726000000-0300)/",
"DataVersao": "16/06/2026",
"SessaoExpirada": false,
"Sistemas": [
{ "Id": 1, "Descricao": "GOL GWS", "Ativo": true },
{ "Id": 2, "Descricao": "LATAM", "Ativo": true },
{ "Id": 3, "Descricao": "AZUL", "Ativo": true },
{ "Id": 5, "Descricao": "SABRE", "Ativo": true }
],
"Exception": null
}

2. Pesquisa de Disponibilidade (/Disponibilidade)​

Executa a varredura de voos e tarifas disponíveis em tempo real.

  • Método: POST
  • Rota: /AereoNoSession.svc/Disponibilidade

2.1 Parâmetros da Requisição (DisponibilidadeRQ)​

CampoTipoObrigatórioDescrição
LoginStringSimLogin da agência no Travellink.
SenhaStringSimSenha da agência.
OrigemStringSimCódigo IATA de 3 letras da origem (ex: "GIG").
DestinoStringSimCódigo IATA de 3 letras do destino (ex: "GRU").
DataIdaString /Date(...)/SimData da ida formatada em timestamp WCF.
DataVoltaString /Date(...)/CondicionalData da volta (para ida e volta). Omitir ou null para só ida.
QuantidadeAdultosIntegerSimQuantidade de passageiros adultos (ADT).
QuantidadeCriancasIntegerNãoQuantidade de crianças (CHD, 2 a 11 anos).
QuantidadeBebesIntegerNãoQuantidade de bebês de colo (INF, até 23 meses).
FlexBooleanSimDefine o agrupamento: false (por trecho individual) ou true (itinerário combinado ida+volta).
SistemaIntegerNão0 para buscar em todos os provedores da agência simultaneamente.
CabineStringNão"Y" (Econômica), "W" (Premium Economy), "C" (Executiva), "F" (Primeira).
MultiplosTrechosArrayCondicionalLista de trechos adicionais caso seja pesquisa multi-trecho.

Exemplo de Requisição (Ida e Volta, Flex: false)​

{
"Login": "YOUR_LOGIN",
"Senha": "YOUR_PASSWORD",
"Origem": "GIG",
"Destino": "GRU",
"DataIda": "/Date(1784257200000-0300)/",
"DataVolta": "/Date(1785121200000-0300)/",
"QuantidadeAdultos": 1,
"QuantidadeCriancas": 0,
"QuantidadeBebes": 0,
"Flex": false,
"Sistema": 0
}

2.2 Estrutura da Resposta (DisponibilidadeRS)​

{
"Data": "/Date(1781726050000-0300)/",
"DataVersao": "16/06/2026",
"SessaoExpirada": false,
"IdentificacaoDaPesquisa": "SRCH-998811",
"Voos": [
{
"Id": 1,
"IdentificacaoDaViagem": "wcf~G3~1500~GIG~GRU~2026-07-20",
"Companhia": "G3",
"Numero": "1500",
"Origem": { "CodigoIata": "GIG", "Descricao": "Galeão - Rio de Janeiro" },
"Destino": { "CodigoIata": "GRU", "Descricao": "Guarulhos - São Paulo" },
"DataSaida": "/Date(1784278800000-0300)/",
"DataChegada": "/Date(1784283300000-0300)/",
"TarifaCheia": 450.00,
"Taxa": 35.50,
"Total": 485.50,
"AssentosDisponiveis": 7,
"Familia": "LIGHT"
}
],
"VoosVolta": [
{
"Id": 2,
"IdentificacaoDaViagem": "wcf~G3~1501~GRU~GIG~2026-07-30",
"Companhia": "G3",
"Numero": "1501",
"Origem": { "CodigoIata": "GRU", "Descricao": "Guarulhos - São Paulo" },
"Destino": { "CodigoIata": "GIG", "Descricao": "Galeão - Rio de Janeiro" },
"DataSaida": "/Date(1785142800000-0300)/",
"DataChegada": "/Date(1785147300000-0300)/",
"TarifaCheia": 420.00,
"Taxa": 34.05,
"Total": 454.05,
"AssentosDisponiveis": 4,
"Familia": "LIGHT"
}
],
"Exception": null
}

3. Tarifar Voos (/Tarifar)​

Valida o preço em tempo real e congela as classes de reserva antes da criação do PNR.

  • Método: POST
  • Rota: /AereoNoSession.svc/Tarifar

Request (Flex: false)​

{
"Login": "YOUR_LOGIN",
"Senha": "YOUR_PASSWORD",
"IdentificacaoDaViagem": "wcf~G3~1500~GIG~GRU~2026-07-20",
"IdentificacaoDaViagemVolta": "wcf~G3~1501~GRU~GIG~2026-07-30",
"TarifarMelhorPreco": true,
"RetornarPlanoDeFinanciamento": true
}

Response​

{
"Data": "/Date(1781726100000-0300)/",
"Moeda": "BRL",
"TotalTarifa": 870.00,
"TotalTaxa": 69.55,
"TotalTaxaDU": 0.0,
"TotalRepasseTerceiro": 87.00,
"TotalGeral": 1026.55,
"TarifasPorPassageiro": [
{
"FaixaEtaria": "ADT",
"Quantidade": 1,
"TarifaCheia": 870.00,
"Taxa": 69.55,
"Total": 939.55
}
],
"Financiamento": [
{
"Parcelas": 1,
"PrimeiraParcela": 1026.55,
"Moeda": "BRL"
}
],
"Exception": null
}

4. Obter Regras da Tarifa (/ObterRegraDaTarifa)​

Recupera as penalidades de alteração, cancelamento e no-show.

  • Método: POST
  • Rota: /AereoNoSession.svc/ObterRegraDaTarifa

Request​

{
"Login": "YOUR_LOGIN",
"Senha": "YOUR_PASSWORD",
"IdentificacaoDaViagem": "wcf~G3~1500~GIG~GRU~2026-07-20"
}