Conceitos fundamentais
Conceitos Fundamentais
Neste tópico iremos abordar a lógica de negócio da ClickBus que se reflete na API a fim de facilitar o entendimento sobre o conteúdo que está sendo disponibilizado.
O Ciclo de Vida de uma Reserva
Colocamos abaixo um fluxograma simples para facilitar o entendimento sobre o fluxo principal para compra de um bilhete rodoviário:
Neste contexto o usuário poderá consultar a disponibilidade de viagens para uma determinada rota e visualizar a disponibilidade de mapa de assentos de uma determinada viagem.
Neste contexto o usuário poderia bloquear / desbloquear um assento, poderá consultar o valor total da reserva e poderá solicitar a confirmação do pedido.
Neste contexto o usuário conseguirá consultar o pedido realizado, visualizar as informações de BPe (Bilhete de Passagem Eletrônico) e do eticket (dados do bilhete emitido) e também cancelar o pedido caso o cliente desista.
Poltronas e Passageiros
Dentro do fluxo de aquisição de bilhete rodoviários temos a necessidade de atrelar um passageiro à uma poltrona para que seja possível realizar uma compra.
Conceitos Importantes
Sinaliza à viação que o passageiro possui a intenção de confirmar o assento escolhido, sendo necessário realizar a confirmação do bilhete e respectivo pagamento para garantir o assento.
Sinaliza à viação que o passageiro irá embarcar no assento e rota selecionados.
⚠️ Importante: Uma vez que é solicitado o bloqueio do assento, este fica bloqueado para o usuário que solicitou durante o período de 10 minutos. É preciso que a confirmação do bilhete ocorra antes deste prazo para que não haja o risco de perda do assento selecionado.
Estrutura de Preços e Taxas
Podemos dividir a estrutura de preços dentro das nossas APIs em 3 grandes grupos:
O valor é composto pelo valor da tarifa, taxa de embarque, pedágio, e outros valores que possam ser cobrados pela viação.
O valor é uma porcentagem aplicada sobre o valor total do bilhete que é cobrado pelo pedido a fim de cobrir os custos de conveniência.
O valor será uma soma do "Valor total do bilhete" com a "Taxa de Conveniência" configurada em sistema.
Fluxo de Compra
O fluxo de compra é composto pelo seguinte passo a passo:
- Busca de Viagens: apresentado o valor total do bilhete "à partir de"
- Detalhes da Viagem: mesmo valor informado anteriormente
- Bloqueio do Assento: valor total do bilhete para confirmar o assento selecionado
- Consulta do valor total do pedido: valor final à ser cobrado do passageiro
- Solicitação de confirmação: cobrança do valor total do pedido
- Consulta do status do pedido: visualização do valor cobrado
Solicitação e Confirmação do Pedido
Implementamos na API de Parceiros um fluxo assíncrono onde são necessários 2 passos para confirmar um bilhete:
Informamos à viação que temos a intenção de confirmar o pedido, realizando internamente a criação do pedido, processamento da cobrança e envio do pedido de emissão à viação.
Será possível conferir se o pedido foi confirmado e os bilhetes emitidos pela viação.
💡 Por que assíncrono? Este fluxo foi implementado a fim de evitar manter a aplicação do parceiro aguardando a confirmação da viação e evitar problemas de timeout.
Informações de BPe e eticket
Dentro das viações rodoviárias temos 3 diferentes estágios de evolução quando falamos de bilhete emitido:
A viação disponibiliza QrCode de entrada na rodoviária e QrCode de embarque. Basta apresentar os QrCodes com documento para acesso.
Emissão do Bilhete de Passagem Eletrônico via sistema, que pode ser impresso ou apresentado pelo celular para embarque.
O passageiro apresenta o voucher no guichê da viação para trocá-lo pelo bilhete físico de embarque.
Como Identificar o Tipo
Para identificar qual cenário cada viação se encontra, observe os campos boardingPass e electronicBoardingPass no método Consulta de Pedido:
| boardingPass | electronicBoardingPass | Cenário |
|---|---|---|
true | true | Ticket virtual com QrCodes |
true | false | Download do arquivo BPe |
false | false | Retirada no guichê da viação |
📋 Importante: É fundamental revisar estes cenários para apresentar a informação correta ao cliente final.
Updated 4 months ago
