Esettanulmány
Asztalfoglalás több helyszínre, a vendég űrlapjától a személyzet ültetési térképéig
Egy rendszer viszi a Habibi helyszíneinek foglalásait: a vendég két weboldalon foglal, a személyzet egy felületen látja a napot és az asztalokat, a nyomtatott QR-kódok és a kampányok pedig a felületről cserélhetők.
- Rendszer
- Foglalási és vendégrendszer
- Időszak
- 2025. októbertől decemberig
- Állapot
- Élesben
- Legutóbb bővítve: 2026. október
- Technológia
- Next.js, TypeScript, PostgreSQL (Supabase), Konva, Resend
Egy este a térképen
Asztalok, állapotok és egy várólista egy helyszín estéjén. A foglalások kitaláltak.
Terasz, péntek este
- T12 fő19:00
- T22 fő
- T34 fő19:30
- T44 fő18:30
- T56 fő20:00
- T62 fő
- T74 fő20:30
- T88 fő21:00
Várólista
- 20:30
- 21:00
Amit a csapatnak meg kellett oldania
Egy foglalási rendszer kellett több helyszínre, a vendég űrlapjától a személyzet asztaltérképéig.
Két helyszín egy olyan weboldalon foglal, amelyet nem mi üzemeltetünk, és a foglalásnak attól függetlenül kell működnie.
A kártyákat egyszer nyomtatják ki, a mögöttük álló cél és kampány pedig bármikor cserélhető.
Amit építettünk
Foglalás három helyszínre
Egy rendszer viszi a Habibi Skybar, a Habibi Vár és a Habibi Nagymező foglalásait. A vendég ugyanazokat a szabályokat, üzeneteket és visszaigazolást kapja, bármelyik űrlapon foglal.
Beágyazott foglaló egy másik oldalon
A Habibi Vár és a Habibi Nagymező a habibibudapest.com oldalon foglal, amelyet nem mi üzemeltetünk. Az oldal egy elemet és egy szkriptet tölt be tőlünk, iframe nélkül, és a nyelvet az oldaltól veszi.
Várólista
Ha nincs szabad asztal, a vendég várólistára kérheti magát. Amikor felszabadul egy hely, a személyzet ajánlatot küld, amit a vendég az e-mailből fogad el vagy utasít el.
Visszaigazoló e-mail
A vendég e-mailben kapja a visszaigazolást, benne a lemondás linkjével és egy naptárfájllal.
Személyzeti felület
Helyszínenként a nap foglalásai, az érkezők, a szabad asztalok, a vendéglista és a statisztika. A helyszín adminja a saját helyszíneit kezeli, a statisztika-szerepkör csak a számokat látja.
Ültetési térkép szerkesztővel
Az asztalokat ugyanazon a térképen mozgatják, forgatják és méretezik át, amelyen az esti foglalásokat látják, így a szerkesztő és az élő térkép nem mondhat mást. Területek, a hátterükben alaprajz.
Cserélhető QR-kódok
A kártyát egyszer nyomtatják ki. Hogy hová visz, oldalra, külső linkre vagy feltöltött PDF-re, azt a felületről bármikor át lehet állítani.
Kuponkampány
A vendég beolvas egy kártyát, egyszer megadja az e-mail-címét, és pár perc múlva megkapja a kupont. A kampány kódja, képe, szövege és érvényessége a felületről szerkeszthető, új kiadás nélkül.
Hogyan működik
Egy foglalás útja
Űrlap vagy beágyazott foglaló
A vendég a habibi.hu vagy a habibibudapest.com oldalán foglal.
Szabad asztal
A rendszer a nyitvatartáson belül keres asztalt, és egy lépésben lefoglalja. Ha nincs, várólista.
Visszaigazolás
E-mail a lemondás linkjével és egy naptárfájllal.
Személyzet
A foglalás megjelenik a helyszín napi listáján és az ültetési térképen.
Kártyától a kuponig
Nyomtatott kártya
A kódon egy állandó cím, ami nem változik.
Kampány
A cím mögött a felületen beállított kampány: kód, kép, szöveg, érvényesség.
Kupon
Egy cím egyszer: a kupon e-mailben érkezik.
Hogyan építettük
Korlátok a nyilvános foglalón
Csak engedélyezett oldalakról lehet foglalni. Címenként tíz percben öt foglalás a keret, rejtett mező és a kitöltés ideje szűri a botokat, és felső határ van e-mail-címenként, helyszínenként egy estére és összesen.
Hiba esetén megáll
Ha a számláló vagy egy korlát nem olvasható, a foglalás nem megy át, és a vendég azt az üzenetet kapja, hogy hívja a helyszínt.
Nincs tárolt IP-cím
A keretek kulcsa a cím sózott lenyomata, nyers cím nem kerül az adatbázisba.
Asztalkiosztás egy lépésben
A szabad asztal kiosztása egyetlen atomi adatbázis-függvény, amit csak a szerver hívhat, így a nyilvános kulccsal nem lehet megkerülni az ellenőrzéseket.
Térkép-mentés ütközés nélkül
A mentés ugyanazt a helyszín-zárat veszi, mint a foglalás, egy tranzakcióban ír, és ha közben más mentett, semmit nem ír. Asztalt nem törlünk: a kivont asztal a korábbi foglalásai miatt megmarad.
Tesztelt foglalási folyamat
Az egységtesztek a valódi lépéssort futtatják egy hamis adatbázison, és azt is ellenőrzik, hogy minden elutasítás írás előtt történik.
Több helyszín, egy rendszer kellene nálatok is?
Írd le, hol foglalnak ma a vendégeid, és mit lát ebből a csapat. Abból indulunk, amit leírsz.
Egy ember olvassa el, amit küldtél, és konkrétan arra válaszol.