{"id":522,"date":"2026-03-08T23:20:21","date_gmt":"2026-03-08T22:20:21","guid":{"rendered":"https:\/\/cleanopro.es\/?page_id=522"},"modified":"2026-05-12T22:51:32","modified_gmt":"2026-05-12T20:51:32","slug":"cleaning-price-calculator","status":"publish","type":"page","link":"https:\/\/cleanopro.es\/es\/cleaning-price-calculator\/","title":{"rendered":"Cleaning Price Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"522\" class=\"elementor elementor-522\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5243d2e e-flex e-con-boxed e-con e-parent\" data-id=\"5243d2e\" 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-d889d67 elementor-widget elementor-widget-html\" data-id=\"d889d67\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"cpro-calc-top\">\r\n\r\n  <span>Cleaning price calculator<\/span>\r\n\r\n  <h1 id=\"cproServiceTitle\">Cleaning Price Calculator<\/h1>\r\n\r\n  <p id=\"cproServiceText\">\r\n    Calculate your cleaning price in Barcelona based on your property size, selected extras and preferred booking time.\r\n  <\/p>\r\n\r\n  <a href=\"#\" onclick=\"openCproServicePopup(); return false;\" class=\"cpro-change-service\">\r\n    Change cleaning service\r\n  <\/a>\r\n\r\n<\/div>\r\n\r\n<div id=\"cproServicePopup\" class=\"cpro-service-popup\">\r\n\r\n  <div class=\"cpro-service-popup-box\">\r\n\r\n    <h3>Choose your cleaning service<\/h3>\r\n\r\n    <button type=\"button\" class=\"cpro-service-option\" onclick=\"setCproService('deep')\">\r\n      <strong>Deep Cleaning<\/strong>\r\n      <span>Detailed cleaning for homes, apartments and rentals.<\/span>\r\n    <\/button>\r\n\r\n    <button type=\"button\" class=\"cpro-service-option\" onclick=\"setCproService('move-out')\">\r\n      <strong>Move-Out Cleaning<\/strong>\r\n      <span>For handover, inspection and preparing a rented property.<\/span>\r\n    <\/button>\r\n\r\n    <button type=\"button\" class=\"cpro-service-option\" onclick=\"setCproService('renovation')\">\r\n      <strong>After Renovation Cleaning<\/strong>\r\n      <span>Heavy post-construction cleaning with dust and paint residue removal.<\/span>\r\n    <\/button>\r\n\r\n    <button type=\"button\" class=\"cpro-popup-close\" onclick=\"closeCproServicePopup()\">\r\n      Close\r\n    <\/button>\r\n\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  updateCproServiceText();\r\n});\r\n\r\nfunction updateCproServiceText() {\r\n  const params = new URLSearchParams(window.location.search);\r\n  const service = params.get(\"service\");\r\n\r\n  const title = document.getElementById(\"cproServiceTitle\");\r\n  const text = document.getElementById(\"cproServiceText\");\r\n\r\n  if (!title || !text) return;\r\n\r\n  if (service === \"move-out\") {\r\n    title.textContent = \"Move-Out Cleaning Price Calculator\";\r\n    text.textContent = \"Calculate your move-out cleaning price in Barcelona for handover, inspection or preparing a property for new tenants.\";\r\n  } else if (service === \"renovation\") {\r\n    title.textContent = \"After Renovation Cleaning Price Calculator\";\r\n    text.textContent = \"Calculate your renovation cleaning price in Barcelona for homes, offices and properties after construction work.\";\r\n  } else {\r\n    title.textContent = \"Deep Cleaning Price Calculator\";\r\n    text.textContent = \"Calculate your deep cleaning price in Barcelona for homes, apartments and rentals that need a detailed clean.\";\r\n  }\r\n}\r\n\r\nfunction openCproServicePopup() {\r\n  document.getElementById(\"cproServicePopup\").style.display = \"flex\";\r\n}\r\n\r\nfunction closeCproServicePopup() {\r\n  document.getElementById(\"cproServicePopup\").style.display = \"none\";\r\n}\r\n\r\nfunction setCproService(service) {\r\n  const url = new URL(window.location.href);\r\n  url.searchParams.set(\"service\", service);\r\n  window.location.href = url.toString();\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ac23476 e-flex e-con-boxed e-con e-parent\" data-id=\"ac23476\" 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-06cf144 elementor-widget elementor-widget-html\" data-id=\"06cf144\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"cpro-calc\">\r\n\r\n<h2 id=\"calcTitle\">Get your cleaning price<\/h2>\r\n\r\n<label>Postcode<\/label>\r\n<input id=\"postcode\" type=\"text\" placeholder=\"08003\" required>\r\n\r\n<div id=\"postcodeError\" style=\"display:none;color:#dc2626;font-weight:700;margin-top:8px;\">\r\n  Please enter a valid postcode.\r\n<\/div>\r\n\r\n<h3 id=\"packageTitle\">Cleaning Package<\/h3>\r\n\r\n<div class=\"grid\">\r\n  <button class=\"size active\" data-key=\"0-40\" data-deep=\"135\" data-move=\"145\" data-reno=\"245\" data-window=\"20\" data-cabinetempty=\"10\" data-cabinetreload=\"20\" data-blocks=\"3\">0 - 40 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"41-70\" data-deep=\"205\" data-move=\"220\" data-reno=\"425\" data-window=\"35\" data-cabinetempty=\"20\" data-cabinetreload=\"35\" data-blocks=\"2\">41 - 70 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"71-100\" data-deep=\"285\" data-move=\"295\" data-reno=\"600\" data-window=\"45\" data-cabinetempty=\"30\" data-cabinetreload=\"45\" data-blocks=\"2\">71 - 100 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"101-130\" data-deep=\"365\" data-move=\"375\" data-reno=\"785\" data-window=\"55\" data-cabinetempty=\"40\" data-cabinetreload=\"55\" data-blocks=\"2\">101 - 130 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"131-160\" data-deep=\"445\" data-move=\"455\" data-reno=\"965\" data-window=\"65\" data-cabinetempty=\"50\" data-cabinetreload=\"65\" data-blocks=\"1\">131 - 160 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"161-190\" data-deep=\"525\" data-move=\"535\" data-reno=\"1145\" data-window=\"75\" data-cabinetempty=\"60\" data-cabinetreload=\"75\" data-blocks=\"1\">161 - 190 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"191-220\" data-deep=\"595\" data-move=\"615\" data-reno=\"1325\" data-window=\"85\" data-cabinetempty=\"70\" data-cabinetreload=\"85\" data-blocks=\"1\">191 - 220 m\u00b2<\/button>\r\n  <button class=\"size\" data-key=\"221-250\" data-deep=\"675\" data-move=\"695\" data-reno=\"1500\" data-window=\"95\" data-cabinetempty=\"80\" data-cabinetreload=\"95\" data-blocks=\"1\">221 - 250 m\u00b2<\/button>\r\n<\/div>\r\n\r\n<div id=\"conditionBlock\">\r\n  <h3>Property condition<\/h3>\r\n  <div class=\"grid3\">\r\n    <button class=\"condition active\" data-m=\"1\">Standard<\/button>\r\n    <button class=\"condition recommended\" data-m=\"1.25\">Heavy Cleaning <span class=\"badge\">Most chosen<\/span><\/button>\r\n    <button class=\"condition\" data-m=\"1.5\">Extreme Cleaning<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div id=\"renoNotice\" style=\"display:none;text-align:center;margin:25px 0;font-weight:900;color:#009131;\">\r\n  Renovation cleaning includes heavy cleaning and paint residue removal by default.\r\n<\/div>\r\n\r\n<h3>Premium Extra Services<\/h3>\r\n\r\n<div class=\"icon-grid\">\r\n  <div class=\"extra-toggle\" data-tier=\"window\" data-name=\"Window Inside\"><span>Window Inside<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-tier=\"window\" data-name=\"Window Outside\"><span>Window Outside<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-price=\"25\" data-name=\"Inside Oven Cleaning\"><span>Inside Oven<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-price=\"15\" data-name=\"Microwave Cleaning\"><span>Microwave<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-price=\"20\" data-name=\"Fridge Deep Cleaning\"><span>Fridge Cleaning<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-tier=\"cabinetempty\" data-name=\"Empty Cabinets Cleaning\"><span>Empty Cabinets Cleaning<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-tier=\"cabinetreload\" data-name=\"Kitchen cabinets empty and reload\"><span>Kitchen cabinets empty & reload<\/span><\/div>\r\n  <div class=\"extra-toggle reno-only\" data-price=\"60\" data-name=\"Construction waste removal\"><span>Construction waste removal<\/span><\/div>\r\n<\/div>\r\n\r\n<h3>Balcony \/ Terrace<\/h3>\r\n\r\n<div class=\"grid\">\r\n  <button class=\"balcony active\" data-price=\"0\" data-label=\"No Balcony\">No Balcony<\/button>\r\n  <button class=\"balcony\" data-price=\"20\" data-label=\"0 - 5 m\u00b2\">0 - 5 m\u00b2<\/button>\r\n  <button class=\"balcony\" data-price=\"30\" data-label=\"6 - 10 m\u00b2\">6 - 10 m\u00b2<\/button>\r\n  <button class=\"balcony\" data-price=\"45\" data-label=\"11 - 15 m\u00b2\">11 - 15 m\u00b2<\/button>\r\n  <button class=\"balcony\" data-price=\"60\" data-label=\"16 - 20 m\u00b2\">16 - 20 m\u00b2<\/button>\r\n  <button class=\"balcony\" data-price=\"75\" data-label=\"20 - 25 m\u00b2\">20 - 25 m\u00b2<\/button>\r\n  <button class=\"balcony\" data-price=\"80\" data-label=\"26 - 30 m\u00b2\">26 - 30 m\u00b2<\/button>\r\n  <button class=\"pressure\" data-price=\"20\" data-label=\"High Pressure\">+ High Pressure<\/button>\r\n<\/div>\r\n\r\n<h3>Fabric & Upholstery Cleaning<\/h3>\r\n\r\n<div class=\"extra\" data-price=\"20\" data-name=\"Sofa Cleaning\">\r\n  <span>Sofa Cleaning<\/span>\r\n  <div class=\"qty\"><button type=\"button\">-<\/button><span>0<\/span><button type=\"button\">+<\/button><\/div>\r\n<\/div>\r\n\r\n<div class=\"extra\" data-price=\"35\" data-name=\"Carpet Cleaning\">\r\n  <span>Carpet Cleaning<\/span>\r\n  <div class=\"qty\"><button type=\"button\">-<\/button><span>0<\/span><button type=\"button\">+<\/button><\/div>\r\n<\/div>\r\n\r\n<div class=\"extra\" data-price=\"35\" data-name=\"Mattress Cleaning\">\r\n  <span>Mattress Cleaning<\/span>\r\n  <div class=\"qty\"><button type=\"button\">-<\/button><span>0<\/span><button type=\"button\">+<\/button><\/div>\r\n<\/div>\r\n\r\n<h3>Key & Report Services<\/h3>\r\n\r\n<div class=\"icon-grid\">\r\n  <div class=\"extra-toggle\" data-price=\"25\" data-name=\"Key Handling\"><span>Key Handling<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-price=\"10\" data-name=\"Photo Report\"><span>Photo Report<\/span><\/div>\r\n  <div class=\"extra-toggle\" data-price=\"25\" data-name=\"Pet Cleaning\"><span>Pet Cleaning<\/span><\/div>\r\n<\/div>\r\n\r\n<div class=\"total\">\r\n  <div>\r\n    <small>Total price<\/small>\r\n    <strong>\u20ac<span id=\"total\">135.00<\/span><\/strong>\r\n  <\/div>\r\n  <button id=\"go\" type=\"button\">Choose Date & Time<\/button>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const root = document.getElementById(\"cpro-calc\");\r\n  const paramsUrl = new URLSearchParams(window.location.search);\r\n\r\n  let serviceParam = paramsUrl.get(\"service\") || \"deep\";\r\n  let postcodeParam = paramsUrl.get(\"postcode\") || \"\";\r\n  let serviceName = \"Deep Cleaning\";\r\n\r\n  function q(selector){ return root.querySelector(selector); }\r\n  function qa(selector){ return root.querySelectorAll(selector); }\r\n\r\n  function activeSize(){ return q(\".size.active\"); }\r\n\r\n  function getBasePrice(){\r\n    const btn = activeSize();\r\n\r\n    if(serviceParam === \"renovation\"){\r\n      return Number(btn.dataset.reno);\r\n    }\r\n\r\n    if(serviceParam === \"move-out\"){\r\n      return Number(btn.dataset.move);\r\n    }\r\n\r\n    return Number(btn.dataset.deep);\r\n  }\r\n\r\n  function getBookingUrl(){\r\n    const key = activeSize().dataset.key;\r\n\r\n    if(serviceParam === \"move-out\"){\r\n      if(key === \"0-40\") return \"\/booking-move-out-0-40\/\";\r\n      if(key === \"41-70\" || key === \"71-100\" || key === \"101-130\") return \"\/booking-move-out-41-130\/\";\r\n      return \"\/booking-move-out-131-plus\/\";\r\n    }\r\n\r\n    if(serviceParam === \"renovation\"){\r\n      if(key === \"0-40\") return \"\/booking-renovation-0-40\/\";\r\n      if(key === \"41-70\" || key === \"71-100\" || key === \"101-130\") return \"\/booking-renovation-41-130\/\";\r\n      return \"\/booking-renovation-131-plus\/\";\r\n    }\r\n\r\n    if(key === \"0-40\") return \"\/booking-deep-0-40\/\";\r\n    if(key === \"41-70\" || key === \"71-100\" || key === \"101-130\") return \"\/booking-deep-41-130\/\";\r\n    return \"\/booking-deep-131-plus\/\";\r\n  }\r\n\r\n  function setServiceMode(){\r\n    if(postcodeParam){ q(\"#postcode\").value = postcodeParam; }\r\n\r\n    qa(\".reno-only\").forEach(el=>{\r\n      el.style.display = serviceParam === \"renovation\" ? \"\" : \"none\";\r\n      if(serviceParam !== \"renovation\") el.classList.remove(\"active\");\r\n    });\r\n\r\n    if(serviceParam === \"move-out\"){\r\n      serviceName = \"Move-Out Cleaning\";\r\n      q(\"#calcTitle\").innerText = \"Get your move-out cleaning price\";\r\n      q(\"#packageTitle\").innerText = \"Move-Out Cleaning Package\";\r\n      q(\"#conditionBlock\").style.display = \"block\";\r\n      q(\"#renoNotice\").style.display = \"none\";\r\n    } else if(serviceParam === \"renovation\"){\r\n      serviceName = \"After Renovation Cleaning\";\r\n      q(\"#calcTitle\").innerText = \"Get your renovation cleaning price\";\r\n      q(\"#packageTitle\").innerText = \"Renovation Cleaning Package\";\r\n      q(\"#conditionBlock\").style.display = \"none\";\r\n      q(\"#renoNotice\").style.display = \"block\";\r\n    } else {\r\n      serviceName = \"Deep Cleaning\";\r\n      q(\"#calcTitle\").innerText = \"Get your deep cleaning price\";\r\n      q(\"#packageTitle\").innerText = \"Deep Cleaning Package\";\r\n      q(\"#conditionBlock\").style.display = \"block\";\r\n      q(\"#renoNotice\").style.display = \"none\";\r\n    }\r\n  }\r\n\r\n  function calc(){\r\n    let total = getBasePrice();\r\n    const sizeBtn = activeSize();\r\n\r\n    qa(\".extra-toggle.active\").forEach(el=>{\r\n      if(el.dataset.tier){\r\n        total += Number(sizeBtn.dataset[el.dataset.tier] || 0);\r\n      } else {\r\n        total += Number(el.dataset.price || 0);\r\n      }\r\n    });\r\n\r\n    qa(\".extra\").forEach(row=>{\r\n      const qty = Number(row.querySelector(\".qty span\").innerText || 0);\r\n      total += qty * Number(row.dataset.price || 0);\r\n    });\r\n\r\n    const balcony = q(\".balcony.active\");\r\n    if(balcony) total += Number(balcony.dataset.price || 0);\r\n\r\n    qa(\".pressure.active\").forEach(btn=>{\r\n      total += Number(btn.dataset.price || 0);\r\n    });\r\n\r\n    if(serviceParam !== \"renovation\"){\r\n      const condition = q(\".condition.active\");\r\n      total *= Number(condition.dataset.m || 1);\r\n    }\r\n\r\n    q(\"#total\").innerText = total.toFixed(2);\r\n    return total;\r\n  }\r\n\r\n  qa(\".size\").forEach(btn=>{\r\n    btn.addEventListener(\"click\", function(){\r\n      qa(\".size\").forEach(b=>b.classList.remove(\"active\"));\r\n      btn.classList.add(\"active\");\r\n      calc();\r\n    });\r\n  });\r\n\r\n  qa(\".condition\").forEach(btn=>{\r\n    btn.addEventListener(\"click\", function(){\r\n      qa(\".condition\").forEach(b=>b.classList.remove(\"active\"));\r\n      btn.classList.add(\"active\");\r\n      calc();\r\n    });\r\n  });\r\n\r\n  qa(\".extra-toggle\").forEach(el=>{\r\n    el.addEventListener(\"click\", function(){\r\n      el.classList.toggle(\"active\");\r\n      calc();\r\n    });\r\n  });\r\n\r\n  qa(\".balcony\").forEach(btn=>{\r\n    btn.addEventListener(\"click\", function(){\r\n      qa(\".balcony\").forEach(b=>b.classList.remove(\"active\"));\r\n      btn.classList.add(\"active\");\r\n      calc();\r\n    });\r\n  });\r\n\r\n  qa(\".pressure\").forEach(btn=>{\r\n    btn.addEventListener(\"click\", function(){\r\n      btn.classList.toggle(\"active\");\r\n      calc();\r\n    });\r\n  });\r\n\r\n  qa(\".extra .qty button\").forEach(btn=>{\r\n    btn.addEventListener(\"click\", function(){\r\n      const span = btn.parentElement.querySelector(\"span\");\r\n      let value = Number(span.innerText || 0);\r\n\r\n      if(btn.innerText.trim() === \"+\") value++;\r\n      if(btn.innerText.trim() === \"-\" && value > 0) value--;\r\n\r\n      span.innerText = value;\r\n      calc();\r\n    });\r\n  });\r\n\r\nq(\"#go\").addEventListener(\"click\", function(){\r\n\r\n  const postcode = q(\"#postcode\").value.trim();\r\n  const error = q(\"#postcodeError\");\r\n\r\n  if(postcode.length < 4 || !\/^[a-zA-Z0-9 ]+$\/.test(postcode)){\r\n    error.style.display = \"block\";\r\n    return;\r\n  }\r\n\r\n  error.style.display = \"none\";\r\n\r\n  const total = calc();\r\n  const sizeBtn = activeSize();\r\n\r\n  let condition = \"Heavy cleaning included\";\r\n\r\n  if(serviceParam !== \"renovation\"){\r\n    condition = q(\".condition.active\").innerText.replace(\"Most chosen\", \"\").trim();\r\n  }\r\n\r\n  let extras = [];\r\n\r\n  if(serviceParam === \"renovation\"){\r\n    extras.push(\"Heavy renovation cleaning included\");\r\n    extras.push(\"Paint residue removal included\");\r\n  }\r\n\r\n  qa(\".extra-toggle.active\").forEach(function(el){\r\n    extras.push(el.dataset.name);\r\n  });\r\n\r\n  qa(\".extra\").forEach(function(row){\r\n    const qty = Number(row.querySelector(\".qty span\").innerText || 0);\r\n    if(qty > 0){\r\n      extras.push(row.dataset.name + \" \" + qty + \"x\");\r\n    }\r\n  });\r\n\r\n  const balcony = q(\".balcony.active\");\r\n\r\n  if(balcony && Number(balcony.dataset.price || 0) > 0){\r\n    extras.push(\"Balcony \/ Terrace \" + balcony.dataset.label);\r\n  }\r\n\r\n  qa(\".pressure.active\").forEach(function(btn){\r\n    extras.push(btn.dataset.label);\r\n  });\r\n\r\n  const bookingParams = new URLSearchParams({\r\n    price: total.toFixed(2),\r\n    postcode: postcode,\r\n    service: serviceName,\r\n    property_size: sizeBtn.textContent.replace(\/\\s+\/g, \" \").trim(),\r\n    property_condition: condition,\r\n    booking_blocks: sizeBtn.dataset.blocks || \"1\",\r\n    summary: extras.join(\" | \")\r\n  });\r\n\r\n  fetch(\"\/wp-admin\/admin-ajax.php\", {\r\n    method: \"POST\",\r\n    headers: {\r\n      \"Content-Type\": \"application\/x-www-form-urlencoded\"\r\n    },\r\n    body: new URLSearchParams({\r\n      action: \"cleanopro_create_order\",\r\n      service_name: serviceName,\r\n      property_size: sizeBtn.textContent.replace(\/\\s+\/g, \" \").trim(),\r\n      property_condition: condition,\r\n      postcode: postcode,\r\n      extras: extras.join(\" | \"),\r\n      total_price: total.toFixed(2)\r\n    })\r\n  })\r\n  .then(function(response){\r\n    return response.json();\r\n  })\r\n  .then(function(data){\r\n\r\n    if(data.success && data.data && data.data.order_uid){\r\n      bookingParams.set(\"order_uid\", data.data.order_uid);\r\n    }\r\n\r\n    window.location.href = getBookingUrl() + \"?\" + bookingParams.toString();\r\n\r\n  })\r\n  .catch(function(){\r\n    window.location.href = getBookingUrl() + \"?\" + bookingParams.toString();\r\n  });\r\n\r\n});\r\n\r\nsetServiceMode();\r\ncalc();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d7aa398 e-flex e-con-boxed e-con e-parent\" data-id=\"d7aa398\" 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-4f270c2 elementor-widget elementor-widget-html\" data-id=\"4f270c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"cpro-calc-trust\">\r\n  <span>\u2726 Instant quote<\/span>\r\n  <span>\u2726 Book in 60 sec<\/span>\r\n  <span>\u2726 No obligation<\/span>\r\n  <span>\u2726 Trusted cleaners<\/span>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-212fee9 e-flex e-con-boxed e-con e-parent\" data-id=\"212fee9\" 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-7f6c74c elementor-widget elementor-widget-html\" data-id=\"7f6c74c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"cproServicePopup\" class=\"cpro-service-popup\">\r\n\r\n  <div class=\"cpro-service-popup-box\">\r\n\r\n    <h3>Choose your cleaning service<\/h3>\r\n\r\n    <div class=\"cpro-service-list\">\r\n\r\n      <div class=\"cpro-service-item\" onclick=\"setCproService('deep')\">\r\n        <h4>Deep Cleaning<\/h4>\r\n        <p>Full home cleaning for apartments and houses<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"cpro-service-item\" onclick=\"setCproService('move-out')\">\r\n        <h4>Move-Out Cleaning<\/h4>\r\n        <p>Perfect for handover, inspection and rentals<\/p>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <button onclick=\"closeCproPopup()\" class=\"cpro-popup-close\">\r\n      Close\r\n    <\/button>\r\n\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\nfunction openCproPopup() {\r\n  document.getElementById(\"cproServicePopup\").style.display = \"flex\";\r\n}\r\n\r\nfunction closeCproPopup() {\r\n  document.getElementById(\"cproServicePopup\").style.display = \"none\";\r\n}\r\n\r\nfunction setCproService(service) {\r\n  const url = new URL(window.location.href);\r\n  url.searchParams.set(\"service\", service);\r\n  window.location.href = url.toString();\r\n}\r\n<\/script>\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>Cleaning price calculator Cleaning Price Calculator Calculate your cleaning price in Barcelona based on your property size, selected extras and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"disabled","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-522","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/pages\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/comments?post=522"}],"version-history":[{"count":357,"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/pages\/522\/revisions"}],"predecessor-version":[{"id":7476,"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/pages\/522\/revisions\/7476"}],"wp:attachment":[{"href":"https:\/\/cleanopro.es\/es\/wp-json\/wp\/v2\/media?parent=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}