-- V7 untuk database yang SUDAH BERJALAN.
-- Menambahkan fitur absensi karyawan (check-in / check-out) dari kasir-pwa,
-- lengkap dengan titik lokasi GPS saat presensi (untuk verifikasi admin).
CREATE TABLE IF NOT EXISTS attendances (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id INT NOT NULL,
  work_date DATE NOT NULL, -- tanggal kerja (lokal), satu baris per user per hari
  check_in_at DATETIME NOT NULL,
  check_in_lat DECIMAL(10,7) DEFAULT NULL,
  check_in_lng DECIMAL(10,7) DEFAULT NULL,
  check_out_at DATETIME DEFAULT NULL,
  check_out_lat DECIMAL(10,7) DEFAULT NULL,
  check_out_lng DECIMAL(10,7) DEFAULT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY uniq_user_workdate (user_id, work_date),
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB;
CREATE INDEX idx_attendances_workdate ON attendances(work_date);
