Documentação da API Bravonda
Referência completa dos endpoints REST, esquemas de dados, autenticação e parâmetros para integração com os serviços da plataforma.
Login & Autenticação
Core / SegurançaAutenticação de usuários na API, controle de sessão via tokens JWT, refresh token e recuperação de senhas.
Entidade: User (Usuário)
Entidade de usuário que representa operadores, caixas, gerentes e administradores do sistema.
| Campo | Tipo | Obrigatório | Descrição & Detalhes | Exemplo |
|---|---|---|---|---|
| id | int | Sim | Identificador primário único do usuário no banco de dados |
1
|
| key | string | Sim | Identificador UUID / chave pública única de 32 caracteres |
8e9f2a4b1c3d4e5f6a7b8c9d0e1f2a3b
|
| active | bool | Sim | Status ativo/inativo do cadastro no sistema |
true
|
| name | string | Sim | Nome completo do usuário |
Operações Bravonda
|
| string | Sim | E-mail principal do usuário utilizado para login e notificações |
operacoes@bravonda.com.br
|
|
| login | string | Não (Opcional) | Documento fiscal (CPF) ou identificador alternativo de login |
012.345.678-90
|
| type | int | Sim | Perfil de acesso do usuário no sistema |
1
|
| location | int|null | Não (Opcional) | ID da localização / parque vinculado ao usuário |
4
|
| createdAt | DateTime | Sim | Data e hora de criação do registro (ISO 8601) |
2026-01-10 14:30:00
|
| updatedAt | DateTime | Sim | Data e hora da última alteração do registro |
2026-09-22 00:00:00
|
Endpoints Disponíveis
Valida as credenciais (e-mail ou CPF e senha) e retorna o token JWT de autorização e os dados do usuário.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| login | string | Sim | E-mail ou CPF do usuário cadastrado |
| pwd | string | Sim | Senha de acesso do usuário |
Exemplo de Requisição (JSON Body)
{
"login": "operacoes@bravonda.com.br",
"pwd": "SenhaSegura@2026"
}
Respostas Esperadas
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlciI6Im9wZXJhY29lcyIsInR5cGUiOjF9...",
"user": {
"id": 1,
"key": "8e9f2a4b1c3d4e5f6a7b8c9d0e1f2a3b",
"name": "Operações Bravonda",
"email": "operacoes@bravonda.com.br",
"type": 1,
"location": 4
}
}
{
"error": "Login ou senha inválidos."
}
Gera um novo token JWT com validade estendida utilizando o token de autenticação atual.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlciI6Im5vdm9fdG9rZW4ifQ..."
}
{
"error": "N\u00e3o autorizado."
}
Envia um e-mail com instruções e token temporário para redefinição de senha do usuário.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | E-mail cadastrado na conta |
Exemplo de Requisição (JSON Body)
{
"email": "operacoes@bravonda.com.br"
}
Respostas Esperadas
{
"message": "E-mail com instruções de recuperação enviado com sucesso."
}
Define uma nova senha utilizando o token recebido no fluxo de recuperação de senha.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| token | string | Sim | Token de recuperação de senha |
| pwd | string | Sim | Nova senha desejada |
| pwdNew | string | Sim | Confirmação da nova senha |
Exemplo de Requisição (JSON Body)
{
"token": "f7a8b9c0d1e2f3a4b5c6",
"pwd": "NovaSenhaSegura@2026",
"pwdNew": "NovaSenhaSegura@2026"
}
Respostas Esperadas
{
"message": "Senha alterada com sucesso."
}
Cadastro de Caixas (PDV)
Venue / OperaçõesGerenciamento de pontos de venda, abertura e fechamento de caixas, sangrias e controle de impressão.
Entidade: PointOfSale (Caixa / Ponto de Venda)
Representa um terminal de ponto de venda (PDV) físico ou virtual configurado para emitir ingressos e reservas.
| Campo | Tipo | Obrigatório | Descrição & Detalhes | Exemplo |
|---|---|---|---|---|
| id | int | Sim | Identificador numérico único do caixa |
1
|
| key | string | Sim | Identificador público UUID do caixa |
c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6
|
| active | bool | Sim | Indica se o caixa está ativo |
true
|
| name | string | Sim | Nome comercial e identificação do caixa |
Caixa 01 - Bilheteria Principal
|
| location | Location (int) | Sim | ID da localização do parque associado |
4
|
| type | PointOfSaleType (enum) | Sim | Tipo operacional do caixa |
1
|
| status | PointOfSaleStatus (enum) | Sim | Status operacional atual do caixa |
1
|
| cashier | User|null | Não (Opcional) | Operador atualmente logado no caixa |
null
|
| printReceipt | int | Sim | Número de vias de impressão do comprovante de venda |
1
|
| printKitchen | int | Sim | Número de vias de impressão de comandas de alimentação |
0
|
| queueNumber | PointOfSaleQueueNumber (enum) | Sim | Regra de geração de senhas para fila |
1
|
| printWebSocket | string|null | Não (Opcional) | URL do WebSocket para serviço local de impressão |
wss://localhost.bravonda.com:8070/
|
| printerVersion | string|null | Não (Opcional) | Identificador da versão de hardware/driver de impressão |
v2.1
|
| tickets | SimpleArray|null | Não (Opcional) | Array com IDs de ingressos restritos a este caixa (null = todos) |
[1, 2, 5]
|
| paymentMethods | PointOfSalePaymentMethod[]|null | Não (Opcional) | Lista de formas de pagamento habilitadas para o caixa |
[{"paymentMethod": 1}, {"paymentMethod": 2}]
|
| createdAt | DateTime | Sim | Data de criação do registro |
2026-01-15 10:00:00
|
| updatedAt | DateTime | Sim | Data da última alteração |
2026-09-22 00:00:00
|
Endpoints Disponíveis
Retorna a lista paginada de caixas cadastrados no parque com suporte a filtros e busca textual.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Parâmetros de Consulta (Query Params)
| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | int | Número da página (padrão 1) |
| limit | int | Itens por página (padrão 15) |
| search | string | Termo de busca pelo nome do caixa |
| type | int | Filtrar por tipo de caixa (1: Checkout, 2: Site, 3: Kiosk, etc.) |
| status | int | Filtrar por status (1: Disponível, 2: Aberto, 3: Indisponível) |
| location | int | Filtrar por localização |
Respostas Esperadas
{
"page": 1,
"limit": 15,
"total": 2,
"items": [
{
"id": 1,
"key": "c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6",
"name": "Caixa 01 - Bilheteria Principal",
"type": 1,
"status": 1,
"location": 4,
"printReceipt": 1,
"printKitchen": 0,
"queueNumber": 1,
"active": true
}
]
}
Retorna os detalhes completos de um ponto de venda pelo seu ID numérico ou chave UUID.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"id": 1,
"key": "c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6",
"name": "Caixa 01 - Bilheteria Principal",
"type": 1,
"status": 1,
"location": 4,
"printReceipt": 1,
"printKitchen": 0,
"queueNumber": 1,
"printWebSocket": "wss://localhost.bravonda.com:8070/",
"paymentMethods": [
{
"id": 1,
"paymentMethod": 1,
"active": true
},
{
"id": 2,
"paymentMethod": 2,
"active": true
}
]
}
Cria um novo ponto de venda para operação no parque.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Nome identificador do caixa |
| location | int | Sim | ID da localização do parque |
| type | int | Não | Tipo do caixa (1: Checkout, 2: Site, 3: Kiosk, etc. Padrão: 1) |
| status | int | Não | Status do caixa (1: Disponível, 2: Aberto, etc. Padrão: 1) |
| printReceipt | int | Não | Vias de impressão de cupom (Padrão: 1) |
| printKitchen | int | Não | Vias de impressão na cozinha (Padrão: 0) |
| queueNumber | int | Não | Regra de numeração de senha (Padrão: 1) |
| printWebSocket | string | Não | URL do WebSocket do spooler local de impressão |
Exemplo de Requisição (JSON Body)
{
"name": "Caixa 02 - Bilheteria Entrada 2",
"location": 4,
"type": 1,
"status": 1,
"printReceipt": 1,
"printKitchen": 0,
"queueNumber": 1,
"printWebSocket": "wss://localhost.bravonda.com:8070/"
}
Respostas Esperadas
{
"id": 2,
"key": "d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7"
}
Atualiza as configurações operacionais de um ponto de venda existente.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Exemplo de Requisição (JSON Body)
{
"name": "Caixa 01 - Bilheteria Principal (Atualizado)",
"printReceipt": 2
}
Respostas Esperadas
{
"id": 1
}
Desativa o ponto de venda no sistema.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"success": true
}
Realiza o fechamento operacional do caixa, apuração dos valores por meio de pagamento e encerramento do turno.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| totals | array | Não | Totais apurados em espécie e comprovantes |
| notes | string | Não | Observações do fechamento de caixa |
Respostas Esperadas
{
"message": "Caixa fechado com sucesso.",
"historyId": 12
}
Registra a retirada de dinheiro em espécie do caixa (sangria de valores).
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| amount | number | Sim | Valor da sangria em reais |
| reason | string | Não | Motivo da retirada |
Exemplo de Requisição (JSON Body)
{
"amount": "500.00",
"reason": "Transferência para o cofre central"
}
Respostas Esperadas
{
"message": "Sangria registrada com sucesso."
}
Lista o histórico de aberturas, fechamentos e sangrias efetuadas no caixa.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"items": [
{
"id": 1,
"status": 2,
"createdAt": "2026-09-21 18:00:00",
"cashier": {
"id": 1,
"name": "Funky Kong"
}
}
]
}
Cadastro de Ingressos
Venue / ProdutosGestão completa do catálogo de ingressos, regras de acesso, precificação, canais de venda e tabelas sazonais.
Entidade: Ticket (Ingresso / Passaporte)
Representa a definição de um tipo de ingresso com preços, regras de canal, quantidade de vouchers e validade.
| Campo | Tipo | Obrigatório | Descrição & Detalhes | Exemplo |
|---|---|---|---|---|
| id | int | Sim | Identificador primário único do ingresso |
1
|
| key | string | Sim | Chave única UUID do ingresso |
e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8
|
| active | bool | Sim | Indica se o ingresso está ativo no sistema |
true
|
| order | int | Sim | Ordem de prioridade de exibição nas listagens |
1
|
| name | string | Sim | Nome comercial do ingresso |
Passaporte Adulto
|
| printLabel | string | Sim | Texto resumido impresso na pulseira/voucher |
ADULTO
|
| price | Number (decimal) | Sim | Preço padrão de venda unitário |
120.00
|
| originalPrice | Number (decimal)|null | Não (Opcional) | Preço original "De" para desconto comercial |
150.00
|
| available | bool | Sim | Se o ingresso está liberado para venda geral |
true
|
| ecommerce | bool | Sim | Se o ingresso pode ser vendido no e-commerce / site |
true
|
| pos | bool | Sim | Se o ingresso pode ser vendido nas bilheterias / PDV |
true
|
| totalVouchers | int | Sim | Quantidade de vouchers emitidos por ingresso comprado |
1
|
| requireBookingNotes | bool | Sim | Exige observações/nomes adicionais na reserva |
false
|
| ignoreVenueRules | bool | Sim | Ignora regras globais de cancelamento do parque |
false
|
| combo | Product|null | Não (Opcional) | Produto combo associado |
null
|
| comboTickets | SimpleArray|null | Não (Opcional) | Array de IDs de tickets incluídos no combo |
null
|
| comboQuantity | int|null | Não (Opcional) | Quantidade total de itens no combo |
null
|
| startsAt | Date|null | Não (Opcional) | Data inicial permitida para compra (YYYY-MM-DD) |
2026-01-01
|
| endsAt | Date|null | Não (Opcional) | Data final permitida para compra (YYYY-MM-DD) |
2026-12-31
|
| dateStartsAt | Date|null | Não (Opcional) | Data inicial de visitação permitida |
2026-01-01
|
| dateEndsAt | Date|null | Não (Opcional) | Data final de visitação permitida |
2026-12-31
|
| days | TicketDays|null | Não (Opcional) | Dias da semana em que o ingresso é válido |
[1, 2, 3, 4, 5, 6, 7]
|
| partnerAttractionPrice | Number|null | Não (Opcional) | Valor repassado para atração de parceiro |
0.00
|
| consumptionRedeem | Number|null | Não (Opcional) | Valor de crédito para consumo embutido no ingresso |
0.00
|
| description | string|null | Não (Opcional) | Descrição textual completa dos benefícios |
Acesso completo ao parque aquático
|
| rules | string|null | Não (Opcional) | Regras de utilização e restrições específicas |
Menores de 12 anos devem estar acompanhados
|
| priceList | PriceList|null | Não (Opcional) | Tabela de preços sazonal associada |
null
|
| createdAt | DateTime | Sim | Data de criação do registro |
2026-01-05 09:00:00
|
| updatedAt | DateTime | Sim | Data da última alteração |
2026-09-22 00:00:00
|
Endpoints Disponíveis
Retorna a lista de ingressos e passaportes cadastrados no parque com paginação e filtros por disponibilidade.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Parâmetros de Consulta (Query Params)
| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | int | Página da listagem (padrão 1) |
| limit | int | Quantidade de itens por página |
| search | string | Buscar por nome do ingresso |
| available | bool | Filtrar por ingressos disponíveis para venda |
| ecommerce | bool | Filtrar por ingressos disponíveis no site |
| pos | bool | Filtrar por ingressos disponíveis na bilheteria/PDV |
Respostas Esperadas
{
"page": 1,
"limit": 15,
"total": 2,
"items": [
{
"id": 1,
"key": "e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8",
"name": "Passaporte Adulto",
"printLabel": "ADULTO",
"price": "120.00",
"originalPrice": "150.00",
"available": true,
"ecommerce": true,
"pos": true,
"totalVouchers": 1,
"order": 1
}
]
}
Retorna todos os detalhes, preços, regras e restrições de um ingresso por ID ou chave pública.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"id": 1,
"key": "e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8",
"name": "Passaporte Adulto",
"printLabel": "ADULTO",
"price": "120.00",
"available": true,
"ecommerce": true,
"pos": true,
"totalVouchers": 1,
"description": "Acesso livre a todas as atrações aquáticas do parque.",
"rules": "Obrigatório apresentação de documento na entrada."
}
Cadastra um novo tipo de ingresso ou passaporte no sistema do parque.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Nome do ingresso |
| printLabel | string | Sim | Texto para impressão em etiquetas e vouchers |
| price | string/number | Sim | Preço padrão de venda (ex: "120.00") |
| originalPrice | string/number | Não | Preço "De" promocional |
| available | bool | Não | Disponível para venda (Padrão: true) |
| ecommerce | bool | Não | Liberado para venda no site (Padrão: true) |
| pos | bool | Não | Liberado para venda na bilheteria (Padrão: true) |
| totalVouchers | int | Não | Quantidade de vouchers emitidos (Padrão: 1) |
| order | int | Não | Ordem de exibição na listagem |
| description | string | Não | Descrição do ingresso |
| rules | string | Não | Regras e restrições de uso |
Exemplo de Requisição (JSON Body)
{
"name": "Passaporte Infantil",
"printLabel": "INFANTIL",
"price": "60.00",
"originalPrice": "80.00",
"available": true,
"ecommerce": true,
"pos": true,
"totalVouchers": 1,
"order": 2,
"description": "Válido para crianças de 1 a 12 anos acompanhadas dos responsáveis."
}
Respostas Esperadas
{
"id": 3,
"key": "a1b2c3d4e5f60718293a4b5c6d7e8f90"
}
Atualiza as configurações, preços e regras de um ingresso existente.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Exemplo de Requisição (JSON Body)
{
"price": "130.00",
"available": true
}
Respostas Esperadas
{
"id": 1
}
Remove ou desativa um ingresso do parque.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"success": true
}
Lista as tabelas de preços sazonais vinculadas ao calendário de visitação.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"items": [
{
"id": 1,
"name": "Alta Temporada Verão",
"price": "140.00"
}
]
}
Reservas & Pedidos (Bookings)
Attraction / VendasGestão de pedidos e reservas de ingressos e quiosques, emissão de comprovantes, cancelamentos, remarcações e controle de vouchers.
Entidade: AttractionBooking (Reserva / Lote)
Representa a transação de compra/reserva contendo ingressos, quiosques, titularidade, status de pagamento e vouchers emitidos.
| Campo | Tipo | Obrigatório | Descrição & Detalhes | Exemplo |
|---|---|---|---|---|
| id | int | Sim | Identificador primário único da reserva |
101
|
| key | string | Sim | Chave única UUID da reserva |
a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0
|
| active | bool | Sim | Indica se o registro da reserva está ativo |
true
|
| status | BookingStatus (enum) | Sim | Status do pedido/reserva |
2
|
| channel | SalesChannel (enum) | Sim | Canal de venda originário da reserva |
2
|
| date | Date | Sim | Data agendada da visita ao parque (YYYY-MM-DD) |
2026-10-15
|
| pos | PointOfSale|null | Não (Opcional) | Caixa / PDV físico onde a venda foi operada |
null
|
| unidentified | bool | Sim | Indica se a venda foi anônima sem identificação de cliente |
false
|
| party | Party|null | Não (Opcional) | Dados cadastrais do cliente titular da compra |
{"name": "João da Silva", "email": "joao@email.com"}
|
| subtotal | Number (decimal) | Sim | Valor subtotal somado de todos os itens |
240.00
|
| discount | Number (decimal) | Sim | Valor total de desconto aplicado na reserva |
0.00
|
| refundCredit | Number (decimal)|null | Não (Opcional) | Crédito de reembolso gerado em cancelamentos |
0.00
|
| total | Number (decimal) | Sim | Valor total final pago da reserva |
240.00
|
| canceledAt | DateTime|null | Não (Opcional) | Data e hora do cancelamento (se cancelado) |
null
|
| notes | string|null | Não (Opcional) | Observações internas registradas na reserva |
null
|
| revalidationDate | Date|null | Não (Opcional) | Nova data de visita caso tenha sido remarcada |
null
|
| revalidationAmount | Number|null | Não (Opcional) | Taxa cobrada pela remarcação/revalidação |
null
|
| revalidationPayment | Payment|null | Não (Opcional) | Pagamento vinculado à taxa de remarcação |
null
|
| permalink | string|null | Não (Opcional) | Link público para visualização da reserva |
https://bravonda.com.br/pedidos/a5b6c7...
|
| voucherPermalink | string|null | Não (Opcional) | Link público para visualização dos vouchers e QR Codes |
https://bravonda.com.br/vouchers/a5b6c7...
|
| revalidatePermalink | bool|null | Não (Opcional) | Se o link de remarcação pública está liberado |
true
|
| cancelPermalink | bool|null | Não (Opcional) | Se o link de cancelamento público está liberado |
true
|
| tickets | AttractionBookingTicket[]|null | Não (Opcional) | Lista de ingressos comprados na reserva |
[{"ticket": 1, "quantity": 2, "total": "240.00"}]
|
| cabanas | AttractionBookingCabana[]|null | Não (Opcional) | Lista de quiosques reservados |
[]
|
| payments | Payment[]|null | Não (Opcional) | Pagamentos efetuados (PIX, Cartão, Dinheiro) |
[{"method": 3, "amount": "240.00"}]
|
| logs | AttractionBookingLog[] | Sim | Histórico cronológico de eventos e alterações |
[]
|
| createdAt | DateTime | Sim | Data e hora de criação da reserva |
2026-09-20 15:40:00
|
| updatedAt | DateTime | Sim | Data e hora da última atualização |
2026-09-20 15:45:00
|
Endpoints Disponíveis
Retorna a lista de reservas efetuadas com filtros avançados por data de visita, canal, status e cliente titular.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Parâmetros de Consulta (Query Params)
| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | int | Número da página (padrão 1) |
| limit | int | Itens por página (padrão 15) |
| date | string | Filtrar por data agendada de visita (YYYY-MM-DD) |
| status | int | Filtrar por status (1: Aguardando pagamento, 2: Pago, 3: Cancelado) |
| channel | int | Filtrar por canal de venda (1: Bilheteria, 2: Site, 3: Totem, etc.) |
| search | string | Buscar por nome, CPF ou e-mail do comprador |
Respostas Esperadas
{
"page": 1,
"limit": 15,
"total": 1,
"items": [
{
"id": 101,
"key": "a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0",
"status": 2,
"channel": 2,
"date": "2026-10-15",
"subtotal": "240.00",
"discount": "0.00",
"total": "240.00",
"unidentified": false,
"party": {
"id": 50,
"name": "João da Silva",
"email": "joao.silva@exemplo.com.br"
}
}
]
}
Retorna todos os detalhes de uma reserva específica, itens de ingresso, quiosques, pagamentos e logs de auditoria.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"id": 101,
"key": "a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0",
"status": 2,
"channel": 2,
"date": "2026-10-15",
"subtotal": "240.00",
"discount": "0.00",
"total": "240.00",
"tickets": [
{
"id": 201,
"ticket": {
"id": 1,
"name": "Passaporte Adulto"
},
"quantity": 2,
"price": "120.00",
"total": "240.00"
}
],
"payments": [
{
"id": 301,
"method": 3,
"amount": "240.00",
"status": 2
}
]
}
Cria uma nova reserva / lote de venda de ingressos e quiosques.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| date | string | Sim | Data da visita agendada (YYYY-MM-DD) |
| channel | int | Sim | Canal de venda (1: Bilheteria, 2: Site, 3: Kiosk, 4: Comercial, 5: Parceiros) |
| unidentified | bool | Não | Venda anônima sem identificação (Padrão: true se sem titular) |
| party | object | Não | Dados cadastrais do comprador/titular |
| tickets | array | Não | Lista de ingressos comprados e quantidades |
| cabanas | array | Não | Lista de quiosques reservados |
| notes | string | Não | Observações internas da reserva |
Exemplo de Requisição (JSON Body)
{
"date": "2026-10-15",
"channel": 1,
"unidentified": false,
"party": {
"name": "João da Silva",
"taxId": "123.456.789-00",
"email": "joao.silva@exemplo.com.br"
},
"tickets": [
{
"ticket": 1,
"quantity": 2,
"price": "120.00"
}
],
"cabanas": [
{
"cabana": 1,
"price": "180.00"
}
]
}
Respostas Esperadas
{
"id": 102,
"key": "b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1"
}
Atualiza dados de uma reserva existente.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Exemplo de Requisição (JSON Body)
{
"notes": "Cliente solicitou inclusão de observação de aniversariante."
}
Respostas Esperadas
{
"id": 101
}
Gera o comprovante de venda e os vouchers de acesso com QR Code para impressão térmica ou em PDF.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"html": "<html>...</html>",
"url": "https://api.bravonda.com.br/v1/attraction/bookings/101/print"
}
Cancela a reserva e invalida os vouchers gerados de acordo com as regras de cancelamento do parque.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| reason | string | Não | Motivo do cancelamento |
Respostas Esperadas
{
"message": "Reserva cancelada com sucesso."
}
Registra o não comparecimento do cliente no quiosque reservado.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"message": "No-show registrado com sucesso."
}
Lista os vouchers gerados para conferência de portaria e catraca.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"items": [
{
"key": "VOUCH-12345678",
"ticket": "Passaporte Adulto",
"status": "Disponível",
"date": "2026-10-15"
}
]
}
Consulta os dados e status de um voucher individual pela chave do QR Code.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
Respostas Esperadas
{
"key": "VOUCH-12345678",
"valid": true,
"ticketName": "Passaporte Adulto",
"date": "2026-10-15"
}
Verifica e prepara o resgate do voucher para liberação de acesso na catraca/portaria.
Respostas Esperadas
{
"allowed": true,
"message": "Acesso autorizado."
}
Altera a data de utilização de um voucher respeitando o prazo e políticas de remarcação.
Cabeçalhos (Headers)
| Header | Valor |
|---|---|
| Authorization | Bearer <token_jwt> |
| Content-Type | application/json |
Esquema do Corpo da Requisição (Payload)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| key | string | Sim | Chave do voucher |
| newDate | string | Sim | Nova data de visita (YYYY-MM-DD) |
Respostas Esperadas
{
"message": "Voucher remarcado com sucesso."
}