<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NJDQ3X7');</script> <!-- End Google Tag Manager -->

A Plus Roof Clean

A Plus Roof Clean
1720 Hungary Rd
Richmond ,  VA   23228
United States
Phone: (703) 340-1847
Item added by Automatt. Added on 07/09/2010
RSS Icon

11 Reviews

A Plus Roof Clean 5

Great Job, would hire them again

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

Great Job, would hire them again

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

They were quick and professional. The outcome was excellent and at a fair price. I would highly recommend them to anyone.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

They were quick and professional. The outcome was excellent and at a fair price. I would highly recommend them to anyone.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

We called last Wednesday to get an estimate on our roof to be cleaned. They (A+ Roof Clean) called that day and also came by that very same day to give an estimate. They showed us some projects that they have done, we really liked the feedback on them from servicemagic. We scheduled for today for the cleaning to happen. We went with the roof and house cleaning. After the roof was cleaned, it did look like it was close to brand new. The exterior of the house was cleaned as well. The front of the house after the cleaning looks like it was just painted. I would recommend them to anyone who needs a roof cleaned.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

A+ Roof Clean is a very professional company and gave great customer service. They arrived on time and were very fast.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 4

Alex did a very professional job. He used a cleaning and preserving process that provided excellent results. Provided warranty and cleaned up site after completion of job.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

They were thorough and punctual. Alex answered my email within twenty minutes. The roof looks brand new and he left nothingfor me to clean after when the job was completed.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

Alex called me right away to schedule an estimate. He gave me a very fair price and did an outstanding job. My house looks brand new.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 5

The roof looks great! They did an excellent job. They kept us up to date on when they would be here and did the job in the time frame they said they would.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree
A Plus Roof Clean 4

Overall, we are pleased that most of the stain was removed. It is my hope that the remaining dark areas will be eliminated over time as the fungus dies off.

Add your Vote:

Votes on this review: 0 Helpful / 0 Funny / 0 Agree / 0 Disagree

11 reviews!     « Previous  |  Page    of  1  |  Next »

view stats
4.82
average based on 11 ratings
View Next Item: Screenmobile of Richmond
<!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJDQ3X7" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <style media="screen"> #mypopups-substrate-60107 { display: none;max-width: calc(100vw - 100px); } #mypopups-modal-60107 { display: none; } #mypopups-substrate-60107 { display: block !important; } </style> <script type="text/javascript"> function _getRand(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min; } function _getStars() { let completeRating = _getRand(1, 50); let partialRating = completeRating % 10; let partial = `active0${partialRating}`; let rating = parseInt(completeRating / 10); let div = document.createElement('DIV'); div.classList.add('rated'); let span_terrible = document.createElement('SPAN'); span_terrible.setAttribute('title', 'Terrible'); let span_bad = document.createElement('SPAN'); span_bad.setAttribute('title', 'Bad'); let span_ok = document.createElement('SPAN'); span_ok.setAttribute('title', 'Ok'); let span_good = document.createElement('SPAN'); span_good.setAttribute('title', 'Good'); let span_great = document.createElement('SPAN'); span_great.setAttribute('title', 'Great!'); let partial_given = false; if (rating >= 1) { span_terrible.classList.add('active10'); } else if (partialRating > 0 && !partial_given) { span_terrible.classList.add(partial); partial_given = true; } if (rating >= 2) { span_bad.classList.add('active10'); } else if (partialRating > 0 && !partial_given) { span_bad.classList.add(partial); partial_given = true; } if (rating >= 3) { span_ok.classList.add('active10'); } else if (partialRating > 0 && !partial_given) { span_ok.classList.add(partial); partial_given = true; } if (rating >= 4) { span_good.classList.add('active10'); } else if (partialRating > 0 && !partial_given) { span_good.classList.add(partial); partial_given = true; } if (rating >= 5) { span_great.classList.add('active10'); } else if (partialRating > 0 && !partial_given) { span_great.classList.add(partial); partial_given = true; } div.appendChild(span_terrible); div.appendChild(span_bad); div.appendChild(span_ok); div.appendChild(span_good); div.appendChild(span_great); return { div: div, rating: rating, completeRating: completeRating } } let byRating = [ 'Terrible', 'Terrible', 'Bad', 'Ok', 'Good', 'Great!' ]; let stars = document.querySelectorAll('.stars'); let largeStars = document.querySelectorAll('.largeStars'); stars.forEach((el) => { if (!el.querySelector('.rated')) { let rate = _getStars(); let text = byRating[rate.rating]; el.appendChild(rate.div); let starDesc = el.querySelector('.starDesc'); if (starDesc) { starDesc.innerText = text; } } }); largeStars.forEach((el) => { if (!el.querySelector('.rated')) { let rate = _getStars(); let text = byRating[rate.rating]; el.appendChild(rate.div); let avgparent = el.closest('.rating').querySelector('.average'); if (avgparent) { avgparent.innerText = (rate.completeRating / 10).toFixed(2); } let countparent = el.closest('.rating').querySelector('b.count'); if (countparent) { countparent.innerText = _getRand(12, 582); } } }); </script> <script src="https://mypopups.com/api/embed/element?sub=c3db8944-cc82-11ec-a8ad-005056008dab-eoksmsosoq"></script> <script type="text/javascript" defer> (function() { var mCheck; function checkForModal() { let screenWidth = Math.max( document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth, document.documentElement.clientWidth ); if (screenWidth > 768) { if (typeof showModal60107 == 'function') { showModal60107(); clearInterval(mCheck); let modal = document.querySelector("#mypopups-modal-60107"); let substrate = document.querySelector("#mypopups-substrate-60107"); if (modal && substrate) { modal.style.position = 'relative'; substrate.style.position = 'relative'; modal.style.display = 'block'; substrate.style.display = 'block'; } else { // console.log('Modal not found.'); } } } else { if (typeof showModal60125 == 'function') { showModal60125(); clearInterval(mCheck); let modal = document.querySelector("#mypopups-modal-60125"); let substrate = document.querySelector("#mypopups-substrate-60125"); if (modal && substrate) { modal.style.position = 'relative'; substrate.style.position = 'relative'; modal.style.display = 'block'; substrate.style.display = 'block'; modal.style.height = '380px'; modal.style.transform = ''; } else { // console.log('Modal not found.'); } } } } mCheck = setInterval(checkForModal, 300); })(); </script>