Mapa e Marcação de Assentos
A API permite visualizar a configuração física das aeronaves associadas à reserva, inspecionar a disponibilidade e os atributos de cada poltrona (janela, corredor, saída de emergência, espaço extra, assento gratuito ou pago) e efetuar a marcação ou remoção de assentos para os passageiros.
1. Obter Mapa de Assentos (/ObterMapaDeAssentos)
Recupera o mapa tridimensional/estrutural da aeronave para todos os trechos da reserva informada.
- Método:
POST - Rota:
/api/V2/Voos/ObterMapaDeAssentos
1.1 Parâmetros da Requisição (ObterMapaDeAssentosRQ)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Localizador | String | Sim | Código localizador da reserva (PNR), ex: "SPRPMK". |
Exemplo de Requisição
{
"Localizador": "SPRPMK"
}
1.2 Estrutura da Resposta (ObterMapaDeAssentosRS)
| Campo | Tipo | Descrição |
|---|---|---|
MarcacaoComPagamento | Boolean | Indica se a companhia aérea exige pagamento prévio para confirmação de assentos. |
Trechos | Array | Lista de trechos da reserva contendo detalhes do voo e mapa da cabine. |
Trechos[].TrechoID | String | Identificador do trecho na reserva. |
Trechos[].NumeroDoVoo | String | Número do voo (ex: "1234"). |
Trechos[].Companhia | String | Código IATA da companhia aérea operadora (ex: "G3"). |
Trechos[].Equipamento | String | Tipo da aeronave (ex: "738" para Boeing 737-800). |
Trechos[].Origem / Destino | String | IATA do aeroporto de origem e destino. |
Trechos[].MapaDeAssentos | Objeto | Estrutura física da cabine (Cabines[]). |
Trechos[].MapaDeAssentos.Cabines | Array | Cabines da aeronave (Econômica, Premium, Executiva). |
...Cabines[].ColunasInfo | Array | Informações de posicionamento de colunas (Coluna: "A", Localizacao: "Janela", SinalizarCorredor: "Direita"). |
...Cabines[].Linhas | Array | Linhas de assentos da cabine (Linha: "12", SaidaEmergencia: true, Asa: false, Colunas[]). |
...Cabines[].Linhas[].Colunas | Array | Assentos individuais da fileira. |
...Colunas[].Coluna | String | Letra do assento ("A", "B", "C", etc.). |
...Colunas[].Ocupado | Boolean | Se true, assento já está indisponível/reservado por outro passageiro. |
...Colunas[].AssentoComCusto | Boolean | Se true, requer cobrança adicional de marcação. |
...Colunas[].Valor | Decimal | Preço unitário do assento (ex: 45.00). |
...Colunas[].Moeda | String | Moeda da taxa (ex: "BRL"). |
...Colunas[].Caracteristicas | String | Descrição de comodidades (ex: "Espaço Extra / Saída de Emergência"). |
Passageiros | Array | Lista de passageiros e poltronas atualmente alocadas a eles. |
Exception | Objeto / null | Objeto de erro quando houver recusa pelo fornecedor. |
Exemplo de Resposta
{
"MarcacaoComPagamento": false,
"Trechos": [
{
"TrechoID": "1",
"NumeroDoVoo": "1500",
"Companhia": "G3",
"Equipamento": "738",
"Origem": "BSB",
"Destino": "GRU",
"DataDeSaida": "2026-11-20T10:00:00",
"MapaDeAssentos": {
"Cabines": [
{
"CabineID": "Y",
"NomeDaCabine": "Econômica",
"ColunasInfo": [
{ "Coluna": "A", "Localizacao": "Janela", "SinalizarCorredor": "" },
{ "Coluna": "B", "Localizacao": "Meio", "SinalizarCorredor": "" },
{ "Coluna": "C", "Localizacao": "Corredor", "SinalizarCorredor": "Direita" },
{ "Coluna": "D", "Localizacao": "Corredor", "SinalizarCorredor": "Esquerda" },
{ "Coluna": "E", "Localizacao": "Meio", "SinalizarCorredor": "" },
{ "Coluna": "F", "Localizacao": "Janela", "SinalizarCorredor": "" }
],
"Linhas": [
{
"Linha": "12",
"SaidaEmergencia": true,
"Asa": false,
"Colunas": [
{
"Coluna": "A",
"TipoDeAssentoDescricao": "Assento Conforto",
"Situacao": "Disponivel",
"Localizacao": "Janela",
"AssentoComCusto": true,
"Valor": 50.00,
"Moeda": "BRL",
"Ocupado": false
},
{
"Coluna": "B",
"TipoDeAssentoDescricao": "Assento Conforto",
"Situacao": "Disponivel",
"Localizacao": "Meio",
"AssentoComCusto": true,
"Valor": 50.00,
"Moeda": "BRL",
"Ocupado": false
},
{
"Coluna": "C",
"TipoDeAssentoDescricao": "Assento Conforto",
"Situacao": "Ocupado",
"Localizacao": "Corredor",
"AssentoComCusto": true,
"Valor": 50.00,
"Moeda": "BRL",
"Ocupado": true
}
]
}
]
}
]
}
}
],
"Passageiros": [
{
"PaxID": "1",
"Nome": "JOSE",
"Sobrenome": "SILVA",
"Assentos": []
}
],
"Exception": null
}
2. Marcar Assentos (/MarcarAssentos)
Associa as poltronas selecionadas aos passageiros em cada trecho de voo. Quando houver cobrança pelo assento e o canal exigir liquidação imediata, os dados de pagamento devem ser informados em PagamentoAssentoRQ.
- Método:
POST - Rota:
/api/V2/Voos/MarcarAssentos
2.1 Parâmetros da Requisição (MarcarAssentosRQ)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Localizador | String | Sim | Localizador da reserva. |
Assentos | Array | Sim | Relação de assentos a vincular. |
Assentos[].PaxID | String | Sim | Identificador do passageiro na reserva (ex: "1"). |
Assentos[].TrechoID | String | Sim | Identificador do trecho de voo (ex: "1"). |
Assentos[].AssentoLinha | String | Sim | Número da fileira (ex: "12"). |
Assentos[].AssentoColuna | String | Sim | Letra da poltrona (ex: "A"). |
PagamentoAssentoRQ | Objeto | Condicional | Obrigatório se houver assentos com custo e exigência de cobrança imediata. |
PagamentoAssentoRQ.FormaDePagamento | Integer | Se com custo | 1: Faturado / Depósito.2: Cartão de Crédito. |
PagamentoAssentoRQ.CartaoDeCredito | Objeto | Se Cartão | Estrutura de cartão de crédito idêntica à emissão (Numero, Validade, CodigoDeSeguranca, TitularNome, TitularCPF, etc.). |
PagamentoAssentoRQ.ValorFaturado | Decimal | Se Faturado | Valor faturado da marcação de assentos. |
Exemplo de Requisição (Assento Gratuito ou Cobrança Faturada)
{
"Localizador": "SPRPMK",
"Assentos": [
{
"PaxID": "1",
"TrechoID": "1",
"AssentoLinha": "14",
"AssentoColuna": "A"
},
{
"PaxID": "2",
"TrechoID": "1",
"AssentoLinha": "14",
"AssentoColuna": "B"
}
]
}
Exemplo de Requisição (Assento Pago via Cartão de Crédito)
{
"Localizador": "SPRPMK",
"Assentos": [
{
"PaxID": "1",
"TrechoID": "1",
"AssentoLinha": "1",
"AssentoColuna": "A"
}
],
"PagamentoAssentoRQ": {
"FormaDePagamento": 2,
"CartaoDeCredito": {
"Bandeira": 5,
"Numero": "4000123456789010",
"Validade": "12/2028",
"CodigoDeSeguranca": "123",
"TitularNome": "JOSE SILVA",
"TitularCPF": "12345678901",
"Parcelas": 1
}
}
}
2.2 Resposta (MarcarAssentosRS)
{
"Data": "2026-10-15T15:40:00",
"Localizador": "SPRPMK",
"Exception": null
}
3. Remover Assentos (/RemoverAssentos)
Cancela a reserva de poltrona alocada previamente para determinado passageiro em um trecho específico.
- Método:
POST - Rota:
/api/V2/Voos/RemoverAssentos
3.1 Parâmetros da Requisição (RemoverAssentosRQ)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Localizador | String | Sim | Localizador da reserva. |
PaxID | String | Sim | Identificador do passageiro. |
TrechoID | String | Sim | Identificador do trecho do voo. |
Exemplo de Requisição
{
"Localizador": "SPRPMK",
"PaxID": "1",
"TrechoID": "1"
}
3.2 Resposta (RemoverAssentosRS)
{
"Data": "2026-10-15T15:42:00",
"Localizador": "SPRPMK",
"Exception": null
}