(int) $r['ID'], 'Name' => $r['Name'], 'HasChildren' => ((int) $r['ChildCount']) > 0, 'City' => $r['AddressCity'] ?? '', 'Line1' => $r['AddressLine1'] ?? '', 'Latitude' => $bizLat, 'Longitude' => $bizLng, 'DistanceMiles' => $distance, ]; } // Sort by distance if user location provided if ($hasUserLocation) { usort($businesses, fn($a, $b) => $a['DistanceMiles'] <=> $b['DistanceMiles']); } // Limit to 50 $businesses = array_slice($businesses, 0, 50); jsonResponse([ 'OK' => true, 'ERROR' => '', 'VERSION' => 'businesses_list_v5', 'BUSINESSES' => $businesses, 'Businesses' => $businesses, ]); } catch (Exception $e) { apiAbort(['OK' => false, 'ERROR' => 'server_error', 'DETAIL' => $e->getMessage()]); }