Estate & Letting Agents in Holwell, Dorset

Find Estate Agents in Holwell, Dorset
6 results
Morton New

Sturminster Newton

Sales
2 active listings in Holwell, Dorset, England
106 total
1 Market House, Market Place, Sturminster Newton, DT10 1AS
View Profile
Symonds & Sampson

Sturminster Newton

Sales
2 active listings in Holwell, Dorset, England
78 total
Agriculture House, Market Place, Sturminster Newton, DT10 1AR
View Profile
Symonds & Sampson

Sherborne

Sales
2 active listings in Holwell, Dorset, England
53 total
4 Abbey Corner Half Moon Street, Sherborne, DT9 3LN
View Profile
Jackson-Stops

Sherborne

Sales
1 active listing in Holwell, Dorset, England
24 total
2 Hound Street, Sherborne, Dorset, DT9 3AA
View Profile
Knight Frank

Covering New Forest and Isle of Wight

Sales
1 active listing in Holwell, Dorset, England
68 total
Covering New Forest
View Profile
Springbok Properties
1 active listing in Holwell, Dorset, England
1,293 total
Springbok Properties Nationwide Suite 7N Trafford House Chester Road Old Trafford M32 0RS
View Profile
initializeAllPremierCards() }); // Load detailed stats function function loadDetailedStats() { const button = document.getElementById('load-more-stats'); const statsContainer = document.getElementById('detailed-stats'); if (statsContainer.classList.contains('hidden')) { // Show loading state button.innerHTML = ` Loading... `; // Make AJAX call for detailed stats const location = 'Holwell, Dorset'; const agentType = ''; fetch(`/api/agents/detailed-stats?location=${encodeURIComponent(location)}&type=${agentType}`) .then(response => response.json()) .then(data => { // Build detailed stats HTML let statsHtml = '
'; // Property types breakdown if (data.propertyTypes && Object.keys(data.propertyTypes).length > 0) { statsHtml += `
Property Types
`; for (const [type, count] of Object.entries(data.propertyTypes)) { const percentage = Math.round((count / data.totalProperties) * 100); statsHtml += `
${type}: ${count.toLocaleString()} (${percentage}%)
`; } statsHtml += '
'; } // Price ranges if (data.priceRanges) { statsHtml += `
Price Ranges
Avg Sale Price: £${data.priceRanges.avgSalePrice?.toLocaleString() || 'N/A'}
Avg Rent PCM: £${data.priceRanges.avgRentPrice?.toLocaleString() || 'N/A'}
`; } // Top performing agents if (data.topAgents && data.topAgents.length > 0) { statsHtml += `
Top Agents
`; data.topAgents.slice(0, 3).forEach(agent => { statsHtml += `
${agent.name}: ${agent.property_count} props
`; }); statsHtml += '
'; } statsHtml += '
'; // Show stats statsContainer.innerHTML = statsHtml; statsContainer.classList.remove('hidden'); // Update button button.innerHTML = ` Hide Insights `; }) .catch(error => { // If API fails, show a simple message instead of dumping all agent data statsContainer.innerHTML = '
Unable to load detailed insights
'; statsContainer.classList.remove('hidden'); button.innerHTML = ` Hide Insights `; }); } else { // Hide stats statsContainer.classList.add('hidden'); button.innerHTML = ` Load Detailed Insights `; } } // Open agent map function function openAgentMap(locationSlug) { // Use the floating view toggle button const mapBtn = document.getElementById('agent-view-map'); if (mapBtn) { mapBtn.click(); } else { // Fallback to old button const oldMapBtn = document.getElementById('view-map-btn'); if (oldMapBtn) { oldMapBtn.click(); } else { // Last resort - open map page window.location.href = `/agents/${locationSlug}/map`; } } }