GeoAttendance is a smart employee attendance app designed exclusively for our company. It uses geofencing technology to automatically track employee check-in and check-out based on their real-time location—no button pressing required. However, a button is available for any unexpected situation in the future.
When an employee enters their assigned workplace location (predefined in the company’s ERP), the app automatically records their check-in. When they exit the location, check-out is recorded instantly. This automation is based on accurate latitude, longitude, and radius settings tied to each employee via ERP system.
Upon first login (using the provided username and password), the app fetches the employee’s current location and compares it with their registered workplace coordinates. If within the allowed radius, the employee is marked as present; otherwise, they are marked as out of area. This process is seamless and supported by in-app toast messages or alerts.
The app integrates directly with the company’s ERP via secure APIs to:
Authenticate employee login
Sync user profile data
Retrieve attendance logs
Identify designated workplace locations
GeoAttendance also includes a calendar view, allowing employees to review their first IN and last OUT attendance history by tapping on any date. First IN and last OUT checks for that day are displayed in detail.
Works Offline with Smart Sync:
GeoAttendance also works seamlessly offline. If an employee checks in or out while the device is not connected to the internet, the app will:
Save the attendance logs securely in the device’s local database
Automatically sync the logs with the ERP system once the device reconnects to Wi-Fi
This ensures reliable attendance tracking even in areas with poor or no connectivity without requiring any manual action from the employee.
Note: Note: The check-in/out button requires internet, as it sends data directly to the server and doesn’t work offline.
Location & Motion Permissions Notice: GeoAttendance requires both location and physical activity permissions to function correctly and efficiently.
Location Permissions: Upon first launch, the app requests access to your location using the standard Android permission flow:
Allow once
Allow while using the app
Don’t allow
After this initial prompt, a second system dialog will appear requesting “Allow all the time” access. This step is now handled automatically via the app, and there's no need for the user to go to Settings manually.
"Allow all the time" permission is mandatory for the app to track attendance in the background—even when the app is not open.
Motion/Activity Permissions: In addition, GeoAttendance will request physical activity recognition permission. This is essential because the app uses a paid background geolocation package from Transistor Software called flutter_background_geolocation.
This package is optimized for battery efficiency:
When the user is stationary, background tracking automatically shuts down to conserve battery
When the user starts moving, the app detects motion and resumes background tracking seamlessly
Important: If the motion permission is denied, background location tracking will not work properly, even if “Allow all the time” is granted for location.
By combining motion awareness, ERP integration, and intelligent location tracking, GeoAttendance ensures accurate, hands-free attendance logging without draining the user’s battery or requiring manual check-ins.
Important Note: GeoAttendance will not open at all unless both of the following permissions are granted:
Location permission set to “Allow all the time”
Physical activity (motion detection) permission set to “Allow”
If either of these permissions is not granted, the app will not proceed beyond the login screen—even if the username and password are correct. It will keep showing a loading state as if it's stuck, but in reality, it’s blocking access until the required permissions are given.