Calculator Tools Calculator Tools
Create

Short Term Rental Revenue Calculator

Nov 20, 2023

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>