Devices
{{ stats.deviceCount }}
{{ stats.onlineDevices }} online
License Plates
{{ stats.plateCount }}
Users
{{ stats.userCount }}
System Status
{{ systemStatusText }}
Device Status
| Device | Status | Last Heartbeat | Actions |
|---|---|---|---|
|
{{ device.device_name }}
{{ device.device_location || 'Unknown location' }}
|
Online Offline | {{ formatDate(device.last_heartbeat) || 'Never' }} |
Recent Events
-
{{ eventDescription(event) }}
{{ formatDate(event.timestamp) }}
All Devices
| Device | Type | Tenant | Status | Last Heartbeat | Registered | Actions |
|---|---|---|---|---|---|---|
|
{{ device.device_name }}
{{ device.device_location || 'Unknown location' }}
|
{{ device.device_type }} | {{ getTenantName(device.tenant_id) }} |
Online
Offline
DISABLED
PAYMENT SUSPENDED
|
{{ formatDate(device.last_heartbeat) || 'Never' }} | {{ formatDate(device.registered_at) }} |
|
Device Allowlist Management
Select Tenant
{{ tenant.name }}
{{ tenant.domain }}
Select Device
{{ selectedAllowlistTenant.name }}
{{ device.device_name }}
{{ device.device_location || 'No location' }}
{{ device.tenant_name }}
{{ selectedAllowlistDevice.device_name }} Allowlist
{{ selectedAllowlistDevice.device_location }}
| License Plate | Category | Make | Color | Added By | Added Date | Expires | Actions |
|---|---|---|---|---|---|---|---|
|
{{ plate.plate }}
|
{{ plate.plate_category }} | {{ plate.make || 'Any' }} | {{ plate.color || 'Any' }} |
{{ plate.added_by_name || plate.added_by_username || 'Unknown' }}
{{ plate.added_by_username }}
|
{{ formatDate(plate.added_at) }} |
{{ plate.expires_at ? formatDate(plate.expires_at) : 'Never' }}
Expires soon
|
Event Log
| Event Type | Description | User | Tenant | Device | Timestamp | Actions |
|---|---|---|---|---|---|---|
|
{{ formatEventType(event.event_type) }}
|
{{ eventDescription(event) }}
|
{{ event.details.user_info.username || 'System' }}
{{ event.details.user_info.full_name }}
{{ event.user || 'System' }}
|
{{ event.details.tenant_info.tenant_name || 'Unknown' }}
N/A
|
{{ getDeviceName(event.device_id) || 'N/A' }} | {{ formatDate(event.timestamp) }} |
Showing {{ ((eventsPage - 1) * eventsLimit) + 1 }} to {{ Math.min(eventsPage * eventsLimit, events.length) }} of {{ events.length }} results
User Management
| Username | Full Name | Tenant | Role | Status | Actions | |
|---|---|---|---|---|---|---|
|
{{ user.username ? user.username[0].toUpperCase() : 'U' }}
{{ user.username }}
|
{{ user.email }} | {{ user.full_name || 'N/A' }} |
{{ user.tenant_name || 'Unknown' }}
{{ user.tenant_domain || 'Unknown' }}
|
Admin User Super Admin | Active Disabled |
Tenant Management
| Name | Domain | Limits | Created | Status | Actions |
|---|---|---|---|---|---|
|
{{ tenant.name }}
|
{{ tenant.domain }} |
Users: {{ tenant.user_limit }}
Devices: {{ tenant.device_limit }}
Allowlist: {{ tenant.allowlist_limit }}
|
{{ new Date(tenant.created_at).toLocaleDateString() }} | {{ tenant.disabled ? 'Disabled' : 'Active' }} |
System Settings
System Information
Server Version
{{ serverStatus.version || 'Unknown' }}
Status
{{ systemStatusText }}
Last Updated
{{ formatDate(serverStatus.last_updated) || 'Unknown' }}
Uptime
{{ serverStatus.uptime || 'Unknown' }}
Maintenance
Create a backup of all system data including users, devices, and allowlists.
Clear event log history. This action cannot be undone.