A dedicated ticketing system with a mobile app for a world-class stud
We built from scratch a proprietary online ticket sales and handling system together with a mobile entry-control app for Janów Podlaski Arabian Stud, one of the world's most renowned studs of purebred Arabian horses and the organiser of the prestigious Pride of Poland auction. The system handles international payments, including Arabic-market methods and currencies with right-to-left (RTL) text layout, generates QR-coded e-tickets, and enables mobile entry control that works even offline. The entire solution is the client's property and has been prepared for further expansion.
Client and business context
Janów Podlaski Arabian Stud (Stadnina Koni Janów Podlaski Sp. z o.o.), based at Wygoda 3, 21-505 Janów Podlaski, is one of the most renowned studs of purebred Arabian horses in the world. Its history dates back to 1817, and the horses bred here have set standards in Arabian breeding worldwide for generations.
The stud is the organiser of the prestigious international Arabian horse auction Pride of Poland, an event of global renown that draws buyers from all over the world. A significant share of those buyers come from the Middle East, including the United Arab Emirates, Bahrain, and other GCC markets. Our system handled, among others, the 56th edition of the auction.
Such a broad, international audience places specific demands on a ticketing system. The client needed a solution that would handle international payments as well as the methods and currencies of Arabic countries, correctly display content in right-to-left (RTL) languages, and at the same time allow smooth control of entries to the event venue, including where internet access can be limited.
The challenge
Ticketing for an event of international renown places demands that off-the-shelf ticketing platforms do not meet. The client expected a fully dedicated solution that is its own property, with no dependency on an external operator, no licensing limits on the number of control stations, and room for further expansion.
The first area of difficulty is payments. The auction audience is global, so the system had to accept both methods popular in Poland (BLIK, instant transfers) and Visa and Mastercard card payments, Apple Pay, Google Pay, Revolut, as well as local payment methods of the GCC markets. On top of that comes multi-currency support, meaning PLN, EUR, and foreign currencies with automatic exchange-rate conversion, and the ability to configure several payment operators at once.
The second area is interface internationalisation. The service had to be available in EU and non-EU languages, in particular Arabic, which requires correct handling of right-to-left (RTL) text layout across the whole interface, not just translation of content.
The third area is entry control. During the event, tickets must be verified quickly and reliably, at many entry points at once, while counting the number of entries. A key requirement here was the ability to work with limited internet access, meaning offline ticket scanning with subsequent data synchronisation.
Specific requirements
- A proprietary ticket sales system owned by the client, with no dependency on an external operator
- Definition of ticket and pass categories with differentiated prices and reservation of free passes
- Card payments, BLIK, Apple Pay, Google Pay, Revolut, instant transfers, and local GCC-market methods
- Multi-currency support (PLN, EUR, foreign currencies) with automatic exchange-rate conversion
- Multilingual support with Arabic languages and RTL text layout
- E-tickets with QR or barcodes, email delivery, PDF download, and adding to Wallet
- A mobile app for Android and iOS for entry control with offline work and synchronisation
- An admin panel with real-time statistics, reports, and export to XLSX and CSV
- Security aligned with OWASP Top 10, data encryption, and backups
Project process
We delivered the project in two months, dividing the work into ordered phases. Work on the web system, backend, and mobile app ran in parallel, and each phase ended with client verification.
Analysis and specification
1 weekWorkshops with the client to define ticket categories, payment methods, currencies, languages, and entry-control scenarios. Output: a requirements document forming the basis for further work.
UX/UI design and architecture
1-2 weeksDesigning the purchase path (guest and registered), the admin panel, and the mobile app. Designing the data structure, roles, permissions, and API, together with planning the RTL layout.
Web system and backend development
3-4 weeksBuilding the Next.js frontend, the Node.js and Express REST API, and the PostgreSQL database, automatic e-ticket generation with QR codes, ticket-pool management, and the admin panel with statistics and reports.
Mobile app and offline mode
2 weeksBuilding the React Native app for Android and iOS: ticket validity checks, entry counting, handling of multiple entry points, and offline mode with data synchronisation.
Payment integrations, testing and deployment
1-2 weeksIntegrating Przelewy24, Stripe, and PayTabs, multi-currency support, testing internationalisation and RTL layout, security hardening (OWASP), production deployment at bilety.skjanow.pl, and client training.
Technical solution
We delivered a proprietary, fully dedicated online ticket sales and handling system together with a mobile entry-control app. We built the web application layer on Next.js 14 (React 18) with TypeScript and Tailwind CSS; the backend is Node.js with Express exposing a REST API with JWT-based authorisation, and data is stored in PostgreSQL 16 with replication and backups. Everything runs on a dedicated server in EU infrastructure, at the production address bilety.skjanow.pl.
At the heart of payment handling is an architecture of several gateways working in parallel. Przelewy24 covers the Polish market (BLIK, instant transfers), Stripe handles the EU and US markets as well as card payments, Apple Pay, and Google Pay, and PayTabs provides local payment methods for the GCC markets and Arabic countries. The panel allows configuring multiple operators at once, and multi-currency support (PLN, EUR, and foreign currencies) works with automatic exchange-rate conversion.
We based multilingual support on i18next with RTL text-layout support for Arabic. As a result, the service not only translates content into EU and non-EU languages but also correctly mirrors the entire interface layout where text is read from right to left.
Entry control is handled by a mobile app written in React Native, running on Android and iOS. It verifies ticket validity, controls the number of entries, and handles multiple entry points, and most importantly, it can work with limited internet access, scanning tickets offline and synchronising data once the connection is restored.
Why a dedicated system rather than an off-the-shelf ticketing platform?
Off-the-shelf ticketing platforms tie the organiser to an external operator, its commissions, limits, and development schedule. The client expected a solution that would be its own property, with no licensing limits on the number of control stations and full freedom for further expansion. A dedicated system also gave full control over unusual requirements, namely Arabic-market payments and RTL layout, which standard platforms usually do not support.
Why three payment gateways at once?
The Pride of Poland auction audience is global, so a single gateway would not cover all needs. Przelewy24 provides the full set of methods popular in Poland, Stripe handles the EU and US markets as well as card and mobile-wallet payments, and PayTabs provides local payment methods for the GCC countries. The multi-operator architecture allows further gateways to be enabled and configured without rebuilding the system.
Why offline mode in the mobile app?
During a large outdoor event, internet access at entry points can be limited or unstable. If ticket control required a constant connection, every drop would block entry. That is why the app scans and verifies tickets locally and synchronises data with the system once connectivity returns, ensuring smooth entry handling regardless of network quality.
Key system features
The system combines online ticket sales, international payment handling, and mobile entry control into one coherent whole. Here are the most important modules:
Ticket and pass sales
Definition of ticket categories with differentiated prices, reservation of free passes, an application form, and automatic purchase confirmations sent to the buyer.
International and local payments
Visa and Mastercard cards, BLIK, Apple Pay, Google Pay, Revolut, instant transfers, and local payment methods for the GCC markets (Emirates, Bahrain). Multiple operators can be configured at once.
Multi-currency and multilingual
Support for PLN, EUR, and foreign currencies with automatic exchange-rate conversion, and translation of the service into EU and non-EU languages, in particular Arabic with RTL text layout.
QR-coded e-tickets
Automatic generation of e-tickets with QR or barcodes, email delivery, re-generation, PDF download, and adding to Wallet.
Mobile entry control
The app for Android and iOS verifies ticket validity, controls the number of entries, and handles multiple entry points. It also works with limited internet access, with offline scanning and synchronisation.
Admin panel
Management of ticket pools, real-time preview of sales and statistics, report generation, export to XLSX and CSV, user and permission management, and a history of system operations.
Modern purchase interface
A responsive interface consistent with the client's branding, with a simple purchase path. Purchase is possible as a guest or after registration, with login also via Google and Apple.
Ready for expansion
We prepared the system for further development, including modules for selling products with personal pickup and shipping, without the need to rebuild its foundations.
Data security
We designed the system in line with OWASP Top 10 practices, with data encryption, an event log, and backups of the PostgreSQL database.
Tech stack
We selected each element of the stack for a specific project requirement, namely performance, security, international payment handling, and offline operation of the mobile app.
Results
We delivered a working online ticket sales system together with a mobile entry-control app, launched in production at bilety.skjanow.pl. The solution handled, among others, the 56th edition of the international Pride of Poland auction.
The system brings together, in one place, international and local payments, including Arabic-market methods and currencies, multi-currency support with automatic exchange-rate conversion, and multilingual support with RTL layout. E-tickets are generated automatically with QR codes, and mobile entry control also works offline.
Importantly for the client, the entire system is its property, does not tie it to an external operator, and imposes no licensing limits on the number of control stations. We prepared the architecture for further expansion, including modules for selling products with personal pickup and shipping.
What's next
We designed the system with growth in mind from the start. The nearest direction of expansion is modules for selling products with personal pickup and shipping, which can be added to the existing platform without rebuilding its foundations.
The multi-gateway payment architecture and the i18next-based internationalisation make it possible to add further payment methods, currencies, and languages in the future as the events organised by the stud develop. ByteWave remains the technical partner responsible for maintaining and further developing the system.