Are you looking for surefire ways to boost reservations and increase booking?

Join over 5000 motivated owners & managers and get exclusive access to expert strategy & resources that are proven to help MULTIPLY YOUR BOOKINGS.

Get your Holiday Rental Home seen by
100 Million travelers every month!

1. INCREASE YOUR VISIBILITY

A channel manager is today essential for Holiday home owners and property Managers.

24HourKeys makes it easier than ever to manage your distribution channels. It saves you time and avoids overbooking problems.

The channel manager provides two-way links to Holiday Rental Industry.

Our Property Manager Software enables you to link to a network of Travel and Rental Agencies found around the world.

All bookings coming from the channels or from your website are managed in a single location.

The interface is user-friendly and allows you to manage prices and availability of your apartments and villas easily.

REAL TIME VACATION RENTAL CHANNEL MANAGER

2. BOOST YOUR INCOME



  • 1

    Improve your occupancy nights and boost your turnover...

  • 2

    Avoid double-bookings and unnecessary compensation costs...

  • 3

    Fill gaps in your calendars through automatic discounts...

  • 4

    Real-time synchronization on all channels

  • 5

    Remove manual entry with API connections

  • 6

    Manage your pricing and preserve your margins...

3. EXPAND YOUR DISTRIBUTION



You benefit from access to a targeted distribution network with high-added value. All connected Travel Agencies and Rental Agencies can access your property throught Booking Engine and place instant booking for their customers 24/7 throughout the world.

This growing Channel provides additional bookings, with trusted partners throughout the travel industry.

Once you have set you price in the system you can start receiving bookings automatically. Agency payments are centralized at 24 hourkeys. All arrival/departure information (flights) are automatically updated through 24hourkeys by the Agencies.



Our Channel Manager links you to the main Vacation Rental channels and does it well...

24 Hourkeys have developed our system to work with the major portals of the Vacation Rentals industry that account for more than 80% of the online traffic.


We accept payments with
  • Master Card
  • Visa
  • Bitcoin
  • Wise
  • Revolut
  • Apply Pay
Phone
var month = monthNames[date.getMonth()]; var month1 = monthNames[date1.getMonth()]; if (month == month1 && year1 == year2) { $('#show_date').val(month + " " + d + " - " + d1 + " " + year1); } else if (month != month1 && year1 == year2) { $('#show_date').val(month + " " + d + " - " + month1 + " " + d1 + " " + year1); } else if (month != month1 && year1 != year2) { $('#show_date').val(month + " " + d + " " + year1 + " - " + month1 + " " + d1 + " " + year2); } else { $('#show_date').val(month + " " + d + " " + year1 + " - " + month1 + " " + d1 + " " + year2); } // <--closing date formatting --> var start = moment(s1); var end = moment(s2); var totalnights = end.diff(start, "days") $('.last-date-selected').parent().addClass('check-out-parent'); $('.checkcheckouttopbar').html('
(' + totalnights + ' - Nights)
'); $('.dateClick').hide(); $('.searchdatepick').show(); //$('.checkcheckouttopbar').text(days[day]+','+monthNames[m]+' '+d+' - '+days[day1]+','+monthNames[m1]+' '+d1+' ('+totalnights+' nights)'); let html = '
' + '
' + '' + '' + '
' + '' + '
'; $('.footer').html(html); }, hoveringTooltip: function (nights, startTime, hoveringTime) { nights = nights - 1; var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec"]; var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; $('div[ time="' + startTime + '"]').parent().nextAll().addClass('bobtd'); $('div[ time="' + startTime + '"]').parent().parent().nextAll().children('td').addClass('bobtd'); $('.first-date-selected').parent().addClass('checked-in-parent'); $('.hovering').parent().addClass('checked-out-parent'); var date = new Date(startTime); var d = date.getDate(); var day = date.getDay(); var m = date.getMonth(); var date1 = new Date(hoveringTime); var d1 = date1.getDate(); var day1 = date1.getDay(); var m1 = date1.getMonth(); $('.checkcheckouttopbar').text('(' + nights + ' - Nights)'); }, startDate: moment(), customTopBar: function () { return ''; }, customArrowPrevSymbol: '', customArrowNextSymbol: '', }).bind('datepicker-open', function () { //$('body').addClass('overlay'); $('.checkinerror').html(''); $('.checkouterror').html(''); if ($('#appartment_drop').show() || $('#appartment_drop2').show()) { $('#appartment_drop').hide(); $('#appartment_drop2').hide(); } }).bind('datepicker-closed', function () { $('body').removeClass('overlay'); $('#appartment_drp2').click(); }).bind('datepicker-first-date-selected', function (event, obj) { $('.check-out-parent').removeClass('check-out-parent'); $('.check-in-parent').removeClass('check-in-parent'); }) .bind('datepicker-change', function (event, obj) { }); } tjq(document).ready(function () { tjq(".date-picker-wrapper .footer").on("click", "button", function () { tjq("#appartment_drp3").focus().click(); }) }) function bookcheckavailability1() { arrival = tjq('#checkin_date').val(); departure = tjq('#checkout_date').val(); var dstart = new Date(arrival); var dstop = new Date(departure); if (dstop.getTime() < dstart.getTime()) { var dtemp = arrival; arrival = departure; departure = dtemp; } unit_id = tjq('#unit_id_input').val(); var url = '/index.php/unit/check_availability/'; if (tjq('#calendar-row').hasClass('rentals_united')) { url = '/index.php/unit/ru_check_availability/'; } tjq.post(url, {arrival: arrival, departure: departure, unit_id: unit_id}, function (result) { if (result == 'SUCCESS') { tjq('#checkin_date').val(arrival); tjq('#checkout_date').val(departure); tjq('#checkin_date').val(arrival); tjq('#checkout_date').val(departure); tjq('#arrival_input').val(arrival); tjq('#departure_input').val(departure); unit_id1 = tjq('#unit_id_input').val(); uniturl = tjq('#uniturl').val(); var url1 = '/index.php/unit/ajax_holiday_home/' + unit_id1 + '/' + uniturl; tjq.post(url1, {arrival_input: arrival, departure_input: departure, unit_id: unit_id1}, function (result1) { if (result1 == "INVALID") { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Dates are not available'); tjq('.calendar_container .clicked').removeClass('clicked'); } else { tjq('#poparticle').html(result1); } }); } else if (result == "INVALID") { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Dates are not available'); tjq('.calendar_container .clicked').removeClass('clicked'); } else if (result.substr(0, 10) == 'CHANGEOVER') { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert(result.substr(10)); tjq('.calendar_container .clicked').removeClass('clicked'); } else { var start = tjq('#arrival_input').val(); var end = tjq('#departure_input').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Minimum nights required is ' + result); tjq('.calendar_container .clicked').removeClass('clicked'); } }); } $(".calendar td").hover(function () { $('.available').removeClass('selctrangetd'); var checkdivcl1 = false; $(this).parent().toggleClass("result_hover"); arrival = tjq('#arrival_input').val(); //var day = Date.parse(arrival).toString('d'); var currentv = $(this).text(); var d2 = $(this).attr('data-date'); var d1 = $('.bobclick').attr('data-date'); var date1 = new Date(d1); var date2 = new Date(d2); // To calculate the time difference of two dates var totaldays = date2.getTime() - date1.getTime(); // To calculate the no. of days between two dates var totaldays = totaldays / (1000 * 3600 * 24); var checkdivcl1 = $('td').hasClass("bobclick"); if (checkdivcl1) { nights = totaldays; var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec"]; var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; //return days > 1 ? days + ' ' + lang('days') : ''; var d = date1.getDate(); var day = date1.getDay(); var m = date1.getMonth(); var d1 = date2.getDate(); var day1 = date2.getDay(); var m1 = date2.getMonth(); $('#villatotalnight').text(nights); $('.checkcheckouttopbar').text(days[day] + ',' + monthNames[m] + ' ' + d + ' - ' + days[day1] + ',' + monthNames[m1] + ' ' + d1); } var i = 1; for (i = 0; i < totaldays; i++) { date1.setDate(date1.getDate() + 1); var date = new Date(date1); var d = date.getDate(); d = pad(d); var day = date.getDay(); var m = date.getMonth(); m += 1; m = pad(m); d1 = date.getFullYear() + '-' + m + '-' + d; $('td[ data-date="' + d1 + '"]').children().addClass('selctrangetd'); } }); function pad(d) { return (d < 10) ? '0' + d.toString() : d.toString(); } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function bookcheckavailability2() { arrival = tjq('#checkin_date').val(); departure = tjq('#checkout_date').val(); var dstart = new Date(arrival); var dstop = new Date(departure); if (dstop.getTime() < dstart.getTime()) { var dtemp = arrival; arrival = departure; departure = dtemp; } /*var confirmResponse = window.confirm(' Arrival: '+ Date.parse(arrival).toString('d-MMM-yyyy')+'\n Departure: '+ Date.parse(departure).toString('d-MMM-yyyy')+'\n Confirm these dates?'); if (confirmResponse==true) {*/ unit_id = tjq('#unit_id').val(); url = '/index.php/unit/ru_check_availability/'; tjq.post(url, {arrival: arrival, departure: departure, unit_id: unit_id}, function (result) { if (result == 'SUCCESS') { tjq('#checkin_date').val(arrival); tjq('#checkout_date').val(departure); tjq('#checkin_date').val(arrival); tjq('#checkout_date').val(departure); tjq('#arrival_input').val(arrival); tjq('#departure_input').val(departure); unit_id1 = tjq('#unit_id').val(); uniturl = tjq('#uniturl').val(); var url1 = '/index.php/unit/ajax_holiday_property/' + unit_id1 + '/' + uniturl; tjq.post(url1, {arrival_input: arrival, departure_input: departure, unit_id: unit_id1}, function (result1) { if (result1 == "INVALID") { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Dates are not available'); tjq('.calendar_container .clicked').removeClass('clicked'); } else { tjq('#poparticle').html(result1); } }); // tjq('#calendar_form').submit(); } else if (result == "INVALID") { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Dates are not available'); tjq('.calendar_container .clicked').removeClass('clicked'); } else if (result.substr(0, 10) == 'CHANGEOVER') { var start = tjq('#checkin_date').val(); var end = tjq('#checkout_date').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert(result.substr(10)); tjq('.calendar_container .clicked').removeClass('clicked'); } else { var start = tjq('#arrival_input').val(); var end = tjq('#departure_input').val(); start = Date.parse(start).toString('yyyy-MM-dd'); end = Date.parse(end).toString('yyyy-MM-dd'); tjq('#' + start).children().removeClass('clicked'); tjq('#' + end).children().removeClass('clicked'); tjq('#checkin_date').val(""); tjq('#checkout_date').val(""); tjq('#arrival_input').val(""); tjq('#departure_input').val(""); tjq('#calendar-row').removeClass('hide'); tjq('#calendar-loading').addClass('hide'); alertify.alert('Minimum nights required is ' + result); tjq('.calendar_container .clicked').removeClass('clicked'); } }); } // VILLA CODE AND MY RES POPUP var $ = tjq, slideForm = $('.villa-code-my-res'), rpvSlide = $('.rpv-slide'), slides = {}; $('.togg-slide-form').click(function (e) { e.preventDefault(); $('#mobile-menu-01 .close-modal').trigger("click"); $('.menu-layout-newdesign').hide(); setTimeout(function () { $('.home-form-search').hide(); }, 500); var target = $(this).attr('data-show'); var targetElement = $('#' + target); /// show forms if (!rpvSlide.hasClass('is-visible')) { slideForm.show(); $('.villa-code-my-res .rpv-left-container').hide(); targetElement.show(); rpvSlide.addClass('is-visible slideInLeft animated'); //lockScroll(); initSliderPopup(); //$('.home-form-search').hide(); } else { //check other btn is clicked if (!targetElement.is(':visible')) { // switch box rpvSlide.removeClass('slideInLeft').addClass('slideOutLeft'); setTimeout(function () { $('.villa-code-my-res .rpv-left-container').hide(); targetElement.show(); //$('.home-form-search').show(); rpvSlide.removeClass(); rpvSlide.addClass('rpv-slide'); rpvSlide.addClass('is-visible slideInLeft animated'); }, 450); } } }); $('.close-rpv-slide').click(function (e) { $('.home-form-search').show(); $('.menu-layout-newdesign').show(); e.preventDefault(); rpvSlide.removeClass('slideInLeft').addClass('slideOutLeft'); setTimeout(function () { rpvSlide.removeClass(); rpvSlide.addClass('rpv-slide'); slideForm.hide(); //unlockScroll(); }, 450); }); function initSliderPopup() { slides[0] = { url: 'https://www.rentprivatevillas.com/resources/images/slides1.jpg', caption: '' }; $('.villa-code-my-res .container-rpv-login').bgswitcher({ images: slides, loop: true, interval: 3000, shuffle: false }); } var enter_timeout = null; $(document).ready(function () { $(document).delegate("#searchNext", "click", function () { alert('you clicked me again!'); }); $('.villa-code-my-res form').bind('keypress keydown keyup', function (e) { var _this = $(this); clearTimeout(enter_timeout); if (e.keyCode == 13) { e.preventDefault(); enter_timeout = setTimeout(function () { _this.find('button').trigger('click'); }, 500); } }); $('.submit-vc-mr').click(function (e) { e.preventDefault(); var btn = $(this); var form = $(this).parents('form:first'); if (!btn.hasClass('ajax-loading')) { var btn_text = btn.html(); var hoErrors = form.find('.ho-errors'); btn.addClass('ajax-loading'); btn.html(''); $.ajax({ type: 'POST', url: form.attr('action'), data: form.serializeArray(), success: function (res) { res = JSON.parse(res); // SUCCESS if (res.resType == 'success') { hoErrors.hide(); if (res.data.return_to !== undefined) { window.location.href = res.data.return_to; } else { window.location.reload(); } // ERROR } else { hoErrors.html(res.errMsg); hoErrors.slideDown(); clearErrors(); } }, error: function (res) { console.log(res); }, complete: function () { btn.removeClass('ajax-loading'); btn.html(btn_text); } }); } }); $('.submit-login').click(function (e) { e.preventDefault(); var btn = $(this); var form = $(this).parents('form:first'); if (!btn.hasClass('ajax-loading')) { var btn_text = btn.html(); var hoErrors = form.find('.ho-errors'); btn.addClass('ajax-loading'); btn.html(''); $.ajax({ type: 'POST', url: form.attr('action'), data: form.serializeArray(), success: function (res) { res = JSON.parse(res); // SUCCESS if (res.resType == 'success') { hoErrors.hide(); if (res.data.return_to !== undefined) { window.location.href = res.data.return_to; } else { window.location.reload(); } // ERROR } else { hoErrors.html(res.errMsg); hoErrors.slideDown(); clearErrors(); } }, error: function (res) { console.log(res); }, complete: function () { btn.removeClass('ajax-loading'); btn.html(btn_text); } }); } }); function clearErrors() { setTimeout(function () { $('.ho-errors').slideUp(); }, 6000); } clearErrors(); // END VILLA CODE AND MY RES // WIDGET RPV var widget = $('.rpv-widget .contact-options'), mainControl = $('.main-control'), tooltips = $('.rpv-widget .has-tooltip'), popups = $('.rpv-widget .has-popup'); mainControl.click(function () { if (widget.hasClass('active')) { widget.removeClass('active'); callToAction(true); } else { widget.addClass('active'); callToAction(false); } }); mainControl.on('mouseenter', function () { widget.addClass('active'); callToAction(false); }); tooltips.hover(function () { if ($(this).find('span').length > 0) { return false; } var text = $(this).attr('data-tooltip'); var tooltip = $(''); tooltip.text(text); $(this).append(tooltip); }); popups.click(function () { var popupElement = $('#' + $(this).attr('data-popup')); widget.removeClass('active'); callToAction(false); popupElement.fadeIn(); }); $('.title-bar-icon-close').click(function () { $('.rpv-widget-popup').fadeOut(); widget.addClass('active'); callToAction(false); }); setTimeout(function () { callToAction(true); }, 1000); // END WIDGET }); function callToAction(show) { var elem = $('#rpv-call-to-action'); if (show == true) { elem.addClass('slide-in'); } else { elem.removeClass('slide-in'); } } -->