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
