[2026-03-25 00:00:09] [notification_received] Schedule 50 acknowledged by user_id=6 (event=received)
[2026-03-25 00:00:09] [notification_received] Schedule 51 acknowledged by user_id=6 (event=received)
[2026-03-25 00:00:11] [notification_received] Schedule 153 acknowledged by user_id=6 (event=received)
[2026-03-25 03:26:11] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 03:26:44] [attendance_code_created] date=2026-03-25 type=first_half
[2026-03-25 03:45:03] [notification_received] Schedule 153 acknowledged by user_id=6 (event=tapped)
[2026-03-25 03:45:03] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 03:50:01] [notification_received] Schedule 50 acknowledged by user_id=6 (event=tapped)
[2026-03-25 03:50:20] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 04:00:02] [notification_received] Schedule 51 acknowledged by user_id=6 (event=tapped)
[2026-03-25 04:10:25] [notification_received] Schedule 226 acknowledged by user_id=15 (event=tapped)
[2026-03-25 04:10:25] [notification_received] Schedule 227 acknowledged by user_id=15 (event=tapped)
[2026-03-25 04:10:26] [notification_received] Schedule 226 acknowledged by user_id=15 (event=received)
[2026-03-25 04:10:28] [notification_received] Schedule 227 acknowledged by user_id=15 (event=received)
[2026-03-25 04:13:49] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-03-25 04:13:57] [attendance_login] user_id=7 date=2026-03-25 first_half
[2026-03-25 04:14:06] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 04:14:11] [attendance_login] user_id=6 date=2026-03-25 first_half
[2026-03-25 04:21:34] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-03-25 04:21:37] [attendance_login] user_id=15 date=2026-03-25 first_half
[2026-03-25 04:21:43] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 04:29:00] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-03-25 04:29:05] [attendance_login] user_id=17 date=2026-03-25 first_half
[2026-03-25 04:29:34] [notification_received] Schedule 162 acknowledged by user_id=17 (event=received)
[2026-03-25 04:30:49] [notification_received] Schedule 165 acknowledged by user_id=18 (event=received)
[2026-03-25 04:30:52] [notification_received] Schedule 166 acknowledged by user_id=18 (event=received)
[2026-03-25 04:30:54] [notification_received] Schedule 167 acknowledged by user_id=18 (event=received)
[2026-03-25 04:32:02] [fcm_token] FCM token saved/updated: user_id=18 device_type=android
[2026-03-25 04:32:05] [attendance_login] user_id=18 date=2026-03-25 first_half
[2026-03-25 04:33:28] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-03-25 04:33:47] [attendance_login] user_id=21 date=2026-03-25 first_half
[2026-03-25 06:13:31] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 06:13:37] [attendance_code_created] date=2026-03-25 type=second_half
[2026-03-25 06:46:51] [notification_received] Schedule 168 acknowledged by user_id=20 (event=received)
[2026-03-25 06:46:51] [notification_received] Schedule 169 acknowledged by user_id=20 (event=received)
[2026-03-25 06:46:51] [notification_received] Schedule 170 acknowledged by user_id=20 (event=received)
[2026-03-25 07:37:28] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-03-25 07:37:31] [attendance_logout] user_id=15 date=2026-03-25 first_half
[2026-03-25 07:37:46] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 07:46:05] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-03-25 07:46:08] [attendance_logout] user_id=7 date=2026-03-25 first_half
[2026-03-25 07:46:51] [attendance_logout] user_id=6 date=2026-03-25 first_half
[2026-03-25 07:49:49] [attendance_logout] user_id=18 date=2026-03-25 first_half
[2026-03-25 07:50:03] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-03-25 07:50:07] [attendance_logout] user_id=21 date=2026-03-25 first_half
[2026-03-25 07:51:39] [attendance_login] user_id=21 date=2026-03-25 second_half
[2026-03-25 07:51:43] [attendance_logout] user_id=21 date=2026-03-25 second_half
[2026-03-25 07:54:48] [login] User logged in: user_id=21 name="Selvi" contact=9566920387
[2026-03-25 07:54:49] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-03-25 08:02:06] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-03-25 08:02:09] [attendance_logout] user_id=17 date=2026-03-25 first_half
[2026-03-25 08:45:25] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-03-25 10:21:04] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-03-25 10:57:02] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-03-25 12:00:16] [notification_received] Schedule 162 acknowledged by user_id=17 (event=received)
[2026-03-25 12:00:16] [notification_received] Schedule 163 acknowledged by user_id=17 (event=received)
[2026-03-25 12:00:17] [notification_received] Schedule 166 acknowledged by user_id=18 (event=received)
[2026-03-25 12:00:18] [notification_received] Schedule 168 acknowledged by user_id=20 (event=received)
[2026-03-25 12:00:18] [notification_received] Schedule 169 acknowledged by user_id=20 (event=received)
[2026-03-25 12:00:18] [notification_received] Schedule 170 acknowledged by user_id=20 (event=received)
[2026-03-25 12:00:20] [notification_received] Schedule 167 acknowledged by user_id=18 (event=received)
[2026-03-25 12:00:55] [notification_received] Schedule 164 acknowledged by user_id=17 (event=received)
[2026-03-25 12:01:44] [notification_received] Schedule 227 acknowledged by user_id=15 (event=received)
[2026-03-25 12:02:40] [notification_received] Schedule 50 acknowledged by user_id=6 (event=received)
[2026-03-25 12:02:40] [notification_received] Schedule 51 acknowledged by user_id=6 (event=received)
[2026-03-25 12:02:43] [notification_received] Schedule 153 acknowledged by user_id=6 (event=received)
[2026-03-25 15:01:49] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-03-25 15:01:54] [attendance_login] user_id=7 date=2026-03-25 second_half
[2026-03-25 15:02:19] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 15:02:24] [attendance_login] user_id=6 date=2026-03-25 second_half
[2026-03-25 15:07:51] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 17:17:41] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 17:18:17] [update_attendance] Attendance updated: date=2026-03-25 updated=3 user_ids=23,22,5
[2026-03-25 17:18:18] [update_attendance] Attendance updated: date=2026-03-25 updated=3 user_ids=23,22,5
[2026-03-25 17:18:38] [update_attendance] Attendance updated: date=2026-03-24 updated=3 user_ids=23,22,5
[2026-03-25 17:18:40] [update_attendance] Attendance updated: date=2026-03-24 updated=3 user_ids=23,22,5
[2026-03-25 17:53:36] [fcm_token] FCM token saved/updated: user_id=18 device_type=android
[2026-03-25 17:53:38] [attendance_login] user_id=18 date=2026-03-25 second_half
[2026-03-25 17:53:51] [attendance_logout] user_id=18 date=2026-03-25 second_half
[2026-03-25 18:25:39] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-03-25 18:25:42] [attendance_logout] user_id=7 date=2026-03-25 second_half
[2026-03-25 18:25:49] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 18:25:58] [attendance_logout] user_id=6 date=2026-03-25 second_half
[2026-03-25 18:30:30] [logout] User logged out: user_id=6
[2026-03-25 18:31:14] [login] User logged in: user_id=6 name="pooarasan" contact=6374352853
[2026-03-25 18:31:16] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-03-25 18:37:29] [fcm_token] FCM token saved/updated: user_id=23 device_type=android
[2026-03-25 19:43:29] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 21:13:49] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-03-25 21:30:26] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-03-25 21:30:44] [update_leave_day_status] Request: id=93, status=approved
[2026-03-25 21:30:44] [update_leave_day_status] leave_days UPDATE: affected_rows=1
[2026-03-25 21:30:44] [update_leave_day_status] user=15, day=first_half
[2026-03-25 21:30:44] [update_leave_day_status] schedules_updated=2 for user 15
[2026-03-25 21:30:44] [update_leave_day_status] Response: success, schedules_updated=2
[2026-03-25 23:28:39] [notification_received] Schedule 170 acknowledged by user_id=20 (event=received)
[2026-03-25 23:28:39] [notification_received] Schedule 169 acknowledged by user_id=20 (event=received)
[2026-03-25 23:28:39] [notification_received] Schedule 168 acknowledged by user_id=20 (event=received)
