Kompletný systém pre správu inteligentných zámkov, PIN kódov a RFID kariet
Verzia 2.5 | Hotel & Apartment ReadyVILKA Access Management System je komplexná webová aplikácia pre správu inteligentných zámkov značky TTLock. Systém je určený pre ubytovacie zariadenia (hotely, penzióny, apartmány, Airbnb), kancelárske budovy a akékoľvek priestory, kde je potrebné spravovať prístupy viacerých osôb.
Systém je postavený na moderných webových technológiách s dôrazom na bezpečnosť a výkon.
Systém je rozdelený do niekoľkých hlavných modulov, ktoré pokrývajú celý proces správy prístupov.
Systém používa relačnú databázu MySQL s nasledujúcimi hlavnými tabuľkami:
| Stĺpec | Popis |
|---|---|
lock_id | Primárny kľúč z TTLock API |
lock_name | Názov zámku z API |
lock_alias | Vlastný názov (napr. "Izba 101") |
electric_quantity | Stav batérie (0-100%) |
has_gateway | Či je pripojený cez gateway |
is_public | Verejné dvere (prístup pre všetkých) |
| Stĺpec | Popis |
|---|---|
pincode | PIN kód (4-8 číslic) |
pincode_name | Meno hosťa |
access_type | 'guest' alebo 'employee' |
start_date / end_date | Platnosť prístupu |
keyboard_pwd_id | ID v TTLock API |
| Stĺpec | Popis |
|---|---|
card_number | Číslo karty (API formát) |
original_card_number | Pôvodné číslo karty |
guest_name | Meno hosťa |
card_id | ID v TTLock API |
customer_id, čo umožňuje oddelenie dát pre rôznych zákazníkov v multi-tenant architektúre.
Systém je plne integrovaný s oficiálnym TTLock API, čo umožňuje priamu komunikáciu s inteligentnými zámkami.
| Endpoint | Funkcia |
|---|---|
get_all_locks | Získanie všetkých zámkov z TTLock účtu |
unlock | Diaľkové otvorenie zámku |
create_pincode | Vytvorenie nového PIN kódu |
get_random_pincode | Generovanie náhodného PINu (odporúčané) |
change_pincode | Zmena platnosti PINu |
delete_pincode | Zmazanie PIN kódu |
add_card | Priradenie karty k zámku |
change_card_period | Zmena platnosti karty |
delete_card | Odstránenie karty |
get_cards | Zoznam kariet pre zámok |
UI je navrhnuté s dôrazom na prehľadnosť a rýchlu orientáciu. Farby majú svoj význam.
┌─────────────────────────────────────────────────────────────────────────┐
│ HLAVIČKA SYSTÉMU │
├─────────────────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ FILTRE A VYHĽADÁVANIE │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ ŠTATISTIKY │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ KALENDÁR ZÁMKOV │ │
│ │ ┌────────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐ │ │
│ │ │ Izba │ Po │ Ut │ St │ Št │ Pi │ So │ Ne │ Po │ Ut │ St │ │ │
│ │ │ Izba101│ ██ │ │ ██ │ ██ │ │ │ │ │ │ │ │ │
│ │ │ Izba102│ │ │ │ │ ██ │ ██ │ │ │ │ │ │ │
│ │ └────────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────┐ ┌─────────────────────────────────────┐ │
│ │ FORMULÁR PRE PRÍSTUP │ │ BOČNÝ PANEL (AKCIE) │ │
│ └──────────────────────────┘ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
| Funkcia | TTLock System | Manuálne kľúče | Klasické RFID |
|---|---|---|---|
| Dočasné prístupy | Automatické | Nutnosť vrátiť kľúč | Áno |
| Diaľkové ovládanie | Áno | Nie | Len lokálne |
| História vstupov | Automatická | Žiadna | Áno |
| Náklady na kartičky | Nízke (virtuálne PINy) | Vysoké (straty) | Stredné |
| Check-in bez recepcie | Áno (PIN zaslaný) | Nie | Vyžaduje kartu |
| Správa cez web | Áno | Nie | Obmedzená |
| Multi-zariadenie | Áno | Nie | Áno |
| Vlastnosť | Implementácia |
|---|---|
| Autentifikácia | Session-based prihlásenie |
| Autorizácia | Kontrola customer_id pri každom požiadavku |
| Validácia vstupov | Kontrola dĺžky PINu, formátu karty, dátumu |
| SQL injection prevencia | Prepared statements v PHP |
| XSS prevencia | htmlspecialchars() na výstupe |
| CORS | API endpointy chránené session |
| Zálohovanie | Dáta sú centralizované v databáze |
| Audit log | História vstupov samostatná stránka |