Tenant Portal Login
Welcome back!
Pay Rent
View balance and submit payment
Request Repair
Submit a new maintenance request
View Lease Details
Review your current lease terms
Message Administration
Send a message to the BluBin team
💳 Pay Rent
Enter your payment details below. You can pay via ACH bank transfer (free) or credit/debit card. Your bank account information is securely processed by Stripe.
📄 Payment History
| Date | Amount | Type | Method | Status |
|---|---|---|---|---|
| May 1, 2026 | $1,200.00 | Monthly Rent | ACH Bank Transfer | Paid |
| Apr 1, 2026 | $1,200.00 | Monthly Rent | ACH Bank Transfer | Paid |
| Mar 1, 2026 | $1,200.00 | Monthly Rent | Credit Card | Paid |
* Payment records are updated within 1–2 business days of confirmation.
🔧 Submit Maintenance Request
🔧 Repair Request History
| Date | Issue Type | Description | Priority | Status |
|---|---|---|---|---|
| Jun 3, 2026 | Plumbing | Leaking kitchen faucet | Normal | In Progress |
| Apr 20, 2026 | HVAC / Heating | AC unit not cooling properly | Urgent | Resolved |
| Feb 8, 2026 | Electrical | Bedroom outlet not working | Normal | Resolved |
* Contact BluBin Administration for status updates on open requests.
📄 Lease Details
For full lease details or a copy of your lease agreement, please contact BluBin Administration at 612-242-1076 or visit the office.
💬 Message Administration
Welcome to the BluBin Tenant Portal! Use this portal to pay rent, submit maintenance requests, or send us a message any time.
(function(){
var currentUser = null; window.bpLogin = function(){
var username = document.getElementById('bp-username').value.trim();
var password = document.getElementById('bp-password').value;
var errEl = document.getElementById('bp-login-error');
var btn = document.getElementById('bp-login-btn');
if(!username || !password){ if(errEl){errEl.style.display='block';} return; }
if(errEl){ errEl.style.display='none'; }
if(btn){ btn.disabled=true; btn.textContent='Signing in…'; }
var fd = new FormData();
fd.append('action','bp_tenant_login');
fd.append('username', username);
fd.append('password', password);
fetch('/wp-admin/admin-ajax.php',{method:'POST',body:fd})
.then(function(r){ return r.json(); })
.then(function(data){
if(data && data.success){
currentUser = data.data;
sessionStorage.setItem('bpUser', JSON.stringify(currentUser));
bpShowDashboard(currentUser);
} else {
if(errEl){ errEl.style.display='block'; errEl.textContent=(data&&data.data&&data.data.message)||'Invalid username or password. Please try again.'; }
if(btn){ btn.disabled=false; btn.textContent='Sign In'; }
}
})
.catch(function(){
if(errEl){ errEl.style.display='block'; errEl.textContent='Connection error. Please try again.'; }
if(btn){ btn.disabled=false; btn.textContent='Sign In'; }
});
}; function bpShowDashboard(user){
var loginEl = document.getElementById('bp-login-screen');
var dashEl = document.getElementById('bp-dashboard');
if(loginEl){ loginEl.style.display='none'; }
if(dashEl){ dashEl.style.display='block'; }
var nameEl = document.getElementById('bp-topbar-name');
var welcomeEl = document.getElementById('bp-welcome-name');
var addrEl = document.getElementById('bp-welcome-address');
var displayName = (user && user.name) ? user.name : 'Tenant';
if(nameEl) nameEl.textContent = displayName;
if(welcomeEl) welcomeEl.textContent = 'Welcome back, ' + displayName + '!';
if(addrEl) addrEl.textContent = '';
} window.bpLogout = function(){
sessionStorage.removeItem('bpUser');
currentUser = null;
var loginEl = document.getElementById('bp-login-screen');
var dashEl = document.getElementById('bp-dashboard');
if(dashEl){ dashEl.style.display='none'; }
if(loginEl){ loginEl.style.display='flex'; }
var un = document.getElementById('bp-username');
var pw = document.getElementById('bp-password');
var er = document.getElementById('bp-login-error');
if(un){ un.value=''; }
if(pw){ pw.value=''; }
if(er){ er.style.display='none'; }
bpHideAllPanels();
}; function bpHideAllPanels(){
document.querySelectorAll('.bp-panel').forEach(function(p){ p.style.display='none'; p.classList.remove('active'); });
var cards = document.getElementById('bp-main-cards');
if(cards){ cards.style.display='block'; }
} window.bpShowPanel = function(id){
bpHideAllPanels();
var cards = document.getElementById('bp-main-cards');
if(cards){ cards.style.display='none'; }
var panel = document.getElementById('panel-' + id);
if(panel){ panel.style.display='block'; panel.classList.add('active'); panel.scrollIntoView({behavior:'smooth',block:'start'}); }
}; window.bpHidePanel = function(id){
var panel = document.getElementById('panel-' + id);
if(panel){ panel.style.display='none'; panel.classList.remove('active'); }
var cards = document.getElementById('bp-main-cards');
if(cards){ cards.style.display='block'; cards.scrollIntoView({behavior:'smooth',block:'start'}); }
}; window.bpSubmitRepair = function(){
var type = document.getElementById('repair-type') ? document.getElementById('repair-type').value : '';
var desc = document.getElementById('repair-desc') ? document.getElementById('repair-desc').value : '';
var succ = document.getElementById('repair-success');
if(!type){ alert('Please select an issue type.'); return; }
if(!desc){ alert('Please provide a description.'); return; }
if(succ){ succ.style.display='block'; }
var repairDesc = document.getElementById('repair-desc');
var repairType = document.getElementById('repair-type');
setTimeout(function(){
if(succ){ succ.style.display='none'; }
if(repairDesc){ repairDesc.value=''; }
if(repairType){ repairType.value=''; }
}, 4000);
}; window.bpSendMessage = function(){
var subject = document.getElementById('msg-subject') ? document.getElementById('msg-subject').value : '';
var body = document.getElementById('msg-body') ? document.getElementById('msg-body').value : '';
var succ = document.getElementById('msg-success');
if(!subject){ alert('Please enter a subject.'); return; }
if(!body){ alert('Please enter your message.'); return; }
if(succ){ succ.style.display='block'; }
var msgSubject = document.getElementById('msg-subject');
var msgBody = document.getElementById('msg-body');
setTimeout(function(){
if(succ){ succ.style.display='none'; }
if(msgSubject){ msgSubject.value=''; }
if(msgBody){ msgBody.value=''; }
}, 4000);
}; // Auto-restore session
(function(){
var saved = sessionStorage.getItem('bpUser');
if(saved){
try{
currentUser = JSON.parse(saved);
bpShowDashboard(currentUser);
} catch(e){ sessionStorage.removeItem('bpUser'); }
}
})(); })();