A megerősítő linkre először a levélszűrő kattint
Saját időpontfoglaló a honlapom mellé: a látogató kiválaszt egy félórát, a postafiókjából megerősíti, és mindketten megkapjuk a Meet-linket és a naptárbejegyzést. A legtöbb döntést a levelek hozták.
- Írta
- Karner Kristóf — önálló fejlesztő, Budapest
- Frissítve
- 2026. november 6.
„csaló semmiféleképpen ne tudjon lefoglalni több időpontot, szűrjük ki, hogy csak valódi emberek és csak egyszer tudjanak foglalni” Karner Kristóf, 2026. október 31.
A foglaló az idopont.kristofkarner.com címen fut, 2026. október 29. óta. PHP-ban és SQLite-ban készült (egyetlen fájlban álló adatbázis), keretrendszer és külső csomag nélkül. Egy kis szkript teszi folyékonnyá a választást, és ez választja szét az embert a géptől: böngészni nélküle is lehet, foglalni nem.
Előtte egy ingyenes foglaló élt a honlapomon. 2025 nyarán egy későbbi megrendelőm azon át foglalt hívást, előzetes levélváltás nélkül. Ebből annyit tanultam, hogy van, aki inkább beszél, mint ír, és őt nem akarom elveszíteni. A saját foglaló ezért arról szól, hogy egy foglalás se vesszen el csendben.
Amit a levelek döntöttek el
A megerősítés egy gomb, nem egy link. Sok levelező biztonsági szűrője minden linket megnyit, mielőtt az ember tenné, hogy megnézze, hova visz. Ha a megerősítő link maga erősítene meg, a foglalást a szűrő hagyná jóvá. Ezért a levélben álló link csak egy lapot nyit, rajta egyetlen gombbal, és csak a gomb megnyomása (egy űrlapküldés) változtat bármin. A kezelőfelület belépő linkje ugyanígy működik.
Küldés után a lap továbblép. A telefonos Safari újratölti a lapot, amikor a látogató a levelezőből visszatér. Ha a foglaló lap maradna előtte, az újratöltés másodszor is elküldené az űrlapot. Ezért küldés után egy másik lap jön (átirányítással), és az azt is kiírja, hogy a levél a spamben is lehet.
Ami nem jön vissza, arról tudok. A választott időpontot két óráig tartom a látogatónak. Ha addig nem erősíti meg, a foglalás nem tűnik el szó nélkül: megkapom az adatait. Lehet, hogy a megerősítő levél a spambe ment, vagy elírta a címét. Ha nem írok neki, mindkét esetben elveszett egy ügyfél.
Mindkét fél ugyanarról tud. A megerősítés után a látogató megkapja a Meet-linket, egy lemondó linket és egy naptárfájlt (.ics), iPhone-on a telefon saját naptárát kínálva elsőként. Én minden adatot megkapok, és ha válaszolok, a levél egyenesen neki megy. Két órával a hívás előtt emlékeztető megy, hacsak nem pár órával előtte foglalt.
Lemondani és áthelyezni a levélből lehet, korlátokkal: legfeljebb kétszer, csak későbbi időpontra, és a hívás előtti határidőn belül már nem. Harminc nappal a hívás után a foglalás minden nyoma törlődik.
A naptár, amit nem kell kitölteni
Az első változatban minden napot külön ki kellett tölteni. Azt kértem, hogy „csak azokat a napokat kelljen szerkesztenem, amikor máshogy kell beosztani”. Azóta egy állandó heti rend él, ami nem jár le, és csak az eltérő nap kerül be kivételként. Magyar munkaszüneti napra nem lehet foglalni: a listát a foglaló a Munka Törvénykönyve 102. §-a alapján maga számolja, a húsvéttal és a pünkösddel együtt, így évente nincs vele teendő.
Napi korlát sincs. Helyette azt kértem, hogy egy beszélgetés vége után legalább egy óráig ne legyen másik. A szabály mindkét irányba számít: egy hívás elé is egy óra kell, különben egy korábbi foglalás belefutna. Hétköznapra egy nappal, hétvégére két nappal előbb lehet foglalni, hogy időben tudjak róla. Ha egyszerre túl sokan jelentkeznek, egy kapcsoló lezárja a foglalást: ilyenkor a lap kiírja, hogy nem foglalható időpont, és e-mailt vár. A már lefoglalt hívások megmaradnak.
A választó, ami nem mozdul
Telefonon a nap és az időpont egy képernyőn választható, újratöltés nélkül. Az időpontok fix cellákban állnak: a napváltás csak azt módosítja, melyik szabad, így a lap nem ugrik. Egyetlen keret halad a következő napra vagy időpontra, és ha menet közben újra érintem, onnan folytatja, ahol éppen jár. Szkript nélkül is működik, csak akkor a választás lapváltás.
Belépés jelszó nélkül
A kezelőfelületre nincs jelszó, amit ki lehetne lesni vagy ki lehetne találni. A belépés egy egyszer használható link, ami csak az én címemre megy, és ott is egy gomb mögött áll. A saját eszközömön bent maradhatok: a munkamenet egy olyan sütiben él, amit szkript nem olvas, és ami nem kerül a címsorba, így se a böngésző előzményeibe, se egy képernyőképre. Egy gombbal kiléphetek minden eszközről. A látogató semmilyen sütit nem kap.
A kezelő tetején egy naptár áll: négy hét, napról napra, szavakban. Egy nap a helyén nyílik ki, a félórái egyenként kipipálhatók, és a mentés újratöltés nélkül megy.
Visszaélés ellen
A foglaló nyilvános űrlap, ami levelet küld. Egy teleírt naptár vagy egy elárasztott idegen postafiók az én domainem hírnevét is viszi. Ezért egy ember egy hívást foglalhat, és csak valódi ember. A foglalás egy idegennek azt sem árulja el, hogy egy címhez van-e már hívás: az elutasítás oka csak levélben megy. A pontos szabályokat nem írom le, mert azokból a kerülőút is kiolvasható. Minden új funkció azzal kezdődik, hogyan lehetne visszaélni vele.
Amit mér
Egy névtelen eseménynapló számolja, mi történik: honnan jön a látogató, meddig jut a lapon, hány foglalás erősödik meg, jár le, mondódik le vagy kerül át, és melyik hívásra nem jött senki. IP-cím, e-mail-cím és név nincs benne, ezért időkorlát nélkül megmaradhat. A honlap foglalólinkjei forrást visznek magukkal, így látom, melyik lapról jönnek a hívások. Havonta egy összesítő levél is jön.
Egy rész a honlapból
A foglaló külön aldomainen fut, mert a honlapom statikus: a szervere minden PHP-t tilt, és ha a foglaló hibázna, ne érje el a honlap fájljait. A fejlécet, a láblécet, a stílust és a betűket egy szkript emeli át a honlapról, így a foglaló a honlap része, nem a hasonmása.
A foglaló csak magyarul van, mert a hívások is magyarul mennek. Ha valaki Magyarországról nyit meg egy angol lapot, egy bezárható magyar mondat ajánlja neki a magyar oldalt és a foglalást. Ehhez a foglaló egy kérdésre felel: magyarországi-e a látogató címe. A választ a RIPE NCC (az európai IP-címek nyilvántartója) nyilvános adatából számolja, nem tárol semmit, és nem kérdez meg harmadik felet.
A teljes folyamatot 368 gépi ellenőrzés futtatja végig, kézzel léptetett órával: a foglalástól a lemondáson és az emlékeztetőn át a törlésig.
Amiben én döntöttem
AI-val építettem. Én döntöttem el, mit kell tennie, és hogyan ellenőrzöm. A foglaló csak magyar, az angol lapokon nincs foglalás. A választó első változata után azt kértem, legyen folyékonyabb, és gondoljuk át az egészet. Egy változatban a lap a választás után magától az űrlaphoz csúszott; ez félreértést okozott, ezért kikerült, és a látogató maga görget. Az első hívás ingyenes, és a szűrés ne riassza el a valódi ügyfelet: ha egy szabály ember útjába áll, az e-mail mindig nyitva van.
A többi rendszerem és a köztük futó kapcsolatok a Saját rendszerek térképén vannak. Hogy mit kap ebből egy vállalkozás, az ügyfeleknek szóló írásban áll.
Kérdések a témáról
Miért nem egy kész foglaló?
A kész foglaló jó választás, ha elég, amit tud. Nekem a saját domainemen kellett, a honlapom kinézetével, süti és idegen márka nélkül, és úgy, hogy a meg nem erősített foglalásról is tudjak.
Más honlap mellé is odakerülhet?
Igen, külön aldomainen, a honlap kinézetével. Más fejlesztő oldalába vagy webshopmotorba építést felmérés után, egyedi áron vállalok.
Mennyibe kerül egy ilyen foglaló?
120 000 Ft, és havi 12 000 Ft, ami a gondozást is tartalmazza. Egy újabb időponttípus vagy naptár 30 000 Ft. Az árak véglegesek, ÁFA nem terheli őket.
Kell miatta sütibanner?
A látogató nem kap sütit, ezért a foglaló miatt nem kell. Az adatkezelési tájékoztatóba viszont bele kell írni, mit tárol, mire, és meddig.