Instant Quote Guide
document.addEventListener(“DOMContentLoaded”, function() { var PRODUCT_MAP = { “60_1”: 78, “60_1.5”: 79, “60_1.8”: 80, “80_1”: 81, “80_1.5”: 82, “80_1.8”: 83, “100_1”: 84, “100_1.5”: 85, “100_1.8”: 86, “130_1”: 87, “130_1.5”: 88, “130_1.8”: 89 }; var BASE_PRICES = { “60”: 60, “80”: 80, “100”: 100, “130”: 130 }; var DEPTH_MULTIPLIERS = { “1”: 1, “1.5”: 1.5, “1.8”: 1.8 }; var MILE_RATE = 0.5; var FREE_RADIUS_MILES = 5; var OUTCODE_DISTANCES = { “DA11”: 0, “DA1”: 3, “DA2”: 4, “DA3”: 6, “DA4”: 7, “DA5”: 8, “DA6”: 9, “DA7”: 9, “DA8”: 10, “DA9”: 2, “DA10”: 1, “DA12”: 3, “DA13”: 5, “DA14”: 10, “DA15”: 11, “DA16”: 10, “DA17”: 12, “DA18”: 13, “ME1”: 9, “ME2”: 8, “ME3”: 6, “ME4”: 10, “ME5”: 11, “ME7”: 12, “ME8”: 13, “BR1”: 14, “BR5”: 12, “BR6”: 13, “SE1”: 18, “SE2”: 14, “SE3”: 15, “SE9”: 13, “SE18”: 12, “RM1”: 16, “RM2″: 15 }; var DEFAULT_DISTANCE = 15; function getOutcode(postcode) { var cleaned = postcode.trim().toUpperCase().replace(/s+/g, ” “); return cleaned.split(” “)[0]; } function estimateDistance(postcode) { var outcode = getOutcode(postcode); if (OUTCODE_DISTANCES.hasOwnProperty(outcode)) { return { miles: OUTCODE_DISTANCES[outcode], known: true }; } return { miles: DEFAULT_DISTANCE, known: false }; } var btn = document.getElementById(“agc-calculate”); if (!btn) return; var currentProductId = null; btn.addEventListener(“click”, function() { var size = document.getElementById(“agc-size”).value; var depth = document.getElementById(“agc-depth”).value; var depthLabel = document.getElementById(“agc-depth”).selectedOptions[0].text; var sizeLabel = document.getElementById(“agc-size”).selectedOptions[0].text; var postcode = document.getElementById(“agc-postcode”).value; if (!postcode.trim()) { alert(“Please enter a postcode so we can estimate travel distance.”); return; } var key = size + “_” + depth; var productId = PRODUCT_MAP[key]; if (!productId) { alert(“Something went wrong matching your selection — please contact us directly.”); return; } currentProductId = productId; var basePrice = BASE_PRICES[size] * DEPTH_MULTIPLIERS[depth]; var distanceInfo = estimateDistance(postcode); var billableMiles = Math.max(0, distanceInfo.miles – FREE_RADIUS_MILES); var travelFee = Math.round(billableMiles * MILE_RATE * 100) / 100; document.getElementById(“agc-price”).textContent = “£” + basePrice.toFixed(2); document.getElementById(“agc-breakdown”).innerHTML = sizeLabel + ” · ” + depthLabel + “” + “Est. ” + distanceInfo.miles + ” miles from DA11 9QG” + (distanceInfo.known ? “” : ” (approximate — postcode not in lookup yet)”) + “
” + “Travel fee (not yet added to checkout): £” + travelFee.toFixed(2) + (billableMiles === 0 ? ” (within free radius)” : “”) + “
“; document.getElementById(“agc-result”).style.display = “block”; document.getElementById(“agc-proceed”).addEventListener(“click”, function() { window.location.href = “https://apexglow.co.uk/cart/?add-to-cart=” + currentProductId; }); }); });
Get Your Instant Quote
Based on property size, clean depth, and travel distance from our base (DA11 9FF).
Transparent Pricing Tailored for You
Explore our competitive pricing plans designed to deliver exceptional cleaning value for every home.
Get Your Instant Cleaning Quote Now
Check the pricing table above for your estimate, then request your booking below.

