WoonKeur Logo
WoonKeur Logo

Afspraak Maken

Vul uw gegevens in om direct opdracht te geven voor één van onze diensten. Wij zullen op werkdagen uiterlijk binnen één werkdag contact opnemen met het door u ingevulde contactpersoon, om de tijd en datum voor de afspraak af te stemmen. 

 

R

Snel schakelen

R

100% betrouwbaar

R

Uitgebreide rapportage

    Step 1:

    Step 2:

    Step 3:

    Step 4:

    Step 5:



    Uw opdracht snel en efficiënt verstuurd


    Voor een vlotte verwerking van uw opdracht, vul alstublieft uw gegevens volledig in. Onze binnendienst coördineert vervolgens alles met de betrokken partijen. U krijgt een bevestiging per e-mail.












    Hoe kunnen wij u van dienst zijn?


    Wij bieden een breed scala aan diensten aan. Selecteer hieronder de dienst die u wenst af te nemen.


    document.addEventListener("DOMContentLoaded", function () { console.log("Script gestart: Service-selectie"); // Haal de 'service' parameter uit de URL const urlParams = new URLSearchParams(window.location.search); const serviceParam = urlParams.get("service"); console.log("Geselecteerde service parameter:", serviceParam); // Functie om de juiste radiobutton te selecteren function selectRadioButton(serviceName) { const radioButton = document.querySelector(`input[name="service"][value="${serviceName}"]`); if (radioButton) { radioButton.checked = true; radioButton.dispatchEvent(new Event("change")); console.log("Radiobutton geselecteerd:", serviceName); } else { console.warn("Geen radiobutton gevonden met waarde:", serviceName); } } // Observeer veranderingen in de DOM om te detecteren wanneer de tweede stap verschijnt const observer = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { if (mutation.type === "childList") { const secondStep = document.querySelector('[id*="uacf7_step_start-569"]'); // ID van de tweede stap if (secondStep && secondStep.classList.contains("uacf7-step-active")) { console.log("Tweede stap actief. Selecteren van radiobutton..."); selectRadioButton(serviceParam); observer.disconnect(); // Stop observer break; } } } }); // Start observer op de body observer.observe(document.body, { childList: true, subtree: true }); // Extra: Als je een "Volgende" knop gebruikt, forceer selectie bij klikken document.addEventListener("click", (event) => { const nextButton = event.target.closest(".uacf7-next"); if (nextButton) { console.log("Volgende knop geklikt. Nogmaals controleren..."); setTimeout(() => selectRadioButton(serviceParam), 1000); } }); });

    Bouwkundige Keuring

    Uitgebreide bouwkundige keuring voor aankoop of verkoop.

    Totaal excl. BTW

    € 409.09

    Totaal 21% BTW

    € 85.91

    Totaal incl. BTW

    € 495.00

    * Vermelde tarieven zijn exclusief extra toeslagen.

    document.addEventListener('DOMContentLoaded', function() { // Selecteer alle radio buttons met name 'service' const radioButtons = document.querySelectorAll('input[name="service"]'); const hiddenField = document.getElementById('selected-service'); // Voeg een event listener toe aan elke radiobutton radioButtons.forEach(button => { button.addEventListener('change', function() { // Sla de geselecteerde waarde op in het verborgen veld hiddenField.value = this.value; }); }); });



    We kijken ernaar uit om u beter te leren kennen!


    We hebben de onderstaande gegevens nodig om uw rapportage en factuur correct te versturen.




















    Graag maken wij voor u de afspraak!


    Graag vernemen wij van u of we direct via u of met een makelaar de afspraak kunnen inplannen.









    We zijn er bijna!


    Uw aanvraag is bijna gereed om verstuurd te worden. Heeft u nog vragen of opmerkingen voor ons?




    document.addEventListener('DOMContentLoaded', function() { const postcodeField = document.getElementById('postcode'); const huisnummerField = document.getElementById('housenumber'); const extraInfo = document.getElementById('extraInfo'); const loadingLogoContainer = document.getElementById('loadingLogoContainer'); let fieldsFilledOnce = false; function hideFields(callback) { extraInfo.style.opacity = '0'; // Geef de opaciteitstransitie genoeg tijd om te voltooien voordat de weergave wordt aangepast. setTimeout(() => { extraInfo.style.display = 'none'; if (callback) callback(); // Roept de callback functie aan als deze wordt doorgegeven }, 300); } function showFields() { loadingLogoContainer.style.display = 'block'; // Wacht tot de laadanimatie klaar is voordat je de velden weer toont. setTimeout(() => { loadingLogoContainer.style.display = 'none'; extraInfo.style.display = 'block'; setTimeout(() => { // Zorg ervoor dat 'display: block;' wordt toegepast voordat de opaciteit overgaat. extraInfo.style.opacity = '1'; }, 10); }, 300); // De duur van de laadanimatie fieldsFilledOnce = true; } function checkFields() { // Als beide velden zijn ingevuld, verberg dan eerst de extra velden en toon ze daarna met de laadanimatie. if (postcodeField.value !== "" && huisnummerField.value !== "") { hideFields(showFields); } else if (!fieldsFilledOnce) { // Als de velden nog nooit ingevuld zijn, verberg dan de extra velden zonder laadanimatie. hideFields(); } // Als de velden al een keer ingevuld zijn, doe dan niets. } postcodeField.addEventListener('input', checkFields); huisnummerField.addEventListener('input', checkFields); }); document.addEventListener('DOMContentLoaded', function() { const postcodeField = document.getElementById('postcode2'); const huisnummerField = document.getElementById('housenumber2'); const extraInfo = document.getElementById('extraInfoFactuur'); const loadingLogoContainer = document.getElementById('loadingLogoContainerFactuur'); let fieldsFilledOnce = false; function hideFields(callback) { extraInfo.style.opacity = '0'; // Geef de opaciteitstransitie genoeg tijd om te voltooien voordat de weergave wordt aangepast. setTimeout(() => { extraInfo.style.display = 'none'; if (callback) callback(); // Roept de callback functie aan als deze wordt doorgegeven }, 300); } function showFields() { loadingLogoContainer.style.display = 'block'; // Wacht tot de laadanimatie klaar is voordat je de velden weer toont. setTimeout(() => { loadingLogoContainer.style.display = 'none'; extraInfo.style.display = 'block'; setTimeout(() => { // Zorg ervoor dat 'display: block;' wordt toegepast voordat de opaciteit overgaat. extraInfo.style.opacity = '1'; }, 10); }, 300); // De duur van de laadanimatie fieldsFilledOnce = true; } function checkFields() { // Als beide velden zijn ingevuld, verberg dan eerst de extra velden en toon ze daarna met de laadanimatie. if (postcodeField.value !== "" && huisnummerField.value !== "") { hideFields(showFields); } else if (!fieldsFilledOnce) { // Als de velden nog nooit ingevuld zijn, verberg dan de extra velden zonder laadanimatie. hideFields(); } // Als de velden al een keer ingevuld zijn, doe dan niets. } postcodeField.addEventListener('input', checkFields); huisnummerField.addEventListener('input', checkFields); }); function toggleVisibility() { var verkopendepartijgegevens = document.getElementById("verkopendepartijgegevens"); if (document.getElementById("verkooppartij").checked) { verkopendepartijgegevens.style.display = "block"; } else { verkopendepartijgegevens.style.display = "none"; } } function toggleInvoiceFields() { var fields = document.getElementById("factuuradresVelden"); if (document.getElementById("keuradresCheckbox").checked) { fields.style.display = "none"; } else { fields.style.display = "block"; } } document.addEventListener("DOMContentLoaded", function () { console.log("Script 2: Dynamische interacties geladen!"); const radioButtons = document.querySelectorAll('input[type="radio"][name="service"]'); const servicesContainer = document.querySelector('.services-container-xyz123'); const serviceDetail = document.getElementById("service-detail"); const serviceTitle = document.getElementById("service-title"); const serviceDescription = document.getElementById("service-description"); const serviceLink = document.getElementById("service-link"); const priceExcl = document.getElementById("price-excl"); const priceBtw = document.getElementById("price-btw"); const priceIncl = document.getElementById("price-incl"); const chooseOtherService = document.getElementById("choose-other-service"); const serviceData = { "Bouwkundige keuring voor particulieren": { title: "Bouwkundige Keuring", description: "Uitgebreide bouwkundige keuring voor aankoop of verkoop. Ook gecertificeerd voor N.H.G. en geldverstrekkers.", link: "https://woon-keur.nl/bouwkundige-keuring/", excl: "409.92", btw: "85.08", incl: "495.00" }, "Technical inspection": { title: "Technical Inspection (English)", description: "Comprehensive Building Inspection for Purchase or Sale. Also certified for N.H.G. and lenders.", link: "https://woon-keur.nl/technical-house-inspection/", excl: "450.41", btw: "94.59", incl: "545.00" }, "Thermografisch Onderzoek": { title: "Thermografisch Onderzoek", description: "Voor problemen zoals slechte isolatie, vochtinfiltratie, of zelfs elektrische overbelasting.", link: "https://woon-keur.nl/thermografie/", excl: "409.92", btw: "85.08", incl: "495.00" }, "Bouwkundige keuring voor bedrijven": { title: "Bouwkundige Keuring Zakelijk", description: "Uitgebreide bouwkundige keuring voor aankoop of verkoop van bedrijfspanden.", link: "https://woon-keur.nl/bouwkundige-keuring-voor-bedrijven/", excl: "495.00", btw: "103.95", incl: "598.95" }, "Opleveringskeuring": { title: "Opleveringskeuring Nieuwbouw", description: "Grondige controle van nieuwbouwwoningen tijdens de oplevering. Identificeert mogelijke gebreken.", link: "https://woon-keur.nl/opleveringskeuring-nieuwbouw/", excl: "409.92", btw: "85,08", incl: "495.00" }, "MJOP": { title: "Meerjaren Onderhoudsplan (MJOP)", description: "Uitgebreid Meerjaren Onderhoudsplan (MJOP) voor kleine en grote VvE's.", link: "https://woon-keur.nl/meerjaren-onderhoudsplan/", excl: "549.00", btw: "115.29", incl: "664.29" }, "Lekdetectie": { title: "Lekdetectie", description: "Uitgebreid onderzoek voor het opsporen van de oorzaak van uw waterlekkage.", link: "https://woon-keur.nl/lekdetectie/", excl: "409.92", btw: "85,08", incl: "495.00" }, "Bouwkundig onderzoek": { title: "Bouwkundig Onderzoek", description: "Uitgebreid bouwkundig onderzoek voor duidelijkheid bij geschillen en specifieke delen van uw woning.", link: "https://woon-keur.nl/bouwkundig-onderzoek/", excl: "409.92", btw: "85,08", incl: "495.00" } }; // Eventlistener voor radiobuttons radioButtons.forEach(button => { button.addEventListener("change", function () { const serviceValue = this.value; const service = serviceData[serviceValue]; if (service) { serviceTitle.textContent = service.title; serviceDescription.textContent = service.description; serviceLink.href = service.link; priceExcl.textContent = `€ ${service.excl}`; priceBtw.textContent = `€ ${service.btw}`; priceIncl.textContent = `€ ${service.incl}`; } servicesContainer.style.display = "none"; serviceDetail.style.display = "flex"; }); }); // "Kies andere dienst" knop chooseOtherService.addEventListener("click", function (e) { e.preventDefault(); serviceDetail.style.display = "none"; servicesContainer.style.display = "grid"; }); }); document.addEventListener("DOMContentLoaded", function () { console.log("Formulier tracking gestart."); // Variabelen voor debounce en tracking let debounceTimeout; let lastStep = null; // Functie om de stap te detecteren en te sturen naar de dataLayer function trackStep(stepNumber) { // Controleer of de stap al gepusht is if (lastStep !== stepNumber) { console.log(`Stap ${stepNumber} geladen.`); // Verkrijg de service-title const serviceTitle = document.getElementById("service-title").textContent; // Verstuur een Custom Event naar de dataLayer window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: "formStepChanged", // Naam van het custom event step: `step${stepNumber}`, // Stapnummer die bereikt is timestamp: new Date().toISOString(), // Tijdstempel van het event serviceTitle: serviceTitle // Voeg de service-title toe }); console.log("dataLayer push voor stap:", `step${stepNumber}`); console.log("Huidige dataLayer:", window.dataLayer); lastStep = stepNumber; // Update de laatste stap die is gepusht } else { console.log(`Stap ${stepNumber} is al gepusht, niets te doen.`); } } // Functie om de actieve stap te controleren via de a-tags function checkActiveStep() { for (let step = 1; step { trackStep(step); // Verstuur naar de dataLayer na een korte vertraging }, 300); // 300ms vertraging voor debounce break; // Stop de loop zodra de stap is gedetecteerd } else { console.log(`Stap ${step} is niet actief of niet gevonden via de link.`); } } } // Observer om veranderingen in de DOM te detecteren en de actieve stap te controleren const observer = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { if (mutation.type === "childList") { checkActiveStep(); // Controleer de actieve stap bij een verandering } } }); // Start observer op de body observer.observe(document.body, { childList: true, subtree: true }); // Extra logging voor het detecteren van de "Volgende" knop klik document.addEventListener("click", (event) => { const nextButton = event.target.closest(".uacf7-next"); if (nextButton) { console.log("Volgende knop geklikt. Nogmaals controleren..."); setTimeout(() => checkActiveStep(), 1000); // Korte vertraging om ervoor te zorgen dat de stap goed geladen is } }); // Debugging: Controleer of URL parameters goed worden opgehaald const urlParams = new URLSearchParams(window.location.search); const serviceParam = urlParams.get("service"); console.log("Geselecteerde service parameter uit URL:", serviceParam); // Functie om de juiste radiobutton te selecteren op basis van de service parameter function selectRadioButton(serviceName) { const radioButton = document.querySelector(`input[name="service"][value="${serviceName}"]`); if (radioButton) { radioButton.checked = true; radioButton.dispatchEvent(new Event("change")); console.log("Radiobutton geselecteerd:", serviceName); } else { console.warn("Geen radiobutton gevonden met waarde:", serviceName); } } }); document.addEventListener("DOMContentLoaded", function () { console.log("Fix gestart: 'Kies andere dienst' knop"); function fixKiesAndereDienst() { const kiesAndereDienstKnop = document.getElementById("choose-other-service"); const serviceDetail = document.getElementById("service-detail"); const servicesContainer = document.querySelector(".services-container-xyz123"); if (kiesAndereDienstKnop) { kiesAndereDienstKnop.onclick = function (e) { e.preventDefault(); console.log("Knop 'Kies andere dienst' handmatig geforceerd"); serviceDetail.style.display = "none"; servicesContainer.style.display = "grid"; // Of "block" als grid niet werkt }; console.log("Handmatige onclick event toegevoegd."); } else { console.warn("Knop 'Kies andere dienst' niet gevonden, opnieuw proberen..."); setTimeout(fixKiesAndereDienst, 500); // Probeer opnieuw als knop nog niet geladen is } } fixKiesAndereDienst(); }); document.addEventListener("DOMContentLoaded", function () { // Uit sessionStorage lezen const gclid = sessionStorage.getItem("gclid") || ""; const clientId = sessionStorage.getItem("account_id") || ""; // GA client_id uit _ga cookie const wbraid = sessionStorage.getItem("wbraid") || ""; const gbraid = sessionStorage.getItem("gbraid") || ""; const ttclid = sessionStorage.getItem("ttclid") || ""; // Meta / Facebook const fbclid = sessionStorage.getItem("fbclid") || ""; const fbc = sessionStorage.getItem("fbc") || ""; const fbp = sessionStorage.getItem("fbp") || ""; // URL + referrer const current_url = sessionStorage.getItem("current_url") || window.location.href; const referer_url = sessionStorage.getItem("referrer_url") || sessionStorage.getItem("referer_url") || document.referrer || "direct"; // Velden opzoeken via ID's (zoals je ze in CF7 hebt gezet) const gclidField = document.getElementById("gclid-field"); const clientIdField = document.getElementById("client-id"); const wbraidField = document.getElementById("wbraid-field"); const gbraidField = document.getElementById("gbraid-field"); const ttclidField = document.getElementById("ttclid-field"); const fbclidField = document.getElementById("fbclid-field"); const fbcField = document.getElementById("fbc-field"); const fbpField = document.getElementById("fbp-field"); const currentUrlField = document.getElementById("current-url-field"); const refererUrlField = document.getElementById("referer-url-field"); // Waardes in de hidden fields zetten if (gclidField) gclidField.value = gclid; if (clientIdField) clientIdField.value = clientId; if (wbraidField) wbraidField.value = wbraid; if (gbraidField) gbraidField.value = gbraid; if (ttclidField) ttclidField.value = ttclid; if (fbclidField) fbclidField.value = fbclid; if (fbcField) fbcField.value = fbc; if (fbpField) fbpField.value = fbp; if (currentUrlField) currentUrlField.value = current_url; if (refererUrlField) refererUrlField.value = referer_url; }); (function () { function hideHoneypot() { document.querySelectorAll( 'input.wpcf7_hp_field, input[name="wpcf7_hp_field"]' ).forEach(function (el) { el.style.setProperty('display', 'none', 'important'); el.style.setProperty('position', 'absolute', 'important'); el.style.setProperty('width', '0', 'important'); el.style.setProperty('height', '0', 'important'); el.style.setProperty('padding', '0', 'important'); el.style.setProperty('margin', '0', 'important'); el.style.setProperty('border', '0', 'important'); el.style.setProperty('opacity', '0', 'important'); }); } // Direct uitvoeren hideHoneypot(); // Nogmaals na laden van CF7/UACF7 document.addEventListener('DOMContentLoaded', hideHoneypot); window.addEventListener('load', hideHoneypot); // Als plugin hem later opnieuw injecteert new MutationObserver(hideHoneypot).observe(document.body, { childList: true, subtree: true }); })();

    Terug

    M

    Over WoonKeur

    Blog

    Ontdek inspirerende verhalen, slimme tips en het laatste nieuws uit de wereld van Woonkeur.

    Meer weten

    Over Ons

    Maak kennis met ons team, onze werkwijze en de passie die ons elke dag drijft.

    Meer weten

    Werken bij WoonKeur

    Sluit je aan bij een hecht team waar kwaliteit en werkplezier hand in hand gaan.

    Meer weten

    Onze Tarieven

    Heldere prijzen zonder verrassingen, met altijd topkwaliteit als standaard.

    Meer weten