May
29

Feeling the heat? How we turned a landlord nightmare into a cool £12k win — without having to evict tenants

Author admin    Category Uncategorized     Tags

Property118

Feeling the heat? How we turned a landlord nightmare into a cool £12k win — without having to evict tenants

With the British Summer sizzling, it isn’t just the weather that has been making landlords sweat.

Thousands of landlords exiting the Private Rented Sector (PRS) are discovering the hard way the time, cost and effort of evicting tenants and running empty property to sell with vacant possession.

The landlord in this case study already knew he didn’t have the time or inclination to evict tenants and wait for a high street sale to complete. And with tenants keen to assert their needs first, he wanted a solution with minimum friction. 

He had already tried to sell to a cash-buying company that assured him his tenants wouldn’t need to know until after the sale and the experience had left him burnt.

They didn’t buy. They tried to sell. But, by trying to keep the sale secret, the only buyers they could market to were investors who, without competition from owner occupiers to drive up the prices, offered him less than 80% of vacant possession value.

While others keep tenants in the dark, we take a completely different, collaborative approach. We engaged with the tenants directly, brought them into the loop, and treated them with respect.

It isn’t always the easiest approach and can be confrontational if handled incorrectly but we are expert mediators, we understand the anxieties tenants face and know the value of having the option to sell with vacant possession should we need to.

In just 22 days, with two cash buyers competing against each other and owner occupiers, the bidding war that ensued pushed the sales price way beyond all expectations, on condition the sale completed with vacant possession.

Not only will our seller receive £12,000 more than he expected; with us managing the conveyancing and solving any problems that might arise, the seller can sit back and enjoy the sunshine while we do all the hard work, knowing:

  • We will take full responsibility for arranging vacant possession
  • The sale is secured by a non-refundable deposit from the moment an offer is accepted
  • The money he receives will not be affected by any expense we incur to arrange vacant possession
  • He will receive rent right up to completion date

You won’t get a higher price for the service, and any company promising you 100% market value is hiding a huge list of costs that are going to come during or after the sale. That’s not the case with us. It’s what makes us different.

We believe in complete transparency and take pride in going above and beyond, rain or shine, to deliver results that outshine expectations. 

Our sellers normally walk away with 85 – 90% of vacant value in return for a faster, more reliable sale than high street agents can offer. But if a property exceeds all expectations, like above, it could be more.

We solve every single problem, no matter what it is – no hassle, no stress and the entire sale managed for you including keeping or relocating tenants, EPCs and repairs.

 If you are feeling the heat and want to explore a positive, respectful, way out, avoiding tenant drama and long court delays get in touch with our team today.

Contact Landlord Sales Agency

(function(){var el=document.getElementById(“ts-607776b5-3f7b-431c-b5cc-fc304603fee3″);if(!el)return;var b=document.body,h=document.documentElement;var dark=b.classList.contains(“dark-mode”)||b.classList.contains(“dark”)||b.classList.contains(“night-mode”)||h.classList.contains(“dark”);if(!dark){var bg=window.getComputedStyle(b).backgroundColor,m=bg.match(/d+/g);if(m)dark=(m[0]*0.299+m[1]*0.587+m[2]*0.114)<128;}el.setAttribute("data-theme",dark?"dark":"light");})();

(function(){
var uid = “crm-form-ba09a29b”;
var form = document.getElementById(uid + ‘-form’);
var wrap = document.getElementById(uid);
var msg = wrap.querySelector(‘.crm-message’);
var totalPages = 1;
var curPage = 0;

// ── Conditional logic ────────────────────────────────────────────────
var condMap = {};

function getFieldValue(fieldId) {
var els = form.querySelectorAll(‘[name=”‘ + fieldId + ‘”], [name=”‘ + fieldId + ‘[]”]’);
if (!els.length) return ”;
var first = els[0];
if (first.type === ‘checkbox’ || first.type === ‘radio’) {
var checked = [];
els.forEach(function(el){ if (el.checked) checked.push(el.value); });
return checked.join(‘,’);
}
return first.value;
}

function evalRule(rule) {
var val = getFieldValue(rule.fieldId);
var cmp = rule.value;
switch (rule.operator) {
case ‘is': return val === cmp;
case ‘isnot': return val !== cmp;
case ‘greaterthan': return parseFloat(val) > parseFloat(cmp);
case ‘lessthan': return parseFloat(val) < parseFloat(cmp);
case 'contains': return val.indexOf(cmp) !== -1;
case 'startswith': return val.indexOf(cmp) === 0;
case 'endswith': return val.slice(-cmp.length) === cmp;
default: return true;
}
}

function applyConditionals() {
Object.keys(condMap).forEach(function(fieldId) {
var cond = condMap[fieldId];
var rules = cond.rules || [];
var match = cond.logicType === 'any'
? rules.some(evalRule)
: rules.every(evalRule);
var show = cond.actionType === 'show' ? match : !match;
var wrapper = form.querySelector('[data-field-id="' + fieldId + '"]');
if (!wrapper) {
var el = form.querySelector('[name="' + fieldId + '"], [name="' + fieldId + '[]"]');
if (el) wrapper = el.closest('.crm-field, .crm-half');
}
if (wrapper) wrapper.style.display = show ? '' : 'none';
});
}

form.addEventListener('change', applyConditionals);
form.addEventListener('input', applyConditionals);
applyConditionals();

// ── Multi-page navigation ────────────────────────────────────────────

// ── Submit ────────────────────────────────────────────────────────────
var submitBtn = form.querySelector('button[type=submit]');
var btnText = submitBtn ? submitBtn.textContent : 'Submit';

var crmApiUrl = "https://p118-crm-api.accent.sh";

function collectFormData() {
var data = {};
for (var j = 0; j < form.elements.length; j++) {
var el = form.elements[j];
if (!el.name) continue;
if (el.type === 'file') continue; // handled by uploadFiles()
if (el.type === 'radio' && !el.checked) continue;
if (el.type === 'checkbox') {
if (!el.checked) continue;
var k = el.name.replace('[]','');
data[k] = data[k] ? data[k].concat([el.value]) : [el.value];
} else {
data[el.name] = el.value;
}
}
// GF auto-substituted {user_agent} / {referer} on hidden fields
// at render time. We do the equivalent right before submit so
// fields whose default value carries these placeholders
// resolve to the browser's actual values rather than being
// stored as literal "{user_agent}" / "{referer}" strings.
var subs = {
'{user_agent}': navigator.userAgent || '',
'{referer}': document.referrer || '',
'{embed_url}': window.location.href || '',
};
for (var name in data) {
if (!data.hasOwnProperty(name)) continue;
var v = data[name];
if (typeof v !== 'string') continue;
for (var tag in subs) {
if (v.indexOf(tag) !== -1) v = v.split(tag).join(subs[tag]);
}
data[name] = v;
}
return data;
}

function uploadFiles(data) {
var fileInputs = form.querySelectorAll('input[type=file][data-crm-file-field]');
var uploads = [];
fileInputs.forEach(function(el) {
if (!el.files || !el.files[0]) return;
var fd = new FormData();
fd.append('file', el.files[0]);
var fieldName = el.name;
uploads.push(
fetch(crmApiUrl + '/public/forms/' + "08ceeaae-4809-444e-ba0f-88da5836c463" + '/upload', { method: 'POST', body: fd })
.then(function(r) {
if (!r.ok) throw new Error('File upload failed (' + r.status + ')');
return r.json();
})
.then(function(res) {
if (res.path) data[fieldName] = res.path;
else throw new Error(res.error || 'File upload failed');
})
);
});
return Promise.all(uploads).then(function() { return data; });
}

function submitFormData(data) {
var body = new FormData();
body.append('action', 'p118_crm_submit');
body.append('form_id', "08ceeaae-4809-444e-ba0f-88da5836c463");
body.append('data', JSON.stringify(data));
// Embed-page context for GF-style merge tags ({embed_url},
// {embed_post:post_title}, {embed_post:ID}). Captured PHP-side
// at render time, then echoed to JS so the submit fetch can
// forward to V2 as request headers.
body.append('embed_url', "");
body.append('embed_post_id', "0");
body.append('embed_post_title', "");

return fetch("https://www.property118.com/wp-admin/admin-ajax.php", { method: 'POST', body: body, credentials: 'same-origin' })
.then(function(r){ return r.json(); })
.then(function(res){
var p = res.data || res;
if (p && p.success) {
if (p.confirmationType === 'redirect' && p.confirmationRedirectUrl) {
window.location.href = p.confirmationRedirectUrl;
} else {
form.style.display = 'none';
msg.className = 'crm-message success';
msg.innerHTML = p.confirmationMessage || 'Thank you for your submission.';
msg.style.display = 'block';
}
} else {
throw new Error((p && p.error) || 'Submission failed.');
}
});
}

form.addEventListener('submit', function(e){
e.preventDefault();
var data = collectFormData();
if (submitBtn) { submitBtn.disabled = true; submitBtn.textContent = 'Processing…'; }
msg.style.display = 'none';

// Standard form (no payment)
uploadFiles(data)
.then(function(d) { return submitFormData(d); })
.catch(function(err){
if (submitBtn) { submitBtn.disabled = false; submitBtn.textContent = btnText; }
msg.className = 'crm-message error';
msg.textContent = err.message;
msg.style.display = 'block';
});
});
})();

The post Feeling the heat? How we turned a landlord nightmare into a cool £12k win — without having to evict tenants appeared first on Property118.

View Full Article: Feeling the heat? How we turned a landlord nightmare into a cool £12k win — without having to evict tenants

Post comment

Categories

Archives

Calendar

May 2026
M T W T F S S
« Apr    
 123
45678910
11121314151617
18192021222324
25262728293031

Recent Posts

Quick Search

RSS More from Letting Links

Facebook Fan Page