Câmera ou foto, sem biblioteca pesada
A leitura funciona com o reconhecimento nativo do próprio navegador onde disponível, e recorre ao envio de uma foto em qualquer outro caso, sem nenhuma biblioteca de leitura embutida em nenhum dos dois casos.
QR e controle de acesso
O resgate é uma única escrita condicional no banco de dados, não uma leitura seguida de uma escrita. Duas portarias lendo o mesmo código no mesmo segundo ainda assim só deixam uma pessoa passar.
Cada uma protege uma parte diferente do que acontece no momento em que um código é lido.
A leitura funciona com o reconhecimento nativo do próprio navegador onde disponível, e recorre ao envio de uma foto em qualquer outro caso, sem nenhuma biblioteca de leitura embutida em nenhum dos dois casos.
Marcar um ingresso como usado é uma única escrita, condicionada a ele ainda estar emitido. Duas leituras quase simultâneas do mesmo código, em duas portarias diferentes, nunca têm sucesso as duas.
Só o back office pode anular um ingresso ou desfazer um resgate, nunca a tela de leitura. Dar os dois poderes à equipe da portaria permitiria "desfazer" um ingresso usado na hora para deixar entrar uma segunda pessoa com o mesmo código.
Um arquivo de voucher nunca é servido a partir de uma URL pública. Todo download passa por uma rota autenticada que também verifica se o arquivo realmente pertence ao ingresso solicitado.
Cinco passos, toda vez que um código é lido ou digitado manualmente.
Um código lido ou digitado manualmente é resolvido até seu ingresso, ou retorna um claro "não encontrado" sem indicar se esse código já existiu de alguma forma.
O resgate é um único UPDATE com uma condição exigindo que o ingresso ainda esteja emitido. Se zero linhas forem afetadas, nada mudou, e o motivo é reportado de volta a partir de uma nova leitura logo em seguida.
Como a verificação de status e a escrita acontecem como uma única operação atômica, duas portarias competindo para ler o mesmo código no mesmo instante nunca têm sucesso as duas.
Toda transição, bem-sucedida ou não, registra quem a disparou, de onde, leitura ou ação administrativa, e quando, para que uma entrada contestada sempre possa ser reconstruída.
Reverter um resgate ou anular um ingresso existe apenas como uma ação do back office atrás de sua própria permissão, inteiramente separada da permissão que permite ler códigos na porta.
Produto, opção, tipo de ingresso, data, posição no pedido, nome do comprador e status de cumprimento. Nunca um preço, nunca uma margem, nunca nada que a equipe da portaria não precise para tomar uma decisão.
{
"ticket_code": "AB12CD34EF",
"status": "redeemed",
"redeemed_at": "2026-08-14T10:00:00Z",
"position": 2,
"quantity": 3,
"product_name": "City Food Tour",
"buyer_name": "Jane Buyer",
"fulfillment_status": "not_required"
}Quando a atualização condicional não afeta nenhuma linha, isso sozinho não diz o porquê. O sistema imediatamente relê o ingresso para reportar a causa real: já resgatado, com um horário e quem o fez, ou anulado, em vez de uma falha genérica. Essa verificação acontece depois da escrita de propósito: fazê-la antes reabriria exatamente a corrida que a escrita atômica existe para fechar.
Não. O resgate é uma única escrita no banco de dados condicionada a o ingresso ainda estar emitido. A leitura que chegar primeiro ao banco de dados vence essa condição; a segunda encontra zero linhas afetadas e recebe "já resgatado" em vez disso.
Não pela tela de leitura. Desfazer um resgate existe apenas como uma ação do back office atrás de sua própria permissão. Deixar a mesma equipe que lê também desfazer abriria um caminho real para deixar entrar uma segunda pessoa com um código já usado.
Não. Anular é definitivo por projeto; não existe "desanular" em nenhum lugar do sistema. Uma anulação por engano precisa de um novo ingresso, não de uma reversão.
Não. A resposta de resgate é deliberadamente limitada ao que a equipe da portaria precisa para tomar uma decisão: produto, opção, tipo de ingresso, data, nome do comprador, posição dentro do pedido e status de cumprimento.
Eles nunca são servidos a partir de uma URL pública. Todo download passa por uma rota autenticada que também verifica se o arquivo realmente pertence ao ingresso solicitado, não só se quem pediu está autenticado.
A Tiqory mantém disponibilidade, preços, pagamentos e acesso a trabalhar juntos enquanto a sua operação cresce. Conte-nos para onde vai; mostramos como chegar lá sem recomeçar.