Ugrás a tartalomra
DarkCodeWebfejlesztés · Üzemeltetés
Időpontfoglalás

Dupla foglalás megelőzése: miért nem elég a szabad időpont kijelzése?

Szűcs Áron
•
2026. 10. 23.

Két ügyfél ugyanazt az időpontot választja? Ismerd meg a foglalási ütközések okát, a szerveroldali ellenőrzést és a konkurenciateszt célját.

A foglalási naptár megnyitásakor szabad időpont néhány másodperccel később már foglalt lehet. Két látogató egyszerre ugyanazt a listát láthatja, majd szinte azonos időben véglegesíthet. A felületen eltüntetett foglalógomb ezért önmagában nem akadályozza meg a dupla foglalást.

A véglegesítéskor újra ellenőrizni kell

A szervernek a mentés pillanatában is meg kell vizsgálnia a szolgáltatás, a munkatárs és az időintervallum érvényességét. A foglalás nem csak kezdési idő: a teljes időtartam és a szükséges puffer is ütközhet más bejegyzéssel. A 10:00–11:00 foglalással például a 10:30–11:30 időszak is átfed.

Az ellenőrzés és a rögzítés közötti versenyhelyzetet az adatmodellhez illő adatbázis-megoldással kell kezelni. Egy tranzakció használata önmagában nem bizonyítja, hogy az intervallumok védve vannak. A zárolás, az esetleges slotfoglalás és az egyediség együtt értelmezendő.

Mit vizsgáljon a konkurenciateszt?

  • Két párhuzamos kérés ugyanarra a munkatársra és időre.
  • Eltérő kezdési idővel, de átfedő időtartammal érkező kérések.
  • Manuális adminfoglalás és vendégfoglalás egy időben.
  • Duplán elküldött kérés és ismételt kattintás.
  • Lejáró ideiglenes foglalás, ha van ilyen működés.
  • Szünet vagy távollét határára eső szolgáltatás.

A vesztes kérés is kapjon használható választ

Ha egy másik ügyfél gyorsabb volt, az oldal ne adjon általános hibát és ne veszítse el fölöslegesen a megadott adatokat. Jelezze, hogy az időpont közben betelt, és kínáljon friss választási lehetőséget. A sikeres visszaigazolás kizárólag ténylegesen létrejött foglaláshoz tartozzon.

Az értesítő levél küldésének hibája külön kérdés: emiatt ne jöjjön létre második foglalás egy újrapróbáláskor. A foglalás azonosítója és állapota legyen visszakereshető az adminban.

A párhuzamos mentésekhez választott adatbázis-viselkedést a MySQL zárolási dokumentációjával és a tényleges izolációs beállításokkal együtt szükséges ellenőrizni.

Rendszerválasztáshoz lásd az időpontfoglaló-ellenőrzőlistát. A DarkCode Booking bevezetése előtt is szükséges a konkrét tárhelyen végzett működési próba.

Segítségre van szükséged?

Ha hasonló kihívással küzdesz, vagy egyedi fejlesztést szeretnél, beszéljük át a részleteket.

Ajánlatot kérek
Telefonálok Visszahívást kérek