Add near top of api/clock-out.php: require_once __DIR__ . '/includes/geofence-helper.php'; Replace old outside-radius reject logic with: $geo = wcps_geofence_status( isset($clockOutLatitude) ? (float)$clockOutLatitude : null, isset($clockOutLongitude) ? (float)$clockOutLongitude : null, isset($worksiteLatitude) ? (float)$worksiteLatitude : null, isset($worksiteLongitude) ? (float)$worksiteLongitude : null, isset($allowedRadiusMeters) ? (float)$allowedRadiusMeters : 150.0 ); $clockOutStatus = $geo['status']; $clockOutDistanceMeters = $geo['distance_meters']; if ($clockOutStatus === 'REJECTED') { echo json_encode([ 'success' => false, 'message' => 'Clock-out failed: ' . ($geo['reason'] ?: 'Invalid location') ]); exit; } IMPORTANT: Remove any code like: if ($clockOutStatus === 'OUTSIDE_RADIUS') { echo json_encode([ 'success' => false, 'message' => 'Clock-out rejected. You are outside the allowed worksite radius.' ]); exit; } Save session normally using: - clock_out_status = $clockOutStatus - clock_out_distance_meters = $clockOutDistanceMeters