{"id":11114,"date":"2026-03-14T07:25:46","date_gmt":"2026-03-14T06:25:46","guid":{"rendered":"https:\/\/flexestate.nl\/?page_id=11114"},"modified":"2026-05-01T12:07:17","modified_gmt":"2026-05-01T10:07:17","slug":"property-preparation-check","status":"publish","type":"page","link":"https:\/\/flexestate.nl\/nl\/property-preparation-check\/","title":{"rendered":"Property preparation check"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11114\" class=\"elementor elementor-11114\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3c0bbc e-flex e-con-boxed e-con e-parent\" data-id=\"f3c0bbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-09ad11f elementor-widget elementor-widget-html\" data-id=\"09ad11f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .fe-prep-wrap{\n    font-family:'Poppins',sans-serif;\n    max-width:1180px;\n    margin:0 auto;\n    padding:42px 20px;\n    color:#2E2E2E;\n  }\n\n  .fe-prep-hero{\n    background:linear-gradient(135deg,#001C51 0%, #153965 100%);\n    color:#fff;\n    border-radius:22px;\n    padding:38px 30px;\n    margin-bottom:28px;\n    box-shadow:0 14px 36px rgba(0,28,81,.14);\n  }\n\n  .fe-prep-badge{\n    display:inline-block;\n    background:rgba(22,191,191,.16);\n    border:1px solid rgba(22,191,191,.34);\n    color:#16BFBF;\n    padding:8px 14px;\n    border-radius:999px;\n    font-size:13px;\n    font-weight:600;\n    margin-bottom:14px;\n  }\n\n  .fe-prep-hero h2{\n    margin:0 0 12px;\n    font-size:36px;\n    line-height:1.15;\n    color:#fff;\n  }\n\n  .fe-prep-hero p{\n    margin:0;\n    font-size:16px;\n    line-height:1.75;\n    color:#EEF4F8;\n    max-width:900px;\n  }\n\n  .fe-prep-grid{\n    display:grid;\n    grid-template-columns:1.03fr .97fr;\n    gap:24px;\n    align-items:start;\n  }\n\n  .fe-card{\n    background:#fff;\n    border:1px solid #dce6ef;\n    border-radius:18px;\n    padding:24px;\n    box-shadow:0 8px 24px rgba(0,28,81,.06);\n  }\n\n  .fe-card h3{\n    margin:0 0 18px;\n    color:#001C51;\n    font-size:24px;\n    line-height:1.25;\n  }\n\n  .fe-soft{\n    color:#5b6b78;\n    font-size:14px;\n    line-height:1.75;\n  }\n\n  .fe-field{\n    margin-bottom:18px;\n  }\n\n  .fe-field label{\n    display:block;\n    font-weight:600;\n    margin-bottom:8px;\n    color:#001C51;\n    font-size:15px;\n  }\n\n  .fe-field select{\n    width:100%;\n    padding:13px 14px;\n    border:1px solid #c8d6e5;\n    border-radius:12px;\n    font-size:15px;\n    background:#fff;\n    color:#2E2E2E;\n    box-sizing:border-box;\n  }\n\n  .fe-options{\n    display:grid;\n    gap:10px;\n  }\n\n  .fe-check{\n    display:flex;\n    align-items:flex-start;\n    gap:10px;\n    background:#EEF4F8;\n    border:1px solid #d7e3eb;\n    border-radius:12px;\n    padding:12px 14px;\n    font-size:14px;\n    line-height:1.55;\n  }\n\n  .fe-check input{\n    margin-top:3px;\n    accent-color:#16BFBF;\n  }\n\n  .fe-actions{\n    display:flex;\n    gap:12px;\n    flex-wrap:wrap;\n    margin-top:12px;\n  }\n\n  .fe-btn{\n    appearance:none;\n    border:none;\n    border-radius:12px;\n    padding:13px 20px;\n    font-weight:600;\n    font-size:15px;\n    cursor:pointer;\n    transition:.22s ease;\n    font-family:'Poppins',sans-serif;\n    text-decoration:none;\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n  }\n\n  .fe-btn-primary{\n    background:#16BFBF;\n    color:#fff;\n  }\n\n  .fe-btn-primary:hover{\n    background:#001C51;\n    color:#fff;\n  }\n\n  .fe-btn-secondary{\n    background:#EEF4F8;\n    color:#001C51;\n    border:1px solid #d0dde7;\n  }\n\n  .fe-btn-secondary:hover{\n    background:#dfeaf1;\n  }\n\n  .fe-btn-gold{\n    background:#AF762E;\n    color:#fff;\n  }\n\n  .fe-btn-gold:hover{\n    background:#001C51;\n    color:#fff;\n  }\n\n  .fe-result{\n    display:none;\n  }\n\n  .fe-result.active{\n    display:block;\n  }\n\n  .fe-badge{\n    display:inline-block;\n    background:#16BFBF;\n    color:#fff;\n    padding:8px 12px;\n    border-radius:999px;\n    font-size:13px;\n    font-weight:600;\n    margin-bottom:14px;\n  }\n\n  .fe-route{\n    font-size:28px;\n    color:#001C51;\n    margin:0 0 10px;\n    line-height:1.2;\n  }\n\n  .fe-summary{\n    background:#EEF4F8;\n    border-left:4px solid #16BFBF;\n    padding:14px 16px;\n    border-radius:12px;\n    margin:16px 0 18px;\n    line-height:1.75;\n  }\n\n  .fe-list{\n    margin:0;\n    padding-left:18px;\n  }\n\n  .fe-list li{\n    margin:0 0 10px;\n    line-height:1.65;\n  }\n\n  .fe-note{\n    margin-top:18px;\n    padding:14px 16px;\n    background:#fff7e8;\n    border:1px solid #f0d49b;\n    border-radius:12px;\n    line-height:1.7;\n  }\n\n  .fe-tags{\n    display:flex;\n    flex-wrap:wrap;\n    gap:8px;\n    margin-top:12px;\n  }\n\n  .fe-tag{\n    background:#EEF4F8;\n    color:#001C51;\n    border:1px solid #d7e3eb;\n    border-radius:999px;\n    padding:7px 11px;\n    font-size:12px;\n    font-weight:600;\n  }\n\n  .fe-meter-box{\n    margin:8px 0 18px;\n  }\n\n  .fe-meter-label{\n    font-size:14px;\n    font-weight:600;\n    color:#001C51;\n    margin-bottom:8px;\n  }\n\n  .fe-meter-track{\n    width:100%;\n    height:16px;\n    background:#e8f0f5;\n    border-radius:999px;\n    overflow:hidden;\n    position:relative;\n  }\n\n  .fe-meter-fill{\n    height:100%;\n    width:0;\n    background:linear-gradient(90deg,#16BFBF 0%, #AF762E 100%);\n    border-radius:999px;\n    transition:width .35s ease;\n  }\n\n  .fe-meter-score{\n    margin-top:10px;\n    font-size:14px;\n    color:#001C51;\n    font-weight:600;\n  }\n\n  .fe-service-grid{\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:12px;\n    margin-top:18px;\n  }\n\n  .fe-service-card{\n    background:#f9fbfd;\n    border:1px solid #dce6ef;\n    border-radius:14px;\n    padding:14px;\n  }\n\n  .fe-service-card h4{\n    margin:0 0 8px;\n    font-size:15px;\n    color:#001C51;\n  }\n\n  .fe-service-card p{\n    margin:0 0 10px;\n    font-size:13px;\n    line-height:1.65;\n    color:#51606d;\n  }\n\n  .fe-cta-box{\n    margin-top:18px;\n    padding:16px;\n    border-radius:14px;\n    background:#EEF4F8;\n    border:1px solid #d7e3eb;\n  }\n\n  .fe-cta-box h4{\n    margin:0 0 8px;\n    color:#001C51;\n    font-size:18px;\n  }\n\n  .fe-cta-box p{\n    margin:0 0 12px;\n    font-size:14px;\n    line-height:1.7;\n    color:#51606d;\n  }\n\n  .fe-side-help{\n    background:#F9FBFD;\n    border:1px solid #dce6ef;\n    border-radius:14px;\n    padding:14px;\n    margin-top:16px;\n  }\n\n  .fe-side-help h4{\n    margin:0 0 8px;\n    color:#001C51;\n    font-size:16px;\n  }\n\n  .fe-side-help p{\n    margin:0;\n    color:#51606d;\n    font-size:14px;\n    line-height:1.7;\n  }\n\n  @media (max-width: 900px){\n    .fe-prep-grid{\n      grid-template-columns:1fr;\n    }\n    .fe-service-grid{\n      grid-template-columns:1fr;\n    }\n    .fe-prep-hero h2{\n      font-size:28px;\n    }\n  }\n<\/style>\n\n<div class=\"fe-prep-wrap\">\n  <div class=\"fe-prep-hero\">\n    <div class=\"fe-prep-badge\">Pre-listing assessment<\/div>\n    <h2>Property Preparation Check<\/h2>\n    <p>\n      Find out whether your property is ready to go live now, needs light preparation first, or would benefit from tailored guidance before photography, viewings, and publication. Based on your answers, you\u2019ll receive a personalized checklist and relevant service suggestions.\n    <\/p>\n  <\/div>\n\n  <div class=\"fe-prep-grid\">\n    <div class=\"fe-card\">\n      <h3>Your current situation<\/h3>\n\n      <div class=\"fe-field\">\n        <label for=\"goal\">What do you want to do?<\/label>\n        <select id=\"goal\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"sell\">Sell the property<\/option>\n          <option value=\"rent\">Rent out the property<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label for=\"timeline\">How urgent is it?<\/label>\n        <select id=\"timeline\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"urgent\">Urgent \u2014 I want to move quickly<\/option>\n          <option value=\"normal\">Normal \u2014 within the coming months<\/option>\n          <option value=\"flexible\">Flexible \u2014 I can prepare first<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label for=\"condition\">Current condition of the property<\/label>\n        <select id=\"condition\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"ready\">Ready to present<\/option>\n          <option value=\"light\">Mostly fine, only light cosmetic work<\/option>\n          <option value=\"medium\">Needs visible improvement first<\/option>\n          <option value=\"heavy\">Needs major work before listing<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label for=\"occupancy\">Current situation<\/label>\n        <select id=\"occupancy\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"lived\">Still lived in \/ furnished<\/option>\n          <option value=\"empty\">Empty property<\/option>\n          <option value=\"partly\">Partly cleared \/ in transition<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label for=\"budget\">Preparation budget<\/label>\n        <select id=\"budget\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"none\">No budget<\/option>\n          <option value=\"small\">Small budget for easy fixes<\/option>\n          <option value=\"medium\">Budget for cosmetic improvements<\/option>\n          <option value=\"high\">Can invest properly before listing<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label for=\"docs\">Are your documents ready?<\/label>\n        <select id=\"docs\">\n          <option value=\"\">Choose an option<\/option>\n          <option value=\"yes\">Yes, mostly ready<\/option>\n          <option value=\"partial\">Partly ready<\/option>\n          <option value=\"no\">No, not yet<\/option>\n        <\/select>\n      <\/div>\n\n      <div class=\"fe-field\">\n        <label>What applies to your situation?<\/label>\n        <div class=\"fe-options\">\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needCleaning\"> The property needs deep cleaning or decluttering before photography or viewings<\/label>\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needPhotosLater\"> Photography should happen only after preparation is complete<\/label>\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needGuidance\"> I would benefit from practical guidance before listing<\/label>\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needStaging\"> The property is empty and may benefit from staging or presentation support<\/label>\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needEnergyLabel\"> I still need an energy label or updated report<\/label>\n          <label class=\"fe-check\"><input type=\"checkbox\" id=\"needCosmeticHelp\"> Cosmetic work such as paint, plastering or light repairs may be needed first<\/label>\n        <\/div>\n      <\/div>\n\n      <div class=\"fe-actions\">\n        <button class=\"fe-btn fe-btn-primary\" onclick=\"generatePrepResult()\">Show recommendation<\/button>\n        <button class=\"fe-btn fe-btn-secondary\" type=\"button\" onclick=\"resetPrepTool()\">Reset<\/button>\n      <\/div>\n\n      <div class=\"fe-side-help\">\n        <h4>What this tool helps with<\/h4>\n        <p>\n          This tool helps you decide whether to launch now, prepare first, or take a more strategic route before photography and publication.\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fe-card\">\n      <div id=\"feResult\" class=\"fe-result\">\n        <div class=\"fe-badge\">Your preparation result<\/div>\n\n        <div class=\"fe-meter-box\">\n          <div class=\"fe-meter-label\">Preparation readiness score<\/div>\n          <div class=\"fe-meter-track\">\n            <div class=\"fe-meter-fill\" id=\"feMeterFill\"><\/div>\n          <\/div>\n          <div class=\"fe-meter-score\" id=\"feMeterScore\">0 \/ 100<\/div>\n        <\/div>\n\n        <h3 class=\"fe-route\" id=\"routeTitle\">Recommended route<\/h3>\n        <div class=\"fe-summary\" id=\"routeSummary\"><\/div>\n\n        <h3 style=\"font-size:18px; margin-top:0;\">Your personalized checklist<\/h3>\n        <ul class=\"fe-list\" id=\"actionList\"><\/ul>\n\n        <div class=\"fe-tags\" id=\"tagWrap\"><\/div>\n\n        <div class=\"fe-note\" id=\"extraNote\"><\/div>\n\n        <div id=\"feServiceSection\" style=\"display:none;\">\n          <h3 style=\"font-size:18px; margin:22px 0 12px;\">Recommended services<\/h3>\n          <div class=\"fe-service-grid\" id=\"serviceGrid\"><\/div>\n        <\/div>\n\n        <div class=\"fe-cta-box\">\n          <h4>Need personal advice first?<\/h4>\n          <p>\n            You can also request personal guidance before listing if you want help deciding what should be improved first, what can stay as-is, and what is worth investing in before publication.\n          <\/p>\n          <div class=\"fe-actions\" style=\"margin-top:0;\">\n            <a class=\"fe-btn fe-btn-gold\" href=\"https:\/\/flexestate.nl\/product\/woning-presentatie-consult\/\">Book an advisor appointment<\/a>\n            <button class=\"fe-btn fe-btn-secondary\" onclick=\"downloadChecklist()\">Download your checklist<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div id=\"feEmpty\">\n        <h3 style=\"margin-top:0;\">How your result will help<\/h3>\n        <p class=\"fe-soft\">\n          Once completed, this assessment will show your likely preparation route, your readiness score, and a tailored checklist to help you move forward with more clarity.\n        <\/p>\n        <ul class=\"fe-list\">\n          <li>Should you launch now or prepare first?<\/li>\n          <li>Which practical improvements are most worth doing?<\/li>\n          <li>When is the right moment to schedule photography?<\/li>\n          <li>Would extra support save time and improve presentation?<\/li>\n          <li>What is likely to strengthen buyer or tenant confidence?<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<script>\n  let checklistData = [];\n  let routeData = '';\n  let scoreData = 0;\n  let summaryData = '';\n  let extraNoteData = '';\n  let servicesData = [];\n\n  function generatePrepResult(){\n    const goal = document.getElementById('goal').value;\n    const timeline = document.getElementById('timeline').value;\n    const condition = document.getElementById('condition').value;\n    const occupancy = document.getElementById('occupancy').value;\n    const budget = document.getElementById('budget').value;\n    const docs = document.getElementById('docs').value;\n\n    const needCleaning = document.getElementById('needCleaning').checked;\n    const needPhotosLater = document.getElementById('needPhotosLater').checked;\n    const needGuidance = document.getElementById('needGuidance').checked;\n    const needStaging = document.getElementById('needStaging').checked;\n    const needEnergyLabel = document.getElementById('needEnergyLabel').checked;\n    const needCosmeticHelp = document.getElementById('needCosmeticHelp').checked;\n\n    if(!goal || !timeline || !condition || !occupancy || !budget || !docs){\n      alert('Please answer all dropdown questions first.');\n      return;\n    }\n\n    let score = 100;\n    let routeTitle = '';\n    let routeSummary = '';\n    let actions = [];\n    let tags = [];\n    let extraNote = '';\n    let services = [];\n\n    if (condition === 'light') score -= 12;\n    if (condition === 'medium') score -= 28;\n    if (condition === 'heavy') score -= 45;\n\n    if (timeline === 'urgent') score -= 8;\n    if (budget === 'none') score -= 12;\n    if (budget === 'small') score -= 6;\n    if (docs === 'partial') score -= 10;\n    if (docs === 'no') score -= 18;\n\n    if (needCleaning) score -= 10;\n    if (needPhotosLater) score -= 8;\n    if (needGuidance) score -= 6;\n    if (needStaging) score -= 8;\n    if (needEnergyLabel) score -= 10;\n    if (needCosmeticHelp) score -= 12;\n\n    if (score < 0) score = 0;\n\n    const preparationNeeded =\n      condition === 'medium' ||\n      condition === 'heavy' ||\n      needCleaning ||\n      needPhotosLater ||\n      needCosmeticHelp;\n\n    const lowBudget = budget === 'none' || budget === 'small';\n\n    if (score >= 75) {\n      routeTitle = 'Ready to launch';\n      routeSummary = 'Your property appears relatively close to listing-ready. A few smart finishing choices may still improve presentation, viewer confidence, and the overall listing quality.';\n      tags.push('Launch-ready');\n    } else if (score >= 45) {\n      routeTitle = 'Improve before launch';\n      routeSummary = 'Your property appears close, but light preparation first is likely to improve how it presents, how viewings feel, and how confidently buyers or tenants respond.';\n      tags.push('Light preparation recommended');\n    } else {\n      routeTitle = 'Prepare first';\n      routeSummary = 'Going live too quickly may weaken first impressions and lead to avoidable friction during viewings. A preparation-first route is likely the stronger option here.';\n      tags.push('Preparation-first route');\n    }\n\n    if (goal === 'sell') {\n      tags.push('Selling');\n      actions.push('Review which improvements are worth doing before launch and which are not essential.');\n      actions.push('Make sure the property is presented clearly, honestly, and consistently in both photos and text.');\n      if (occupancy === 'lived') {\n        actions.push('Plan viewings in grouped time slots where possible to reduce repeated preparation stress.');\n      }\n    }\n\n    if (goal === 'rent') {\n      tags.push('Renting');\n      actions.push('Clarify who the property is suitable for before publication so your listing attracts better-matched applicants.');\n      actions.push('Prepare the property for efficient, well-controlled viewings rather than open access.');\n    }\n\n    if (docs === 'partial' || docs === 'no') {\n      actions.push('Bring key documents together before publication to reduce delays later in the process.');\n      tags.push('Documents pending');\n    } else {\n      tags.push('Documents ready');\n    }\n\n    if (needCleaning) {\n      actions.push('Complete deep cleaning or decluttering before final photography and before the first viewing requests are approved.');\n      services.push({\n        title:'Cleaning & decluttering support',\n        text:'A cleaner, calmer space often improves presentation and helps viewers focus on the property itself.',\n        link:'https:\/\/flexestate.nl\/product\/woningschoonmaak-dienst\/',\n        button:'View options'\n      });\n    }\n\n    if (needPhotosLater) {\n      actions.push('Schedule photography only after the main preparation work has been completed.');\n      tags.push('Photography later');\n    }\n\n    if (needGuidance) {\n      actions.push('Consider a short preparation consultation to decide what should be improved first and what can stay as-is.');\n      tags.push('Extra guidance');\n      services.push({\n        title:'Preparation advice',\n        text:'A tailored preparation review can help you focus on the improvements most likely to strengthen presentation before launch.',\n        link:'https:\/\/flexestate.nl\/product\/woning-presentatie-consult\/',\n        button:'Book advice'\n      });\n    }\n\n    if (needStaging || occupancy === 'empty') {\n      actions.push('Empty spaces may benefit from staging or visual support to help viewers understand layout and potential use.');\n      tags.push('Presentation support');\n      services.push({\n        title:'Staging or presentation support',\n        text:'Staging or visual presentation support can help empty spaces feel more understandable and more appealing in photos and viewings.',\n        link:'https:\/\/flexestate.nl\/product\/virtual-staging\/',\n        button:'View options'\n      });\n    }\n\n    if (needEnergyLabel) {\n      actions.push('Arrange or update the energy label before final publication if required.');\n      tags.push('Energy label');\n      services.push({\n        title:'Energy label service',\n        text:'Need an energy label or updated report? This can be arranged before your property goes live.',\n        link:'https:\/\/flexestate.nl\/product\/energielabel-en-officieel-certificaat\/',\n        button:'View service'\n      });\n    }\n\n    if (needCosmeticHelp || condition === 'medium' || condition === 'heavy') {\n      actions.push('Focus first on visible cosmetic issues that may affect first impressions during photos or viewings.');\n      services.push({\n        title:'Cosmetic improvement support',\n        text:'Paint touch-ups, minor repairs or light finishing work can often improve presentation more than expected.',\n        link:'mailto:info@flexestate.nl?subject=Request%20for%20cosmetic%20work%20\/%20repairs&body=Hello%20Flex%20Estate,%0A%0AI%20would%20like%20to%20be%20connected%20with%20a%20professional%20for%20cosmetic%20work%20or%20repairs.%0A%0AProperty%20address:%0ADescription%20of%20work:%0APhone%20number:%0AAvailability:%0A%0AKind%20regards,',\n        button:'Request support'\n      });\n    }\n\n    if (timeline === 'urgent' && lowBudget) {\n      actions.push('If speed matters more than perfection, focus on the most visible issues first and launch with realistic expectations.');\n      tags.push('Time-sensitive');\n    }\n\n    if (preparationNeeded && timeline !== 'urgent') {\n      actions.push('Because your timeline allows it, it may be worth preparing first and launching in a more polished way.');\n    }\n\n    extraNote = score >= 75\n      ? 'You appear relatively close to launch. Small presentation improvements may still help your listing feel stronger and more complete.'\n      : score >= 45\n      ? 'A light preparation phase may improve the quality of your listing, the viewing experience, and the confidence of potential buyers or tenants.'\n      : 'Your answers suggest that rushing to market could create unnecessary stress, weak first impressions, or avoidable viewing friction. A preparation-first approach is likely the stronger route.';\n\n    checklistData = actions.slice();\n    routeData = routeTitle;\n    scoreData = score;\n    summaryData = routeSummary;\n    extraNoteData = extraNote;\n\n    document.getElementById('routeTitle').innerText = routeTitle;\n    document.getElementById('routeSummary').innerText = routeSummary;\n\n    const actionList = document.getElementById('actionList');\n    actionList.innerHTML = '';\n    actions.forEach(item => {\n      const li = document.createElement('li');\n      li.textContent = item;\n      actionList.appendChild(li);\n    });\n\n    const tagWrap = document.getElementById('tagWrap');\n    tagWrap.innerHTML = '';\n    [...new Set(tags)].forEach(tag => {\n      const span = document.createElement('span');\n      span.className = 'fe-tag';\n      span.textContent = tag;\n      tagWrap.appendChild(span);\n    });\n\n    document.getElementById('extraNote').innerText = extraNote;\n    document.getElementById('feMeterFill').style.width = score + '%';\n    document.getElementById('feMeterScore').innerText = score + ' \/ 100';\n\n    const serviceGrid = document.getElementById('serviceGrid');\n    serviceGrid.innerHTML = '';\n\n    const uniqueServices = [];\n    const seen = new Set();\n    services.forEach(service => {\n      if (!seen.has(service.title)) {\n        seen.add(service.title);\n        uniqueServices.push(service);\n      }\n    });\n\n    servicesData = uniqueServices;\n\n    if (uniqueServices.length > 0) {\n      uniqueServices.forEach(service => {\n        const card = document.createElement('div');\n        card.className = 'fe-service-card';\n        card.innerHTML = `\n          <h4>${service.title}<\/h4>\n          <p>${service.text}<\/p>\n          <a class=\"fe-btn fe-btn-secondary\" href=\"${service.link}\" style=\"width:100%;\">${service.button}<\/a>\n        `;\n        serviceGrid.appendChild(card);\n      });\n      document.getElementById('feServiceSection').style.display = 'block';\n    } else {\n      document.getElementById('feServiceSection').style.display = 'none';\n    }\n\n    document.getElementById('feEmpty').style.display = 'none';\n    document.getElementById('feResult').classList.add('active');\n  }\n\n  function resetPrepTool(){\n    ['goal','timeline','condition','occupancy','budget','docs'].forEach(id=>{\n      document.getElementById(id).value = '';\n    });\n\n    ['needCleaning','needPhotosLater','needGuidance','needStaging','needEnergyLabel','needCosmeticHelp'].forEach(id=>{\n      document.getElementById(id).checked = false;\n    });\n\n    document.getElementById('feResult').classList.remove('active');\n    document.getElementById('feEmpty').style.display = 'block';\n    document.getElementById('feMeterFill').style.width = '0%';\n    document.getElementById('feMeterScore').innerText = '0 \/ 100';\n    checklistData = [];\n    routeData = '';\n    scoreData = 0;\n    summaryData = '';\n    extraNoteData = '';\n    servicesData = [];\n  }\n\n  function downloadChecklist(){\n    if (!checklistData.length) {\n      alert('Please generate your recommendation first.');\n      return;\n    }\n\n    const { jsPDF } = window.jspdf;\n    const doc = new jsPDF({\n      orientation: 'p',\n      unit: 'mm',\n      format: 'a4'\n    });\n\n    const pageWidth = doc.internal.pageSize.getWidth();\n    const pageHeight = doc.internal.pageSize.getHeight();\n    const margin = 16;\n    const contentWidth = pageWidth - margin * 2;\n\n    let y = 18;\n\n    function addPageIfNeeded(extraHeight = 12) {\n      if (y + extraHeight > pageHeight - 18) {\n        doc.addPage();\n        y = 18;\n      }\n    }\n\n    function addSectionTitle(title) {\n      addPageIfNeeded(14);\n      doc.setFont('helvetica', 'bold');\n      doc.setFontSize(13);\n      doc.setTextColor(0, 28, 81);\n      doc.text(title, margin, y);\n      y += 7;\n    }\n\n    function addParagraph(text, size = 10, color = [60, 70, 80], lineHeight = 5.5) {\n      doc.setFont('helvetica', 'normal');\n      doc.setFontSize(size);\n      doc.setTextColor(...color);\n      const lines = doc.splitTextToSize(text, contentWidth);\n      addPageIfNeeded(lines.length * lineHeight + 2);\n      doc.text(lines, margin, y);\n      y += lines.length * lineHeight + 2;\n    }\n\n    function addBulletList(items) {\n      items.forEach((item, index) => {\n        const bulletText = `${index + 1}. ${item}`;\n        doc.setFont('helvetica', 'normal');\n        doc.setFontSize(10);\n        doc.setTextColor(46, 46, 46);\n\n        const lines = doc.splitTextToSize(bulletText, contentWidth - 4);\n        addPageIfNeeded(lines.length * 5.5 + 2);\n        doc.text(lines, margin, y);\n        y += lines.length * 5.5 + 2;\n      });\n    }\n\n    function addServiceCards(items) {\n      items.forEach((service) => {\n        const titleLines = doc.splitTextToSize(service.title, contentWidth - 8);\n        const textLines = doc.splitTextToSize(service.text, contentWidth - 8);\n        const boxHeight = 8 + (titleLines.length * 5) + (textLines.length * 4.8) + 8;\n\n        addPageIfNeeded(boxHeight + 4);\n\n        doc.setDrawColor(220, 230, 239);\n        doc.setFillColor(249, 251, 253);\n        doc.roundedRect(margin, y, contentWidth, boxHeight, 3, 3, 'FD');\n\n        doc.setFont('helvetica', 'bold');\n        doc.setFontSize(10.5);\n        doc.setTextColor(0, 28, 81);\n        doc.text(titleLines, margin + 4, y + 6);\n\n        let innerY = y + 6 + (titleLines.length * 5);\n\n        doc.setFont('helvetica', 'normal');\n        doc.setFontSize(9.5);\n        doc.setTextColor(81, 96, 109);\n        doc.text(textLines, margin + 4, innerY);\n\n        y += boxHeight + 6;\n      });\n    }\n\n    doc.setFillColor(0, 28, 81);\n    doc.roundedRect(margin, y, contentWidth, 28, 5, 5, 'F');\n\n    doc.setFont('helvetica', 'bold');\n    doc.setFontSize(18);\n    doc.setTextColor(255, 255, 255);\n    doc.text('Flex Estate - Property Preparation Report', margin + 6, y + 10);\n\n    doc.setFont('helvetica', 'normal');\n    doc.setFontSize(10);\n    doc.setTextColor(234, 244, 248);\n    const headerLines = doc.splitTextToSize(\n      'A tailored preparation summary based on your answers. This report helps you decide whether to launch now, improve first, or take a more strategic route before publication.',\n      contentWidth - 12\n    );\n    doc.text(headerLines, margin + 6, y + 17);\n\n    y += 36;\n\n    addPageIfNeeded(18);\n    doc.setDrawColor(215, 227, 235);\n    doc.setFillColor(238, 244, 248);\n    doc.roundedRect(margin, y, contentWidth, 16, 4, 4, 'FD');\n\n    doc.setFont('helvetica', 'bold');\n    doc.setFontSize(11);\n    doc.setTextColor(0, 28, 81);\n    doc.text(`Preparation readiness score: ${scoreData} \/ 100`, margin + 5, y + 10);\n\n    y += 24;\n\n    addSectionTitle('Recommended route');\n    addParagraph(routeData, 12, [0, 28, 81], 6);\n    addParagraph(summaryData, 10, [46, 46, 46], 5.5);\n\naddSectionTitle('What has the most impact');\n\naddParagraph(\n  'Not every improvement has the same effect. Below you can see what usually matters most for first impressions, viewer confidence, and the chance of receiving a strong response.',\n  10,\n  [81,96,109],\n  5.5\n);\n\naddSectionTitle('High impact \u2013 do this first');\naddBulletList([\n  'Make sure the property is thoroughly clean and decluttered. Dirt or visual clutter distracts viewers immediately.',\n  'Fix visible defects such as damaged walls, loose parts, poor paintwork, or obvious wear.',\n  'Create a bright, open presentation for photography and viewings.',\n  'Remove personal items and overfilled furniture so rooms feel calmer and easier to understand.',\n  'Only schedule final photography once the property looks representative.'\n]);\n\naddSectionTitle('Good to improve');\naddBulletList([\n  'Improve the layout or furniture placement so spaces feel logical and spacious.',\n  'Use simple styling to make the property feel warmer and more inviting.',\n  'Make sure the property looks consistent between the photos and the actual viewing.',\n  'Remove small distracting elements such as loose cables, clutter, or outdated details.'\n]);\n\naddSectionTitle('Lower impact \u2013 often overrated');\naddBulletList([\n  'Large renovations that do not clearly improve the first impression.',\n  'Expensive upgrades without a visible effect on presentation or usability.',\n  'Perfecting small details that most viewers will barely notice.',\n  'Investments that do not match the type of buyer or tenant you want to attract.'\n]);\n\n    if (extraNoteData) {\n      y += 2;\naddSectionTitle('Important note');\naddParagraph(\n  'A strong first impression often matters more than perfection. Small, visible improvements usually make more difference than large investments. Focus first on what people notice immediately during photos and viewings.',\n  10,\n  [81,96,109],\n  5.5\n);\n    }\n\n    if (servicesData && servicesData.length) {\n      addSectionTitle('Recommended services');\n      addServiceCards(servicesData);\n    }\n\n    y += 4;\n    addPageIfNeeded(18);\n    doc.setDrawColor(240, 212, 155);\n    doc.setFillColor(255, 247, 232);\n    doc.roundedRect(margin, y, contentWidth, 18, 4, 4, 'FD');\n\n    doc.setFont('helvetica', 'normal');\n    doc.setFontSize(9.5);\n    doc.setTextColor(90, 80, 50);\n    const footerLines = doc.splitTextToSize(\n      'Need extra support? Flex Estate can help you with preparation advice, listing support, and selected services before your property goes live.',\n      contentWidth - 8\n    );\n    doc.text(footerLines, margin + 4, y + 7);\n\n    doc.save('flex-estate-property-preparation-report.pdf');\n  }\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Pre-listing assessment Property Preparation Check Find out whether your property is ready to go live now, needs light preparation first, or would benefit from tailored guidance before photography, viewings, and publication. Based on your answers, you\u2019ll receive a personalized checklist and relevant service suggestions. Your current situation What do you want to do? Choose an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-11114","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/pages\/11114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/comments?post=11114"}],"version-history":[{"count":32,"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/pages\/11114\/revisions"}],"predecessor-version":[{"id":12261,"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/pages\/11114\/revisions\/12261"}],"wp:attachment":[{"href":"https:\/\/flexestate.nl\/nl\/wp-json\/wp\/v2\/media?parent=11114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}