Monthly EMI
₹0
Loan Amount: ₹0
Total Interest Payable: ₹0
Total Amount Payable: ₹0
Final Amount (Down Payment + Total Amount): ₹0
12 Months EMI: ₹0
24 Months EMI: ₹0
36 Months EMI: ₹0
const variants = {
"137968": { name: "RM Drum - Black Ed.", price: 137968 },
"150658": { name: "RM Drum", price: 150658 },
"154614": { name: "RM Disc", price: 154614 },
"158343": { name: "RM Disc Bluetooth", price: 158343 },
"160038": { name: "Racing Edition", price: 160038 }
};function updateVariantPrice() {
const variantSelect = document.getElementById('bike-variant');
if (!variantSelect) return;const selectedVariant = variantSelect.value;
const bikePriceInput = document.getElementById('bike-price');
const bikePriceTextInput = document.getElementById('bike-price-input');if (!variants[selectedVariant]) return;bikePriceInput.value = variants[selectedVariant].price;
bikePriceTextInput.value = variants[selectedVariant].price;const downPayment = Number((variants[selectedVariant].price * 0.12).toFixed(2));
document.getElementById('down-payment').value = downPayment;
document.getElementById('down-payment-input').value = downPayment;updateCalculations();
updateValueBoxes('bike-price', variants[selectedVariant].price);
}function setSliderValue(sliderId, inputId, value) {
const slider = document.getElementById(sliderId);
const input = document.getElementById(inputId);
if (!slider || !input) return;slider.value = value;
input.value = value;
updateCalculations();
updateValueBoxes(sliderId, value);
}function updateValueBoxes(sliderId, value) {
const boxes = document.querySelectorAll(`#${sliderId}-boxes .value-box`);
boxes.forEach(box => {
box.classList.remove('selected');
if (parseFloat(box.dataset.value) === value) {
box.classList.add('selected');
}
});
}function formatIndianNumber(num) {
return num.toLocaleString('en-IN', { style: 'currency', currency: 'INR', minimumFractionDigits: 0, maximumFractionDigits: 0 });
}function calculateEMI(principal, rate, tenure) {
if (tenure === 0 || rate === 0) return principal;
const monthlyRate = rate / 1200;
const power = Math.pow(1 + monthlyRate, tenure);
const emi = (principal * monthlyRate * power) / (power - 1);
return Number(emi.toFixed(2));
}function updateCalculations() {
const bikePriceInput = document.getElementById('bike-price');
const downPaymentInput = document.getElementById('down-payment');
const interestRateInput = document.getElementById('interest-rate');
const loanTenureInput = document.getElementById('loan-tenure');
const monthlyIncomeInput = document.getElementById('monthly-income');if (!bikePriceInput || !downPaymentInput || !interestRateInput || !loanTenureInput || !monthlyIncomeInput) return;const bikePrice = parseFloat(bikePriceInput.value);
const downPayment = parseFloat(downPaymentInput.value);
const interestRate = parseFloat(interestRateInput.value);
const tenure = parseInt(loanTenureInput.value);
const monthlyIncome = parseFloat(monthlyIncomeInput.value) || 0;const loanAmount = Number((bikePrice - downPayment).toFixed(2));if (downPayment > bikePrice) {
document.getElementById('down-payment').value = bikePrice;
document.getElementById('down-payment-input').value = bikePrice;
updateValueBoxes('down-payment', bikePrice);
return;
}const emi = calculateEMI(loanAmount, interestRate, tenure);
const totalInterest = tenure === 0 ? 0 : Number((emi * tenure - loanAmount).toFixed(2));
const totalPayable = Number((loanAmount + totalInterest).toFixed(2));
const finalAmount = Number((downPayment + totalPayable).toFixed(2));const tenures = [12, 24, 36];
tenures.forEach(tenure => {
const tenureEMI = Math.round(calculateEMI(loanAmount, interestRate, tenure));
const emiElement = document.getElementById(`emi-${tenure}`);
if (emiElement) emiElement.textContent = formatIndianNumber(tenureEMI);
});const loanAmountElement = document.getElementById('loan-amount');
const emiElement = document.getElementById('emi');
const totalInterestElement = document.getElementById('total-interest');
const totalPayableElement = document.getElementById('total-payable');
const finalAmountElement = document.getElementById('final-amount');
const affordabilityBar = document.getElementById('affordability-bar');
const affordabilityText = document.getElementById('affordability-text');if (loanAmountElement) loanAmountElement.textContent = formatIndianNumber(Math.round(loanAmount));
if (emiElement) emiElement.textContent = formatIndianNumber(Math.round(emi));
if (totalInterestElement) totalInterestElement.textContent = formatIndianNumber(Math.round(totalInterest));
if (totalPayableElement) totalPayableElement.textContent = formatIndianNumber(Math.round(totalPayable));
if (finalAmountElement) finalAmountElement.textContent = formatIndianNumber(Math.round(finalAmount));const affordabilityRatio = monthlyIncome === 0 ? 0 : Number((emi / monthlyIncome).toFixed(2));
if (affordabilityBar) affordabilityBar.style.width = `${Math.min(affordabilityRatio * 100, 100)}%`;if (affordabilityBar && affordabilityText) {
if (monthlyIncome === 0) {
affordabilityBar.style.background = '#ccc';
affordabilityText.textContent = '';
} else if (affordabilityRatio <= 0.2) {
affordabilityBar.style.background = '#28a745';
affordabilityText.textContent = 'Very Affordable';
} else if (affordabilityRatio <= 0.3) {
affordabilityBar.style.background = '#5cb85c';
affordabilityText.textContent = 'Affordable';
} else if (affordabilityRatio <= 0.4) {
affordabilityBar.style.background = '#5bc0de';
affordabilityText.textContent = 'Comfortable';
} else if (affordabilityRatio <= 0.5) {
affordabilityBar.style.background = '#ffc107';
affordabilityText.textContent = 'Moderate';
} else if (affordabilityRatio <= 0.6) {
affordabilityBar.style.background = '#f0ad4e';
affordabilityText.textContent = 'Stretching';
} else if (affordabilityRatio {
if (value > 0) {
const sliceAngle = (value / total) * 2 * Math.PI;
ctx.beginPath();
ctx.arc(centerX, centerY, radius, startAngle, startAngle + sliceAngle);
ctx.arc(centerX, centerY, innerRadius, startAngle + sliceAngle, startAngle, true);
ctx.closePath();
ctx.fillStyle = colors[index];
ctx.fill();
startAngle += sliceAngle;
}
});
}function syncInputs(sliderId, inputId, min, max, isPercent = false) {
const slider = document.getElementById(sliderId);
const input = document.getElementById(inputId);
if (!slider || !input) return;slider.addEventListener('input', () => {
let value = parseFloat(slider.value);
input.value = isPercent ? value.toFixed(1) : value;
updateCalculations();
updateValueBoxes(sliderId, value);
});input.addEventListener('input', () => {
let value = parseFloat(input.value);
if (isNaN(value) || value max) value = max;
slider.value = value;
input.value = isPercent ? value.toFixed(1) : value;
updateCalculations();
updateValueBoxes(sliderId, value);
});
}document.addEventListener('DOMContentLoaded', () => {
const variantSelect = document.getElementById('bike-variant');
if (!variantSelect) {
console.error("Element with ID 'bike-variant' not found.");
return;
}variantSelect.value = "137968";variantSelect.addEventListener('change', updateVariantPrice);syncInputs('bike-price', 'bike-price-input', 0, 1000000);
syncInputs('down-payment', 'down-payment-input', 0, 1000000);
syncInputs('interest-rate', 'interest-rate-input', 0, 100, true);
syncInputs('loan-tenure', 'loan-tenure-input', 0, 72);
syncInputs('monthly-income', 'monthly-income-input', 0, 250000);updateVariantPrice();
});
TVS Apache RTR 160 On Road Price In Mumbai All Variants The TVS Apache RTR 160 is available in 5 variants. The Ex-showroom price of its base variant in Mumbai starts at ₹1,10,990 which can reach ₹1,37,968 on road. The top end variant, Racing Edition can go upto ₹1,60,038. This sporty bike boasts a 159.7cc BS6 engine which generates a total power output of 15.82 bhp and a torque of 13.85 Nm.
RTR 160 can get you 61 kmpl of mileage and is offered in 5 colours: Pearl White, Gloss Black, Racing Red, Matte Blue, and T Grey. Bike have disc brakes both in front and rear wheels. TVS had recently updated this bike to meet the latest OBD-2B emission norms. Along with that bike is updated with the latest tech and features to stay in competition like Bluetooth connectivity, crash alerts, turn-by-turn navigation, lean angle modes and call/SMS alerts.
Variant Ex-Showroom (Mumbai) On-Road Price (Mumbai) RM Drum - Black Edition ₹1,10,990 ₹1,37,968 RM Drum ₹1,22,220 ₹1,50,658 RM Disc ₹1,25,720 ₹1,54,614 RM Disc Bluetooth ₹1,29,020 ₹1,58,343 Racing Edition ₹1,30,520 ₹1,60,038
TVS Apache RTR 160 Down Payment And EMI The minimum down payment for TVS Apache RTR 160 can range from 0-10% of total on road price or even more depending on your CIBIL score and other factors like the bank giving loan, or monthly income.
The lowest EMI for the base variant of Apache RTR 160 can reach upto ₹3,918/month for 36 months at 10% annual interest rate after paying 12% of on road price as down payment.
Variant On-Road Price Down (12%) Loan Amount EMI Total Payable Interest Paid RM Drum – Black Ed. ₹1,37,968 ₹16,556 ₹1,21,412 ₹3,918 ₹1,57,590 ₹19,622 RM Drum ₹1,50,658 ₹18,079 ₹1,32,579 ₹4,278 ₹1,72,085 ₹21,427 RM Disc ₹1,54,614 ₹18,554 ₹1,36,060 ₹4,390 ₹1,76,604 ₹21,990 RM Disc Bluetooth ₹1,58,343 ₹19,001 ₹1,39,342 ₹4,496 ₹1,80,863 ₹22,520 Racing Edition ₹1,60,038 ₹19,205 ₹1,40,833 ₹4,544 ₹1,82,799 ₹22,761
TVS Apache RTR 160 EMI Comparison With Other TVS Bikes #tvs-apache-emi-container {
max-width: 600px;
margin: 20px auto;
padding: 20px 20px 45px 20px;
background-color: #ffffff;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
position: relative;
height: 400px;
}@media (prefers-color-scheme: dark) {
#tvs-apache-emi-container {
background-color: #1e1e1e;
color: #ffffff;
}
}#tvs-apache-emi-canvas {
width: 100% !important;
height: 100% !important;
max-height: 100%;
}#tvs-apache-emi-title {
text-align: center;
font-size: 1.5em;
margin-bottom: 10px;
font-family: Arial, sans-serif;
color: #333333;
}@media (prefers-color-scheme: dark) {
#tvs-apache-emi-title {
color: #ffffff;
}
}@media (max-width: 768px) {
#tvs-apache-emi-container {
max-width: 90%;
padding: 10px 10px 35px 10px;
height: 300px;
}
#tvs-apache-emi-title {
font-size: 1.2em;
}
}
TVS Apache RTR 160 EMI Comparison
const ctx = document.getElementById('tvs-apache-emi-canvas').getContext('2d');
const emiChart = new Chart(ctx, {
type: 'bar',
data: {
labels: [''],
datasets: [
{
label: 'TVS Sport',
data: [2019],
backgroundColor: '#FFFFFF',
borderColor: '#000000',
borderWidth: 1
},
{
label: 'TVS Radeon',
data: [2517],
backgroundColor: '#36A2EB',
borderColor: '#36A2EB',
borderWidth: 1
},
{
label: 'TVS Raider 125',
data: [3015],
backgroundColor: '#FFCE56',
borderColor: '#FFCE56',
borderWidth: 1
},
{
label: 'TVS Apache RTR 160',
data: [3918],
backgroundColor: '#4BC0C0',
borderColor: '#4BC0C0',
borderWidth: 1
},
{
label: 'TVS Ronin',
data: [4582],
backgroundColor: '#9966FF',
borderColor: '#9966FF',
borderWidth: 1
}
]
},
options: {
indexAxis: 'y', /* Sort bars horizontally for ascending order */
scales: {
x: {
beginAtZero: true,
title: {
display: true,
text: 'EMI (₹)',
font: { size: 14 }
},
ticks: {
color: '#333333',
callback: function(value) {
return '₹' + value.toLocaleString('en-IN');
}
}
},
y: {
title: {
display: false
},
ticks: {
display: false
}
}
},
plugins: {
legend: {
position: 'bottom',
labels: {
font: { size: 12 },
color: '#333333',
usePointStyle: true,
pointStyle: 'circle',
padding: 10,
boxWidth: 10,
boxHeight: 10
}
},
title: { display: false },
tooltip: {
callbacks: {
label: function(context) {
let label = context.dataset.label || '';
if (label) {
label += ': ';
}
label += '₹' + context.parsed.x.toLocaleString('en-IN');
return label;
}
}
}
},
responsive: true,
maintainAspectRatio: false,
layout: {
padding: 10
}
}
});if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
emiChart.options.scales.x.ticks.color = '#ffffff';
emiChart.options.plugins.legend.labels.color = '#ffffff';
emiChart.update();
}