Skip to content

Entities & Relations

ImLate manages several core entities. This page explains what they are and how they relate to each other.

Visitor

A Visitor is any person who can sign in or out of the facility.

FieldDescription
Name / SurnameFull name of the visitor
EmailContact email (optional)
Is StudentWhether this visitor is a student
GradeYear group / grade (students only)
ImagePhoto displayed on sign-in (max 5 MB)
iSAMS IDLink to the school ERP record (if synced)
School IDSchool-assigned identifier

Visitor Keys

Each visitor can have one or more RFID keys linked to their account. A key is identified by a unique key_id string.

  • Keys are used for scanning at the RFID reader terminal.
  • A key belongs to exactly one visitor.
  • Keys can be added or removed via the Admin Panel → Visitors.

INFO

ERP-synced visitors are read-only. If a visitor was imported from iSAMS (has an iSAMS ID), their profile fields (name, surname, year group, school ID) are managed by iSAMS as the single source of truth and cannot be edited in ImLate. Only RFID keys can be added or removed locally. See ERP Integration.

User

A User is an account that can log in to the Admin Panel.

FieldDescription
UsernameUnique login name
PasswordStored as a bcrypt hash
Name / SurnameDisplay name
Roleadmin (full access) or terminal (limited)
Is ActiveWhether the account can log in
Created ByID of the admin who created this user (nullable, used for terminal users)

INFO

Users and Visitors are separate entities. A User manages the system; a Visitor uses the sign-in terminals.

Track

A Track is a single sign-in or sign-out event.

FieldDescription
Visitor IDWhich visitor performed the action
Key IDWhich RFID key was used (if any)
Sign InWhether this is a sign-in (true) or sign-out (false)
Terminal IDID of the terminal device that recorded this event (for RFID scans)
Admin IDID of the admin who performed manual tracking (for manual entries)
Created AtTimestamp of the event

Schedule & Registration Periods

When ERP integration is enabled, the system uses Schedules to track registration periods throughout the day.

ConceptDescription
Registration PeriodA time window (e.g., 8:00–8:30 AM) during which attendance is recorded
Main RegistrationThe primary period (usually AM) used to determine if a student is late or absent
Lesson PeriodsAdditional periods for individual classes

Entity Relationships

Visitor ──┬── has many ──▸ Visitor Keys

          └── has many ──▸ Tracks (sign-in / sign-out events)

User (admin) ──── logs in to ──▸ Admin Panel
User (terminal) ── authenticates ──▸ RFID Terminal

Track ──── recorded by ──▸ Terminal (terminal_id) or Admin (admin_id)

Schedule ── contains ──▸ Registration Periods