title: “Company Attendance — Absensi Perusahaan” description: “Manajemen absensi perusahaan dengan geofence multi-lokasi, shift, mirror camera, dan export CSV di SNISHOP ERP.”
Company Attendance — Absensi Perusahaan

Arsitektur
Akses Halaman
URL:/company-attendance
Tiga Sub-Tab
Entitas: CompanyAttendance
Geofence Validation
Sistem menggunakan Haversine formula untuk memvalidasi jarak antara posisi GPS karyawan dan lokasi kantor:
Jika
distance > office_radius_meters, sistem menampilkan peringatan lokasi di luar area yang diizinkan.
Multi-Location Geofence
Perusahaan dengan beberapa lokasi kerja bisa mengkonfigurasi banyak geofence:Shift Management
Shift dikonfigurasi dalam array diCompanyAttendanceSettings:
Jika shift tersedia, karyawan harus memilih shift sebelum clock-in.
Mirror Camera
Tab “One” menggunakan mirror camera dengan face oval guide overlay untuk verifikasi wajah:- Kamera depan aktif dengan tampilan mirror
- Overlay oval menampilkan posisi wajah yang diharapkan
- Foto di-capture otomatis saat wajah terdeteksi di posisi yang benar
- Foto di-compress dan diupload ke Cloudinary
Photo Detail Dialog
Admin bisa melihat foto clock-in dan clock-out secara berdampingan:Server Function: recordAttendance
Absensi perusahaan menggunakan server function sebagai primary path:Filter & Export
Filter
Export CSV
Data absensi bisa diexport ke CSV dengan filter tanggal. File CSV berisi seluruh record absensi dalam periode yang dipilih.Entitas: CompanyAttendanceSettings
Live Work Timer
KomponenLiveWorkTimer menampilkan durasi kerja secara real-time:
- Update setiap 1 detik
- Pesan motivasional berdasarkan waktu (pagi/siang/sore)
- Progress bar menuju target jam harian
- Indikator status overtime
