Ugrás a tartalomra

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.

HabibiHabibi Skybar · Habibi Vár · Habibi Nagymező
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.

Illusztráció, kitalált tartalommal
Foglalások

Terasz, péntek este

8 asztal · nyitva 18:00 és 02:00 között

  • T12 főFoglalt19:00
  • T22 főSzabad
  • T34 főFoglalt19:30
  • T44 főMegérkezett18:30
  • T56 főFoglalt20:00
  • T62 főSzabad
  • T74 főAjánlat kiküldve20:30
  • T88 főFoglalt21:00

Várólista

  1. 4 fő20:30Ajánlat kiküldve
  2. 2 fő21:00Asztalra vár

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

  1. Űrlap vagy beágyazott foglaló

    A vendég a habibi.hu vagy a habibibudapest.com oldalán foglal.

  2. Szabad asztal

    A rendszer a nyitvatartáson belül keres asztalt, és egy lépésben lefoglalja. Ha nincs, várólista.

  3. Visszaigazolás

    E-mail a lemondás linkjével és egy naptárfájllal.

  4. 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

  1. Nyomtatott kártya

    A kódon egy állandó cím, ami nem változik.

  2. 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.

  3. 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.

Munkanapokon 24 órán belül válaszolunk. Hírlevelet nem küldünk.