A infraestrutura de bilhética construída para a próxima geração de experiências ao vivo.

O Pylon é uma plataforma white-label de bilhética para eventos, desenhada para velocidade, fiabilidade e total controlo de marca. Da bilheteira ao scan do código de barras, cada ponto de contacto é teu.

<1sCheck-in sub-segundo
100%Isolamento multi-tenant
99.9%SLA de uptime
.NET 10Construído com
Open APIAlojado na UERGPD-compliant

Visão Geral

Uma plataforma. Todas as marcas.

O Pylon é um motor de bilhética multi-tenant que alimenta plataformas de eventos com marca própria. Cada deployment opera com a sua identidade — eventslisbon.pt, houseparties.com, zoolisboa2025.pt — enquanto partilha a mesma infraestrutura robusta por baixo.

Os organizadores têm um dashboard admin completo. O staff tem uma app de check-in que funciona offline. Os clientes têm uma loja online que parece nativa da marca em que confiam. Ninguém vê "Pylon" — e é esse o objetivo.

Para Organizadores

Cria eventos em minutos. Gere sessões, tipos de bilhetes, escalões de preço e colaboradores num único dashboard. Emite bilhetes de cortesia, acompanha vendas e monitoriza taxas de check-in em tempo real.

Para Staff

Uma app de check-in dedicada, construída como Progressive Web App. Funciona offline com credenciais pré-descarregadas. Leitura de códigos de barras por câmara com validação sub-segundo. Feedback de áudio e háptico. Sem app store.

Para Clientes

Uma loja online com marca própria, com carrinho, checkout e bilhetes digitais. Múltiplos métodos de pagamento incluindo cartões, MB Way e Multibanco. Bilhetes entregues instantaneamente com QR codes. Transfere bilhetes para amigos com um toque.

Capacidades

Tudo o que precisas. Nada que não precises.

Gestão de Eventos

Ciclo de vida completo do evento desde rascunho até conclusão. Eventos recorrentes com suporte RRULE. Eventos multi-sessão com tracking independente de capacidade. Acesso de colaboradores com papéis de Owner, Editor e Viewer.

Emissão de Bilhetes

Geração automática de bilhetes no cumprimento de encomendas. Códigos de barras únicos com validação criptográfica (HMAC-SHA256). Credenciais QR code com suporte de regeneração. Emissão direta para cortesias, imprensa, staff e vendas manuais.

Sistema de Check-in

Leitura de códigos de barras e QR por câmara ou entrada manual. Políticas de re-entrada (única, ilimitada ou limitada). Arquitetura offline-first com cache de credenciais em IndexedDB e sincronização em background.

Processamento de Pagamentos

Integração Stripe com cartões, Apple Pay, Google Pay e 3D Secure. Métodos de pagamento portugueses: MB Way e transferências Multibanco. Sistema de crédito de loja com gestão completa do ciclo de vida.

Gestão de Encomendas

Ciclo de vida completo de encomendas com detalhe por linha. Reembolsos parciais e totais. Cancelamento com tracking de motivo. Captura de informação do comprador. Suporte multi-moeda com value objects de Money.

Controlo de Inventário

Locking distribuído baseado em Redis para prevenir overselling. Reservas com tempo limitado e expiração automática. Tracking de disponibilidade em tempo real por sessão e tipo de bilhete. Persistência de carrinho entre sessões.

Administração de Bilhetes

Pesquisa global de bilhetes por número ou código de barras. Listas de bilhetes por sessão com estatísticas. Ações de anulação e reembolso com audit trail. Regeneração de credenciais. Gestão de participantes.

Gestão de Espaços

Entidades de espaço standalone com capacidade, coordenadas geográficas e informação de contacto. Reutilizáveis entre eventos e sessões. Metadata de morada e localização para páginas orientadas ao cliente.

Multi-Tenancy

Isolamento completo de dados entre tenants. Domínios e branding personalizados (logo, cores, fontes, CSS customizado). Configurações ao nível do tenant para fuso horário, moeda e idioma.

Autenticação e Autorização

OAuth 2.0 / OpenID Connect via OpenIddict. Tokens JWT com permissões embebidas. Cinco níveis de papéis desde Cliente até Platform Admin. Sistema de permissões granular.

Integração de AI Agent

IA conversacional para suporte ao cliente e assistência de reservas. Persistência de histórico de conversas com tracking de invocação de ferramentas. Tipos de agentes extensíveis com contexto personalizado.

Observabilidade

Distributed tracing com OpenTelemetry em todos os módulos. Exportação de métricas compatível com Prometheus. Logging estruturado via Serilog com enriquecimento de tenant e utilizador.

Arquitetura

Bem construído. Feito para durar.

O Pylon é um monólito modular .NET 10 — o meio-termo pragmático entre um monólito emaranhado e microserviços prematuros. Cada módulo de domínio (Events, Orders, Tickets, Payments, Reservations) é estruturado independentemente com o seu próprio contexto de base de dados, camada de domínio, camada de aplicação e contratos.

A comunicação entre módulos acontece através de integration services e domain events, não acesso direto à base de dados. Isto significa que qualquer módulo pode ser extraído para um serviço standalone quando a escala o exigir — sem reescrever lógica de negócio.

Camada API

Endpoints REST • OpenAPI 3.1 • Rotas versionadas

Camada de Aplicação

Commands • Queries • Handlers • Validators

Camada de Domínio

Entities • Value Objects • Domain Events • Aggregates

PostgreSQL

Redis

Stripe

Wolverine

Frontend (Next.js 16 • Turborepo)

Dashboard Admin

Loja Online

Check-in PWA

Backend

.NET 10 com C# 13. Clean Architecture com Domain-Driven Design. Padrão CQRS com MediatR. FluentValidation em todos os commands. Padrão Result para tratamento de erros — sem exceções para lógica de negócio. PostgreSQL com Entity Framework Core. Isolamento multi-schema por tenant. Wolverine message bus para processamento assíncrono e orquestração de sagas. Redis para locks distribuídos e caching.

Frontend

Next.js 16 com React 19. Monorepo Turborepo com 13 packages partilhados e 3 aplicações (Admin, Loja Online, Check-in PWA). TypeScript strict mode end-to-end. API client gerado com Orval com React Query hooks e validadores Zod — zero chamadas API escritas à mão. Tailwind CSS v4 com sistema de design tokens. 40+ componentes UI construídos com primitivas Radix.

API

API RESTful com especificação OpenAPI 3.1. Documentação auto-gerada com Scalar UI. Endpoints versionados (v1). Acesso baseado em papéis (público, autenticado, organizador, admin, platform admin). Respostas paginadas com ordenação e pesquisa full-text.

Segurança

Autenticação OAuth 2.0 / OpenID Connect. JWT com papéis e permissões embebidas. Validação criptográfica de bilhetes (HMAC-SHA256). Verificação de assinatura de webhooks Stripe. Processamento idempotente de webhooks. Isolamento de dados por tenant ao nível da base de dados. Tratamento de dados consciente do RGPD.

Hosting

Deployado em infraestrutura cloud compatível com AWS. Base de dados PostgreSQL gerida. Redis para estado distribuído. Container-ready com suporte Docker. CI/CD via GitHub Actions. Frontend deployado no Vercel com edge caching.

Roadmap

Onde estamos. Para onde vamos.

O Pylon é lançado em fases. Cada fase é desenhada para desbloquear valor real para organizadores e os seus clientes. Não construímos funcionalidades isoladas — cada release é validado contra cenários reais.

Lançado — Plataforma Core

Fundação Backend (Fase 1-6)

Backend completo com seis módulos de domínio: Events, Reservations, Orders, Payments, Tickets e Tenants. Ciclo de vida completo de eventos, gestão de inventário com locking distribuído, processamento de pagamentos Stripe com MB Way e Multibanco, emissão de bilhetes com credenciais QR e isolamento multi-tenant. Mais de 80 endpoints REST com documentação OpenAPI.

Infraestrutura Frontend (Fase 7-10)

Monorepo Turborepo com 13 packages partilhados. Biblioteca de componentes com 40+ componentes UI. Sistema de design tokens para theming white-label. API client gerado com Orval com type safety completa. Sistema de auth com OAuth 2.0 e JWT. App shell com composição de providers.

Dashboard Admin (Fase 11)

Dashboard completo para organizadores com CRUD de eventos, gestão de sessões, configuração de tipos de bilhetes, gestão de espaços, tracking de encomendas com estatísticas, administração de bilhetes com pesquisa global, gestão de colaboradores, séries de eventos com regras de recorrência e configurações de branding do tenant.

Check-in PWA (Fase 12)

Progressive Web App offline-first para staff de venue. Leitura de códigos de barras por câmara com fallback de entrada manual. Cache de credenciais em IndexedDB para validação offline. Fila de sincronização em background com exponential backoff. Wake lock, feedback háptico e pistas de áudio.

Emissão Direta de Bilhetes (Fase 13)

Emissão de bilhetes iniciada pelo admin, sem passar pelo checkout. Usado para bilhetes de cortesia, passes de imprensa, credenciais de staff, alocações VIP e transações manuais de ponto de venda. Cumprimento instantâneo com geração de QR code. Audit trail completo.

Em Progresso — A Expandir a Plataforma

Atlas — Aplicação POS Kiosk

Ponto de venda em tablet operado por staff para vendas walk-in. Interface single-page otimizada para velocidade: catálogo de eventos à esquerda, formulário de venda à direita. Tempo de interação alvo inferior a 30 segundos. Recolha de dados compatível com RGPD.

Meridian — Loja Online Self-Service

Loja online com marca própria para compra de bilhetes online. Navegação de eventos com media rico. Carrinho de compras com suporte multi-evento. Checkout com Stripe Elements. Entrega instantânea de bilhetes com QR codes. Design responsivo mobile-first. Suporte multi-idioma.

Planeado — Capacidades Avançadas

Prism — Preços Dinâmicos e Promoções

Escalões de preço baseados em tempo (early bird, regular, last-minute). Códigos promocionais com uso único e múltiplo. Preços de pacote para bundles multi-evento. Descontos de volume. Campanhas flash sale. Códigos de tracking de afiliados.

Compass — Analytics e Relatórios

Dashboard de vendas com tracking de receita e taxas de sell-through. Monitorização de check-in em tempo real. Comparação de performance entre eventos. Relatórios exportáveis (CSV, PDF). Analytics de utilização de capacidade. Insights de comportamento do cliente.

Horizon — Lugares Marcados

Mapa de lugares interativo com hierarquia de zona, secção, fila e lugar. Seleção visual de lugares baseada em SVG durante o checkout. Tracking de disponibilidade de lugares por sessão. Lugares de acessibilidade com regras de lugar de acompanhante.

Nexus — Funcionalidades de Marketplace

Revenda de bilhetes fan-to-fan com limites de preço controlados pelo organizador. Sistema de lista de espera para eventos esgotados. Sala de espera virtual para momentos de alta procura. Medidas anti-scalping com rotação de credenciais.

Forge — Page Builder

Construtor visual drag-and-drop de landing pages de eventos. Componentes pré-construídos (hero, seletor de bilhetes, countdown, lineup, FAQ). Sistema de templates com herança de marca. Widget de checkout embebido.

Pulse — Notificações

Email transacional para confirmações de encomenda e entrega de bilhetes. Templates white-label com branding do tenant. Lembretes e atualizações de eventos. Triggados por domain events. Push notifications (futuro).

Bridge — Integrações

Webhooks outbound para sistemas parceiros. Sincronização com CRM (Salesforce, HubSpot). Integração de plataforma de email (Mailchimp, SendGrid). Widget de checkout embebível. Conector Zapier.

Visão Futura

Aplicações Móveis

Apps nativas iOS e Android. Geração de passes Apple Wallet e Google Wallet. Push notifications para lembretes de eventos. Autenticação biométrica para acesso a bilhetes.

Credenciais Avançadas

Credenciais TOTP rotativas para segurança reforçada. Entrada NFC para venues com infraestrutura tap-to-enter. QR codes dinâmicos com janelas de expiração.

Funcionalidades Enterprise

Hierarquia de contas multi-localização para cadeias de venues. Gestão de sub-promotores com partilha de receita. Relatórios consolidados entre marcas. Delegação avançada de permissões.

Expansão Internacional

Checkout multi-moeda com conversão automática. Métodos de pagamento específicos por região (iDEAL, Bancontact, SEPA). Opções de residência de dados para compliance. Localização para 10+ idiomas.

Engenharia

Como construímos.

O Pylon é construído por engenheiros que se preocupam com o craft. Cada linha de código é escrita com intenção. Não lançamos funcionalidades — lançamos confiança.

Result Pattern, Não Exceções

A lógica de negócio nunca faz throw. Cada operação retorna um Result tipado com sucesso ou falha explícitos. Os códigos de erro são específicos do domínio e acionáveis. Isto elimina falhas silenciosas e torna cada caminho de código testável.

Structured Logging como First-Class Citizen

Cada handler regista eventos de negócio ao nível apropriado. Information para operações críticas, Warning para recusas de negócio, Error para falhas de infraestrutura. Todos os logs usam parâmetros estruturados — nunca interpolação de strings.

Desenvolvimento Orientado por Métricas

Métricas de negócio (encomendas criadas, receita por bilhete, taxa de check-in) e métricas técnicas (duração de chamadas de integração, falhas de validação) são instrumentadas desde o dia um. OpenTelemetry alimenta distributed tracing em cada fronteira de módulo.

Type Safety End-to-End

A spec OpenAPI é a single source of truth. O Orval gera hooks TypeScript com integração React Query e validadores Zod. Uma alteração num DTO do backend quebra o build do frontend em segundos. Zero chamadas API escritas à mão.

Domain-Driven Design

Cada módulo é dono do seu modelo de domínio, do seu contexto de base de dados e das suas regras de negócio. A comunicação entre módulos acontece através de integration services com contratos explícitos. Value objects impõem invariantes. Aggregate roots protegem consistência.

Offline-First Onde Importa

A app de check-in não assume conectividade. As credenciais são pré-descarregadas para IndexedDB. A validação acontece localmente com verificação criptográfica. Os check-ins entram numa fila de sincronização e reconciliam quando a conectividade regressa.

Progressive Enhancement

A plataforma começa simples e cresce com a procura. Um monólito modular hoje pode tornar-se serviços distribuídos amanhã. Arquitetura message-driven significa que qualquer módulo pode ser extraído sem reescrever lógica de negócio.

Code Style como Comunicação

Limite de 120 caracteres por linha. Inline até ao limite, depois wrap inteligente. Sem verbosidade de um-parâmetro-por-linha. Tipos explícitos para clareza. Comentários apenas quando acrescentam contexto. O codebase lê-se como uma conversa entre profissionais.

Tech Stack

As ferramentas por trás da plataforma.

Backend

  • .NET 10 / C# 13
  • PostgreSQL
  • Redis
  • Entity Framework Core
  • Wolverine(message bus)
  • MediatR(CQRS)
  • FluentValidation
  • OpenIddict(OAuth 2.0)
  • Serilog(logging)
  • OpenTelemetry(observability)

Frontend

  • Next.js 16
  • React 19
  • TypeScript 5.5
  • Turborepo
  • Tailwind CSS v4
  • Radix UI(primitives)
  • TanStack React Table
  • React Query v5
  • React Hook Form
  • Zod(validation)
  • Zustand(state)
  • Orval(API generation)

Check-in PWA

  • Serwist(service worker)
  • Dexie(IndexedDB)
  • react-zxing(barcode scanning)
  • Wake Lock API
  • Web Audio API

Payments

  • Stripe(cards, Apple Pay, Google Pay)
  • MB Way
  • Multibanco

Infrastructure

  • AWS-compatible cloud
  • Docker containers
  • GitHub Actions(CI/CD)
  • Vercel(frontend hosting)
  • Scalar(API documentation)

Quality

  • Vitest(testing)
  • ESLint(linting)
  • Prettier(formatting)
  • Central Package Management

Começa Já

Vamos construir algo juntos.

O Pylon foi feito para organizadores que querem controlo total sobre a experiência de bilhética. Se geres eventos, venues ou estás a construir uma marca de bilhética — adorávamos falar contigo.