Jegyértékesítő és közösségi platform klubokhoz és rendezvényekhez
Ez a legnagyobb rendszer, amit eddig építettem: jegyértékesítő platform klubokhoz és rendezvényekhez. Katalógus, kosár, fizetés, jegykiadás, számlázás, mobil API és minden, ami ezek körül kell. 2025 februárja óta fejlesztem, és azóta is folyamatosan bővül.
Az elejétől én tervezem és fejlesztem.
A jegyeladás csak az első lépés. Ha valaki jegyet vesz, kell neki a jegy e-mailben, számla, beléptetés a kapunál, és jó esetben egy emlékeztető is a buli előtt. Ezeket általában külön rendszerek csinálják, és ott szoktak elveszni az adatok.
Az volt a célom, hogy mindez egy rendszer legyen. A weboldal, a mobilapp, a kapunál használt app, az admin és a pénztári rendszerek ugyanabból dolgozzanak, és ha valami elromlik, egy helyen kelljen keresni.
Katalógus és SEO
Klubok, szervezők, események, fellépők és kereső, keresőbarát címekkel, automatikus sitemap-pel és többnyelvű tartalommal, gépi fordítási támogatással.
Kosár és fizetés
Vendég és bejelentkezett kosár (belépéskor összefésülve), kuponok, és olyan fizetési modell, ahol a bevétel közvetlenül a szervezőhöz kerül, a rendelés pedig a fizetési visszajelzés alapján zárul le.
Jegy és számla
PDF jegy e-mailben, jegy átadása másik személynek, automatikus számlázás a szervezőnek megfelelő szolgáltatóval, a hibás számlák ismételt próbálkozásával.
Mobil API és push
Verziózott API a mobilalkalmazásnak: regisztráció, katalógus, kosár, jegyek, push értesítések, mélylinkek, és átjelentkezés az appból a webes fizetésbe.
Hűség és VIP kártyák
Kedvezményes kártyák saját oldallal, hűség-pénztárca egyenleggel és tranzakciókkal, valamint külső pénztári rendszerrel összekötött lekérdezés és terhelés.
Közösségi réteg
Barátok, követés, posztok, 24 órás sztorik és valós idejű csevegés. Funkciókapcsolóval, felhasználónként fokozatosan bevezethető.
Keresés időpont és hely szerint, gyors elérés a saját QR-kódokhoz, kiemelt események.
Naptár, helyszín-, kategória- és szervező-szűrők, események kártyákon, dátummal és zenei stílusokkal.
A klub bemutatása, értékelés, zenei stílusok, korhatár, nyitvatartás és galéria.
Leírás, dress code, korhatár, a jegyek megtekintése és a helyszín egy helyen.
Márka- és ügyfélnevek, valamint személyes adatok nélkül (kivéve az alkalmazás áruházi képeit).
Több kliens, egy rendszer
A weboldal, a vásárlói mobilapp, a beléptető app, az admin és egy külső pénztári rendszer is ugyanazt az API-t és adatmodellt használja.
A pénz a szervezőhöz megy
A fizetést úgy építettem meg, hogy a bevétel közvetlenül a szervezőhöz vagy a klubhoz kerül. A rendelést a fizetési visszajelzés zárja le, nem az, hogy a vásárló visszatér az oldalra, mert az nem megbízható.
Fokozatos élesítés
A közösségi funkciókat (barátok, posztok, sztorik, chat) funkciókapcsoló mögé tettem. Felhasználónként tudom bekapcsolni őket, és ha valami nem jó, nem kell visszavonnom az egész kiadást.
A VIP jegyek eltűntek az admin statisztikából
Egyszer feltűnt, hogy az adminban az eseményenkénti statisztikából hiányzik a VIP belépő. A VIP kártyával beléptetett vendég olyan jegytípuson ment be, amit az admin addig nem ismert. Most az első VIP beléptetésnél a jegytípus automatikusan átszinkronizálódik. A korábbi hiányokat két javító paranccsal pótoltam visszamenőleg.
Nulla forintos rendelésre nem kell számla
A számlázó job először hibát dobott minden helyszíni eladásra, mert azoknak nincs számlázási címük, és a teljesen kedvezményes rendelésre is számlát akart kiállítani. Most a ténylegesen kifizetett összeg dönt, nem a listaár, a helyszíni eladások pedig külön ágon mennek.
Ami lassú vagy külső, az sorba kerül
A számlázás, az e-mail, a push és a szinkron nem a felhasználó kérésében fut, hanem sorban, újrapróbálással. Ha a külső szolgáltató nem válaszol, a vásárlás attól még lemegy, a számla pedig később elkészül.
Megbízható háttérfolyamatok
A lassú vagy külső szolgáltatástól függő feladatok (számlázás, e-mail, push, szinkron) sorban futnak, hiba esetén újrapróbálással, kimaradás esetén visszamenőleges javító parancsokkal.
Rendszerek összekötése
Kétirányú szinkron az adminisztrációs felülettel, külön médiakiszolgáló, kapuellenőrző API és külső pénztári partner interfész, egy közös adatmodellre építve.
Kézbesíthető kommunikáció
E-mail napló és tiltólista, kézbesítés-követés, elhagyott kosár emlékeztetők, esemény előtti push, és értékelő kérés az esemény után.
Üzemeltethetőség
Állapotfigyelés és riasztás, ütemezett karbantartás, dokumentált API és funkciókapcsolók, hogy az új funkciók kockázat nélkül élesedjenek.
Védelem a hibás számla ellen
A számlázás előtt sorban ellenőrzi, hogy kell-e egyáltalán számla. A mérvadó a ténylegesen kifizetett összeg, nem a listaár, így a teljesen kedvezményes rendelésből sem lesz értelmetlen számla.
public function handle(): void
{
$order = Order::with(['billingAddress', 'user', 'items'])->find($this->orderId);
// On-site (POS) sales are invoiced through another flow and have no billing address.
if (Str::startsWith($order?->order_number ?? '', 'POS-')) {
return;
}
// What was actually paid is authoritative, not the list price of the items:
// a fully discounted order has total_amount = 0 and must not be invoiced.
if ((float) ($order?->total_amount ?? 0) <= 0) {
Log::info('Invoice skipped: order total is zero', ['order_id' => $this->orderId]);
return;
}
if (empty($order?->billingAddress)) {
Log::error('Invoice skipped: billing address is empty', ['order_id' => $this->orderId]);
return;
}
// ... build the invoice and hand it to the provider configured for this organiser
}
Éles rendszer, ami több száz rendezvényt szolgált ki, és közben tovább nő. A mobil API, a hűségprogram, a közösségi réteg és az ajánlórendszer mind utólag került rá, úgy, hogy közben nem kellett leállítani.
Jegyértékesítő vagy rendezvényes rendszert építenél?
Mesélj a tervről, és megnézzük, mi kell hozzá, mit érdemes először megépíteni.
További projektek
Rendezvény-beléptető app
Mobilalkalmazás, amellyel a rendezvényeken gyorsan és ellenőrzötten léptethető be a közönség.
Esettanulmány → Háttérrendszer és mobil adminAdminisztrációs és analitikai felület
Események, rendelések, marketing és forgalmi adatok egy helyen, saját analitikával, riportokkal, webről és telefonról is.
Esettanulmány → Önkiszolgáló platformNagykereskedői integrációs platform
Webáruházak összekötése 400 feletti nagykereskedővel, automatikus ár-, készlet- és rendeléskezeléssel, fejlesztői tudás nélkül.
Esettanulmány →