Áttekintés
A WFShift egy webes beosztáskezelő és munkaidő-nyilvántartó rendszer, amelyben az adminisztrátor(ok) elkészítik és publikálják a beosztásokat, a munkavállalók pedig weben vagy mobilon megtekintik azokat, illetve mobilról rögzíthetik a munkaidőt.
- Irányítópult (munkaerő monitor, státuszok)
- Cégadatok: telephelyek, pozíciók, juttatások, céges dokumentumok
- Alkalmazottak: dolgozók kezelése, új dolgozó regisztrációja
- Beosztás-jelölések (műszak-/eseménytípusok)
- Beosztás: napi/heti/havi nézet, automatikus generálás
- Szabadságok: kérelmek jóváhagyása, keretek nyilvántartása
- Beosztás megtekintése
- Profiladatok karbantartása (személyes adatok, dokumentumok)
- Értesítési beállítások (Push/E-mail)
- Mobil eszköz párosítása (QR token)
- Mobilon: munkaidő rögzítés (kezdés/befejezés), OTP kód lekérése
A képernyőképek a WEB UI és mobil (PWA) screenshotokból készültek, ezért a színek és elrendezés az aktuális verziót tükrözik.
Szerepkörök és bejelentkezés
Admin és dolgozói belépés
A belépő oldalon két belépési mód érhető el: Admin Belépés és Dolgozói belépés.
MFA / OTP (többlépcsős azonosítás)
Minden esetekben belépés után a rendszer OTP kódot kér (MFA). A kód érkezhet push értesítésben (mobilra) és / vagy e-mailben – ezt a felhasználó a beállításaiban tudja szabályozni. Belépéskor biztonsági okokból az IP címet is tárolja a rendszer.
Admin felület
Az admin felület a cég teljes beosztás- és keretkezelését biztosítja (dolgozók, műszaktípusok, beosztás, szabadság).
Irányítópult (Dashboard)
Az Irányítópult gyors képet ad az aktuális állapotról: dolgozói létszám / licenc slotok, pozíciónkénti feltöltöttség, aktív dolgozók ma, távollévők, pihenőnaposok, illetve iroda vs home office megoszlás.
Cégadatok kezelése
A Cégadatok menüpontban több, egymással összefüggő törzsadat kezelhető:
- Telephelyek (név, cím, létszám)
- Pozíciók & Alapbérek (bruttó bér, típus, állomány: akt./terv)
- Juttatások (csoport, bruttó/nettó érték)
- Cégdokumentumok (sablonok és szabályzatok feltöltése)
- Cég alapadatok és Banki információk
- Licenc & Előfizetés státusz
Szabályzat és Dokumentumok kezelése generálása
Alkalmazottak kezelése
Az Alkalmazottak menüpontban a dolgozók listája, pozíciója, felettese (manager) és státusza látszik. A szerkesztés ikonnal módosítható, a törlés ikonnal archiválható/eltávolítható.
Itt érhető el az Új munkavállaló regisztrációja szekció is (meghívás / regisztráció indítása).
Beosztás-jelölések (típusok)
A beosztás cellákban / sávokban megjelenő típusokat (pl. Iroda, Home Office, Onsite, Ügyelet) a Beosztás jelölések menüpont alatt lehet kezelni.
- Kód – rövid azonosító
- Szín – megjelenés a naptárban
- Aktív – használható-e a típus
- Fizetett és Szorzó – bér-/munkaidő számítások alapja (ha használjátok)
Beosztás
A Beosztás menüpontban több nézet közül választhatsz: Napi, Heti, Havi, Táblázat. A felső nyilakkal a dátum/tartomány léptethető.
A napi nézet időskálán (timeline) jeleníti meg az aznapi műszakokat.
Automatikus heti beosztás generálása
A ⚡ Auto Generate funkció a kiválasztott hétre automatikusan elkészíti a beosztást az előre megadott szabályok szerint. A működés két lépésből áll:
- Beosztás beállítások: a generálási paraméterek megadása
- Előnézet: a generált hét megtekintése, majd Mentés
1) Beosztás beállítások
A Beosztás beállítások ablakban állítható többek között:
- HO napok száma – egy héten hány nap legyen Home Office (ahol engedélyezett)
- Műszakok száma – napi beosztásban hány időablak/shift legyen
- Munkanap kezdete / vége – aktív munkaidő sáv alapértelmezése
- Munkanapok – mely napok számítanak munkanapnak
- Office napok – mely napok legyenek irodai napok
- Fix HO nap – fixen home office napként kijelölt napok
- Áthelyezett munkanap HO nap – ha pipálva van, az áthelyezett munkanapokat is HO-ként kezeli
2) Előnézet és mentés
A generálás után egy előnézeti ablak nyílik meg. Itt még ellenőrizhető a hét teljes beosztása. A Mentés rögzíti a generált beosztást.
Szabadságok
A Szabadságok modulban kezelhetők a szabadságkérelmek és a szabadságkeretek:
- Jóváhagyásra váró kérelmek – elfogadás vagy elutasítás
- Szabadság összesítő – éves keret, felhasznált és elérhető napok
- Negyedéves kihasználtság – Q1–Q4 bontás
- Havi jóváhagyott szabadságok – havi összesítés
Org-Chart
A Org-Chart modulban a szervezet felépítést érhetjük el a következő funkciókkal:
- Aktuális beosztás – Szinekkel is jelölt beosztás kategória szerint
- Poziciók – szervezeten belüli elhelyezkedés és munkakör jelölések jelölése
- Csoport hierarchia Senior - Medior - Juniór jelölések azonos munkakörben
- Munkakör leírás – a dolgozói kártya hátoldalán részletesebb leírás elérhető
- Export – Lehetőség van Exportálásra Kép, PDF formátumban vagy közvetlenül nyomtatni,
Céges eszközök kezelése
Integrációk
A Integrációk modulban kezelhető integrációk. A Play ikonnal tesztelhetjuk amenyiben Webhook url-t állítottunk be.
A típusai:
- API – A RESTAPI leírásról lejebb részletezve.
- Slack – Slack integráció akár csatornára akár egy felhasználó felé.
- Teams – Csoport jelzések integrációja megadott csatornára, site ra.
- CRM – CRM integrációk
- Egyébb – egyébb integrációk / egyedi integrációk
URL:
- Az integráció URL címe
Key:
- Kulcs string
Authentikációk:
- none – kulcsnélkül
- API KEY – A RESTAPI hoz kulcsok létrehozása
- Baerer – BAERER kulcs tipus
- HMAC – HMAC (Hash-based Message Authentication Code) titkosítási mód
- Basic – Basic uthentikáció
Meghívás
A Meghívás modulban lehetőség van a dolgozót meghívni és így ő neki kell ki tölteni az adatait.
Dolgozói web felület
A dolgozó a weben a saját adatait és beosztását látja, valamint itt tudja a mobil eszközét párosítani és az értesítési csatornákat beállítani.
Profilom
A Profilom oldalon a személyes adatok, vészhelyzeti kontakt, szabadságkeret összesítő, illetve a profilkép kezelhető. Több fül (pl. Család, Lakcím, Beosztás adatok, Profil & Belépés, Személyes Dok.) segíti a rendezést.
Értesítési beállítások
A Beállítások menüpontban kapcsolhatók a push és e-mail értesítések: Push OTP, Push New Shift, Push Shift Start, illetve ezek e-mail megfelelői.
Mobil párosítás (token / QR)
A Mobil menüpontban a rendszer mobil tokent generál, amit a mobil PWA-ban be lehet olvasni. Párosítás után a mobilon elérhető funkciók listája is megjelenik.
Mobil PWA (webapp)
A mobil felület egy böngészőből használható PWA (webapp), amely a dolgozók napi munkáját segíti: beosztás megtekintés, munkaidő rögzítés, OTP kód, értesítések.
Párosítás és push
Első használatkor a webes felületen generált QR kódot olvasd be a mobil appal. Ha a push értesítések nem érkeznek meg, használd az Értesítések újraregisztrálása funkciót.
Beosztás megtekintése
A mobil Beosztás nézetben havi naptárban láthatod a napokat, és egy napra koppintva a részleteket. A Vissza a mai naphoz gomb gyors visszaugrást ad a mai dátumra.
Munkaidő rögzítése (kezdés / befejezés)
A Munkaidő képernyőn a tervezett beosztásod alapján tudod elindítani és leállítani a munkaidő rögzítést. A rögzítés során a rendszer GPS adatokat is használhat (telepítési beállítástól függően), ezért a helymeghatározás engedélyezése javasolt.
OTP azonosító
Az OTP képernyőn megjelenő kódot a külső hitelesítés (MFA) során kell megadni. Ha „Nincs kód” látszik, akkor az OTP még nem aktív vagy nincs aktuális kérés.
Értesítések és beállítások
A mobil Beállítások menüpontban ugyanazok az értesítési csatornák kapcsolhatók, mint a weben: push és e-mail OTP / új műszak / műszakkezdés.
GYIK / hibaelhárítás
Nem érkeznek push értesítések a mobilra
- Ellenőrizd, hogy a mobil menüben az Értesítések kezelése / Beállítások alatt engedélyezve vannak-e a push kapcsolók.
- Használd az Értesítések újraregisztrálása gombot.
- Böngésző/PWA értesítés engedélyek: Androidon a böngésző/alkalmazás értesítései legyenek engedélyezve.
Belépéskor OTP kódot kér, de nincs kódom
- Nézd meg a mobilon az OTP menüpontot.
- Ha e-mail OTP is engedélyezve van, ellenőrizd a postaládát (és a SPAM mappát).
- Ha továbbra sincs kód, kérj segítséget az adminisztrátortól (értesítési csatornák beállítása).
Auto Generate után furcsa / hiányos a beosztás
- Ellenőrizd a Beosztás beállítások paramétereket (munkanapok, office napok, fix HO napok, HO napok száma).
- Ne feledd: a már meglévő manuális bejegyzések megmaradhatnak, így az „átfedések” inkább a korábbi rögzítésekből adódnak.
- Ünnepnapok és áthelyezett munkanapok befolyásolhatják, hogy mi számít munkanapnak.
Céges dokumentumok hiányoznak
Az admin dashboard figyelmeztetést ad, ha kötelező céges dokumentumok nincsenek feltöltve. Menj a Cégadatok menüpontra, és töltsd fel a sablonokat/szabályzatokat a listában.
Általános Információk
Minden kéréshez kötelező az alábbi HTTP fejléc használata az azonosításhoz:
X-Token: 6f9a2b8c4d1e7*****************0b3cContent-Type:
application/json
1. Adatbeküldés (Arduino / Hardver)
Az eszköz minden kártyaolvasáskor az alábbi struktúrával küldi el az adatokat:
/CardReader.php
Mit vár az Api és mit vár az Adatbázis
reader_id => string => varchar(50) reader_address => string => varchar(50) timestamp => string => datetime card_number => string => varchar(50)Ezt a JSON-t küldi az Arduino MCU -ja:
{
"reader_id": "READER_01",
"reader_address": "Főbejárat",
"timestamp": "2025-05-20 08:15:00",
"card_number": "47290695"
}
Válasz: {"status": "success", "db_id": 123}
Ha az Arduino MCU bármi más választ kap mint ami tartalmazza a status : success értéket, vagy nem kap választ addig nem tekinti feldolgozottnak és marad a QUEUE ban, és újra küldi.
2. Lekérdezési Paraméterek
| Paraméter | Típus | Leírás |
|---|---|---|
action |
String | Kötelező riport lekéréshez: "get_report" |
from_date |
Date | Kezdő dátum (ÉÉÉÉ-HH-NN). Alapértelmezett: ma. |
to_date |
Date | Záró dátum (ÉÉÉÉ-HH-NN). Alapértelmezett: from_date. |
card_number |
String | Opcionális szűrés egy konkrét kártyára. |
reader_address |
String | Opcionális szűrés egy konkrét helyszínre. |
Példa Lekérdezések
POST
1. Mai napi összesített riport
Visszaadja a mai nap összes mozgását kártyánként csoportosítva.
{
"action": "get_report"
}
2. Konkrét kártya keresése egy időszakban
Egy adott kártya összes adata két dátum között.
{
"action": "get_report",
"from_date": "2024-12-01",
"to_date": "2024-12-31",
"card_number": "47290695"
}
3. Adott helyszín forgalma egy adott napon
{
"action": "get_report",
"from_date": "2024-12-20",
"reader_address": "Főbejárat"
}
Válasz Formátum (Response)
A sikeres válasz tartalmazza a kártyánkénti és naponkénti összesítést, alatta a részletes bejegyzésekkel (sub-logs).
{
"status": "success",
"report": [
{
"nap": "2024-12-20",
"card": "47290695",
"location": "Főbejárat",
"osszesito": {
"elso_leolvasas": "2024-12-20 08:05:12",
"utolso_leolvasas": "2024-12-20 16:45:30",
"leolvasasok_szama": 4,
"eltelt_ido": "8:40"
},
"bejegyzesek": [
{ "DateTime": "2024-12-20 08:05:12", "ReaderID": "R01" },
{ "DateTime": "2024-12-20 16:45:30", "ReaderID": "R01" }
]
}
]
}