Short Term Rental Revenue Calculator
About this app
Calculate estimated revenue for short term rentals based on amenities, location, and bookings.
Short Term Rental Revenue Calculator 🏠 Short Term Rental Revenue Calculator Base nightly rate ($): Number of bookings in the month: Amenities (each selected increases revenue by 5%): Wi-Fi 📶 Pool 🏊 Parking 🚗 Location rating (1-5, each point increases revenue by 10%): Select rating 1 - Poor 2 - Fair 3 - Good 4 - Very Good 5 - Excellent Calculate Revenue Estimated Revenue: $0.00
Related apps
Put this on your site
Source
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Short Term Rental Revenue Calculator</title>
<meta name="description" content="Calculate estimated revenue for short term rentals based on amenities, location, and bookings.">
<meta name="keywords" content="rental, calculator, revenue, estimate, booking, amenities, location">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
function calculateRevenue() {
var baseRate = parseFloat($('#base-rate').val());
var bookings = parseInt($('#bookings').val());
var amenitiesScore = $('#amenities input:checked').length;
var locationScore = $('#location').val();
var revenue = baseRate * bookings;
revenue += revenue * amenitiesScore * 0.05; // 5% increase per amenity
revenue += revenue * locationScore * 0.1; // 10% increase per location score
$('#estimated-revenue').text('$' + revenue.toFixed(2));
}
$('#calculate').click(calculateRevenue);
// Load saved values if they exist
loadLocal();
// Save values to localStorage
$('#base-rate, #bookings, #amenities input, #location').change(function() {
saveLocal();
});
function saveLocal() {
localStorage.setItem('baseRate', $('#base-rate').val());
localStorage.setItem('bookings', $('#bookings').val());
localStorage.setItem('amenities', JSON.stringify($('#amenities input:checked').map(function(){return $(this).val();}).get()));
localStorage.setItem('locationScore', $('#location').val());
}
function loadLocal() {
if(localStorage.getItem('baseRate')) {
$('#base-rate').val(localStorage.getItem('baseRate'));
}
if(localStorage.getItem('bookings')) {
$('#bookings').val(localStorage.getItem('bookings'));
}
if(localStorage.getItem('amenities')) {
var amenities = JSON.parse(localStorage.getItem('amenities'));
amenities.forEach(function(amenity) {
$('#amenities input[value="' + amenity + '"]').prop('checked', true);
});
}
if(localStorage.getItem('locationScore')) {
$('#location').val(localStorage.getItem('locationScore'));
}
}
});
</script>
<style>
body {
font-family: 'Quicksand', sans-serif;
background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
color: #333;
margin-top: 50px;
}
#main-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
h2 {
color: #0d6efd;
margin-bottom: 20px;
}
label {
font-weight: 500;
}
.result {
margin-top: 20px;
font-size: 1.5em;
font-weight: bold;
}
.emoji-icon {
font-size: 1.2em;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h2>🏠 Short Term Rental Revenue Calculator</h2>
<div class="mb-3">
<label for="base-rate" class="form-label">Base nightly rate ($):</label>
<input type="number" class="form-control" id="base-rate" placeholder="Enter base rate">
</div>
<div class="mb-3">
<label for="bookings" class="form-label">Number of bookings in the month:</label>
<input type="number" class="form-control" id="bookings" placeholder="Enter number of bookings">
</div>
<div class="mb-3" id="amenities">
<label class="form-label">Amenities (each selected increases revenue by 5%):</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="wifi" id="wifi">
<label class="form-check-label" for="wifi">Wi-Fi 📶</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="pool" id="pool">
<label class="form-check-label" for="pool">Pool 🏊</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="parking" id="parking">
<label class="form-check-label" for="parking">Parking 🚗</label>
</div>
<!-- Add more amenities as needed -->
</div>
<div class="mb-3">
<label for="location" class="form-label">Location rating (1-5, each point increases revenue by 10%):</label>
<select class="form-select" id="location">
<option value="0">Select rating</option>
<option value="1">1 - Poor</option>
<option value="2">2 - Fair</option>
<option value="3">3 - Good</option>
<option value="4">4 - Very Good</option>
<option value="5">5 - Excellent</option>
</select>
</div>
<button id="calculate" class="btn btn-primary">Calculate Revenue</button>
<div class="result" id="estimated-revenue">Estimated Revenue: $0.00</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!