Visão Geral do Sistema de Gestão de Eventos Pretix
O Pretix é uma plataforma open source para gestão completa de eventos e venda de ingressos online. Ele é desenvolvido em Python/Django e possui arquitetura modular, com foco em flexibilidade, automação e integração com outros sistemas via API.
Na UFSC, o Pretix é utilizado de forma auto-hospedada em https://eventos.setic.ufsc.br como Sistema de Gestão de Eventos, permitindo que unidades acadêmicas, administrativas e projetos organizem eventos com controle institucional sobre dados, pagamentos e fluxos de check-in.
🧱 Componentes principais do Pretix
🧮 Backend administrativo (painel do organizador)
Interface web onde equipes de organização:
- Criam organizadores, eventos e séries de eventos.
- Configuram produtos, quotas, formulários de inscrição e métodos de pagamento.
- Gerenciam pedidos, reembolsos, exportação de dados e relatórios.
- Administram equipes, permissões e 2FA (autenticação em dois fatores).
Tudo isso é acessado via navegador, com controle de permissões por organizador.
🛒 Loja pública e widget de ingressos
A loja pública é a interface em que o participante:
- Visualiza eventos disponíveis, datas e categorias de ingressos.
- Preenche dados do comprador/participante.
- Realiza o pagamento.
- Recebe ingressos digitais (PDF, passbook, etc., dependendo da configuração e plugins).
Além da loja “normal”, o Pretix possui um widget embutível, que permite integrar a venda de ingressos diretamente em sites externos (por exemplo, site institucional da UFSC, páginas de projetos ou eventos).
🗄️ Banco de dados e camada de aplicação
Em instalações recomendadas, o Pretix utiliza:
- Banco de dados: PostgreSQL (para produção) ou SQLite (cenários simples e desenvolvimento).
- Aplicação web: Python + Django, rodando atrás de um servidor WSGI (como uWSGI ou Gunicorn) e normalmente exposta via Nginx/Apache.
- Cache/filas: Redis (e/ou Memcached) para cache, lock e sessões, melhorando desempenho em cenários com grande volume de acessos.
📱 Aplicativos e ferramentas auxiliares
Além da interface web, o ecossistema Pretix inclui:
- pretixSCAN: app de check-in (Android/iOS) para leitura de QR codes/códigos de barras na entrada/saída.
- pretixPOS / caixa (box office): venda presencial e emissão de ingressos em balcão (com hardware compatível).
- pretixKiosk (plugin/app): modos de quiosque para autoatendimento em locais físicos.
- Plugins e integrações externas: ampliam funcionalidades (pagamentos, certificados, exportações específicas, etc.).
Nem todos os componentes vêm habilitados por padrão em todas as instalações; na UFSC, a SeTIC decide quais plugins/herramentas fazem sentido no contexto institucional.
🧠 Conceitos básicos
🧑💼 Organizadores
Um organizador é a entidade responsável por um conjunto de eventos (por exemplo, “UFSC – Eventos Institucionais” ou uma Pró-Reitoria, Centro ou Departamento).
- Cada organizador tem:
- Nome e slug (identificador curto usado na URL).
- Times de usuários com permissões específicas.
- Configurações “globais” herdadas pelos eventos (ex.: certos plugins, textos, padrões de faturamento).
- Todo evento pertence a um único organizador.
Na UFSC, o conceito de organizador costuma ser mapeado para unidades ou grupos de gestão de eventos.
🎫 Eventos (simples)
Um evento é o núcleo principal do Pretix: algo que acontece em um lugar e período específicos (ou conjunto de datas, no caso de séries).
Em um evento simples (sem série):
- Você configura:
- Título, descrição, localização e idioma.
- Período de vendas (início/fim).
- Produtos/itens (tipos de ingresso) e quotas associadas.
- Métodos de pagamento e canais de venda.
- O evento possui sua própria URL pública.
- Tudo gira em torno desse objeto: pedidos, tickets, check-in, relatórios etc.
📅 Séries de eventos (event series) e datas
Uma série de eventos é um evento especial com a opção de “Event series or time slot booking” habilitada. Em vez de um único evento pontual, você passa a ter várias datas internas (sub-events), que podem representar:
- Sessões diárias de visita guiada.
- Várias turmas de um mesmo curso ou oficina.
- Várias sessões em dias/horários diferentes de um mesmo formato de evento (ex.: visitas a museu, escape room, teatro com várias apresentações).
Características importantes:
- A série tem configuração compartilhada (organizador, configurações gerais, formulários, plugins, etc.).
- Cada data/sessão pode ter:
- Título/descrição adaptados.
- Data/hora próprios.
- Localização específica.
- Preços, quotas, regras de check-in e mapa de assentos próprios.
É justamente esse recurso que permite na UFSC criar, por exemplo, um evento do tipo “Visita guiada” com diversas datas/horários ao longo de um semestre, com ingressos específicos para cada dia/horário e possibilidade de compra de múltiplas datas num único pedido.
🧾 Produtos (itens) e variações
Os produtos representam os tipos de ingressos ou itens vendidos:
- Exemplos:
- “Ingresso inteiro”
- “Ingresso meia-entrada”
- “Visita guiada – Manhã”
- “Crachá extra”
- “Camiseta do evento”
- Um produto pode ter variações, como:
- Camiseta (P/M/G)
- Ingresso com diferentes modalidades.
Cada produto é vinculado a uma ou mais quotas, que controlam o estoque.
📦 Quotas (estoque de vagas/ingressos)
Quotas são unidades de controle de capacidade:
- Definem quantas vezes um item pode ser vendido (por evento ou por data da série).
- Podem englobar:
- Um ou vários produtos.
- Uma ou várias variações.
- Uma data específica (em séries de eventos).
- Permitem comportamento avançado, como:
- Fechar quota quando esgotar.
- Reabrir capacidade quando alguém faz check-out (saída) em controladores de acesso configurados para isso.
- Ignorar quota para cálculo de “esgotado” no calendário (útil para produtos complementares que não devem bloquear o evento).
Na prática, a quota é o “estoque lógico” por trás da disponibilidade de vendas.
👥 Pedidos, participantes e dados coletados
Quando alguém compra ingressos:
- Cria-se um pedido (order) que contém:
- Situação do pagamento (pendente, pago, cancelado, reembolsado).
- Itens (posições de pedido) com informações do produto e da data.
- Dados do comprador e, opcionalmente, de cada participante (nome, CPF, e-mail, etc., conforme formulários configurados).
- O Pretix permite:
- Envio automático de e-mails com ingressos e comprovantes.
- Reemissão de documentos (notas fiscais/invoices, recibos, etc.).
- Exportação de dados em diversos formatos.
🔁 Fluxo geral de venda – do catálogo ao check-in
Abaixo, um resumo do fluxo típico no Pretix, do ponto de vista da UFSC:
-
Definição do organizador
- Criar (ou usar) um organizador UFSC apropriado (por exemplo, uma pró-reitoria, centro ou projeto) e configurar equipes/permissões.
-
Criação do evento ou série de eventos
- No painel do organizador, criar:
- Evento único, ou
- Série de eventos (event series / time slot booking), quando for necessário trabalhar com várias datas/horários.
- No painel do organizador, criar:
-
Configuração de produtos e quotas
- Definir os tipos de ingressos (produtos) e, se necessário, suas variações.
- Criar quotas para controlar a capacidade por produto, por sala, por data, etc.
-
Configuração de formulários e dados obrigatórios
- Ajustar quais campos são coletados:
- Do comprador (ex.: nome, e-mail institucional).
- De cada participante (ex.: nome completo, número de matrícula, CPF, curso, etc.).
- Definir obrigatoriedade e validações conforme normas internas da UFSC.
- Ajustar quais campos são coletados:
-
Configuração de pagamentos e canais de venda
- Selecionar métodos de pagamento disponíveis (por exemplo, integrações via gateway, pagamento manual/depósito, PIX via plugin, etc.).
- Habilitar canais de venda:
- Web (loja online).
- POS/caixa (venda presencial, quando disponível).
- Outros canais internos (revendedores, integrações customizadas).
-
Publicação do evento
- Trocar o evento do estado de rascunho para “live”.
- Verificar:
- Períodos de venda.
- Links da loja pública e widget.
- Textos, imagens e informações obrigatórias (impressum, política de privacidade, etc.).
-
Venda de ingressos e automação
- Participantes acessam
eventos.setic.ufsc.br(ou site integrado com o widget). - Selecionam datas, produtos e preenchem o formulário.
- Realizam o pagamento conforme método disponível.
- Participantes acessam
-
Emissão de ingressos, invoices e comprovantes
- Pretix emite:
- Ingressos em PDF (com QR code / código de barras).
- Documentos de cobrança (invoices/notas) conforme configuração.
- Plugins podem adicionar formatos extras (ex.: Passbook/Apple Wallet, certificados de participação, etc.).
- Pretix emite:
-
Check-in / controle de acesso
- No dia do evento:
- Uso de pretixSCAN (app) ou interfaces web para controlar entrada/saída.
- Possibilidade de configurar reentrada, listas específicas e filtros por produto/dia.
- As estatísticas de presença ajudam na geração de relatórios pós-evento.
- No dia do evento:
🔒 Segurança, licença e extensibilidade
🔐 Segurança
- Suporte a autenticação em dois fatores (2FA) para usuários do backend.
- Controle granular de permissões via equipes (teams) por organizador.
- Recursos de segurança de aplicação herdados do Django (proteção CSRF, XSS, etc.) e recomendações para uso de HTTPS.
📜 Licença
- A maior parte do código do Pretix é distribuída sob AGPLv3 (com termos adicionais definidos no repositório oficial).
- Isso permite:
- Uso em produção, inclusive institucional.
- Auditoria de código.
- Customização e criação de plugins, respeitando os termos da licença.
🔌 Plugins e integrações
- O Pretix possui uma arquitetura de plugins:
- Métodos de pagamento (Stripe, PayPal, gateways regionais, etc.).
- Recursos avançados (certificados de participação, digital content, badges, passbook, entre outros).
- Integrações com ferramentas externas, exportadores específicos, relatórios customizados.
- Plugins podem ser:
- Mantidos pela própria equipe do Pretix.
- Mantidos por terceiros (comunidade, empresas, organizadores) e publicados no Pretix Marketplace.
- Em uma instalação auto-hospedada (como na UFSC), a equipe técnica pode:
- Instalar apenas plugins confiáveis.
- Desenvolver plugins próprios (como integrações de pagamento específicas, SSO, etc.).
🧭 Mapa mental rápido dos conceitos
- Organizador: “Dono” dos eventos, onde se definem equipes, permissões e configurações globais.
- Evento: Unidade principal de configuração (único ou série).
- Série de eventos (event series): Evento com várias datas internas, útil para sessões recorrentes e agendamento de horários.
- Produtos/itens: Tipos de ingressos ou itens vendidos.
- Quotas: Estoques lógicos que limitam quantos ingressos podem ser vendidos.
- Pedidos: Conjunto de ingressos comprados de uma vez, com status de pagamento.
- Participantes: Pessoas que efetivamente vão ao evento; podem ser diferentes do comprador.
- Plugins: Extensões que adicionam novos recursos e integrações.
🔗 Referências
Links oficiais e relevantes para aprofundamento:
- Site oficial Pretix:
- https://pretix.eu
- Código-fonte:
- https://github.com/pretix/pretix
- Documentação oficial (conceitos, tutoriais e API):
- Organizers: https://docs.pretix.eu/dev/api/resources/organizers.html
- Events: https://docs.pretix.eu/dev/api/resources/events.html
- Event series / Sub-events: https://docs.pretix.eu/guides/event-series/
- Quotas: https://docs.pretix.eu/dev/api/resources/quotas.html
- Conceitos gerais: https://docs.pretix.eu/dev/development/concepts.html
- Self-hosting e configuração: https://docs.pretix.eu/self-hosting/config/
- Marketplace de plugins (extensões oficiais e de terceiros):
- https://marketplace.pretix.eu
Nenhum comentário para exibir
Nenhum comentário para exibir