# Entity Relationship Mapping (ERD) - BellOn

```mermaid
erDiagram
    USERS ||--o{ ATTENDANCE_LOGS : "mencatat absensi"
    USERS }|--|| ROLES : "memiliki akses"
    USERS ||--o{ LEAVE_REQUESTS : "mengajukan izin"
    USERS ||--o{ AUDIT_LOGS : "melakukan log"
    
    QR_CODES ||--o{ ATTENDANCE_LOGS : "titik koordinat"

    USERS {
        bigint id PK
        varchar username
        varchar password_hash
        varchar name
        int role_id FK
        int failed_login_attempts
        datetime lockout_until
    }

    ATTENDANCE_LOGS {
        bigint id PK
        bigint user_id FK
        enum status "Hadir, Terlambat, Alpha..."
        decimal latitude
        decimal longitude
        decimal gps_accuracy
        varchar ip_address
    }

    LEAVE_REQUESTS {
        bigint id PK
        bigint user_id FK
        enum category "Izin, Sakit, Dinas"
        date start_date
        varchar proof_image
    }

    QR_CODES {
        bigint id PK
        varchar qr_string
        decimal latitude
        decimal longitude
        int radius
    }
```

*Note: ERD di atas mewakili pondasi modul inti absensi, geo-fencing, roles, dan user base.*
