Database Tables
devices
Main device table.
| Column | Type | Nullable | Description |
|---|
| id | BIGINT | No | Primary key |
| name | VARCHAR(128) | No | Device display name |
| uniqueid | VARCHAR(128) | No | Unique device identifier (IMEI) |
| status | VARCHAR(128) | Yes | online/offline/unknown |
| lastupdate | DATETIME | Yes | Last position update |
| positionid | BIGINT | Yes | Latest position ID |
| phone | VARCHAR(128) | Yes | SIM phone number |
| model | VARCHAR(128) | Yes | Device model code |
| contact | VARCHAR(512) | Yes | Contact info |
| category | VARCHAR(128) | Yes | Device category |
| disabled | INTEGER | No | 0=enabled, 1=disabled |
| expirationtime | DATETIME | Yes | Account expiration |
| groupid | BIGINT | Yes | Device group ID |
| calendarid | BIGINT | Yes | Calendar ID |
| attributes | TEXT | Yes | JSON attributes |
device_list
Token tracking for device claiming.
| Column | Type | Nullable | Description |
|---|
| id | BIGINT | No | Primary key |
| token | VARCHAR(128) | No | Claim token (unique) |
| status | VARCHAR(32) | No | free/claimed/removed |
| model | VARCHAR(128) | Yes | Device model code |
| imei | VARCHAR(128) | Yes | Device IMEI |
| deviceuniqueid | VARCHAR(128) | Yes | Device unique ID |
| sim | VARCHAR(128) | Yes | SIM number |
| createdat | DATETIME | Yes | Token creation time |
| claimedat | DATETIME | Yes | When claimed |
| claimedby | BIGINT | Yes | User ID who claimed |
user_device
User-device permission model with sharing support.
| Column | Type | Nullable | Description |
|---|
| userid | BIGINT | No | User ID (PK) |
| deviceid | BIGINT | No | Device ID (PK) |
| is_owner | INTEGER | No | 1=owner, 0=shared user |
| shared_by | BIGINT | Yes | User ID who shared this device |
| permission_position | INTEGER | No | Can view positions (default 1) |
| permission_events | INTEGER | No | Can view events (default 1) |
| permission_geofences | INTEGER | No | Can view geofences (default 1) |
| permission_notifications | INTEGER | No | Receives notifications (default 1) |
| permission_commands | INTEGER | No | Can send commands (default 0) |
| created_at | DATETIME | Yes | When access was granted |
Model Constants
Device Status
online - Device connected
offline - Device disconnected
unknown - Status unknown
DeviceList Status
free - Available for claiming
claimed - Already claimed by user
removed - Previously claimed, now deleted
Supported Models
| Code | Display Name |
|---|
| S21L | Visla S21L |
| G11-SE | Visla G11-SE |
| V6C | Visla V6C |
| R12L | Visla R12L |
| P5 | Visla P5 |
| S26L | Visla S26L |
| C003 | Visla C003 |
| C009 | Visla C009 |
| GX02 | Visla GX02 |
| W18 | Visla W18 |
UniqueId Mapping Rules
| Model | UniqueId Source |
|---|
| S21L | deviceuniqueid without first 3 chars |
| G11-SE | imei directly |
| Others | deviceuniqueid or imei fallback |