<!DOCTYPE HTML>
<!--[if lte IE 7]> <html class="ie7"> <![endif]-->
<!--[if IE 8]>     <html class="ie8"> <![endif]-->
<!--[if IE 9]>     <html class="ie9"> <![endif]-->
<!--[if IE 10]>     <html class="ie10"> <![endif]-->
<!--[if !IE]><!--><html class="non-ie" xml:lang="en" lang="en"><!--<![endif]-->
<head>
<title>Reservation System - Ballyvolane House</title>

<script>
    if(document.location.href.indexOf('cancel') === -1) { 
        document.location.href = 'https://ballyvolanehouse.ie/bookings';
    }
</script>

<meta name="keywords" content="">
<meta name="description" content="">
<link rel="shortcut icon" href="//bookings.ballyvolanehouse.ie/files/images/favicon.ico">
<link rel="canonical" href="/sitemap.xml">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<!-- bke stylesheets/javascript -->
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,100,500,600,700' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/bke-reset.css" type="text/css">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/style-availtable.css" type="text/css">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/jquery.plugins.css" type="text/css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="//use.fontawesome.com/releases/v5.10.1/css/all.css" integrity="sha384-wxqG4glGB3nlqX0bi23nmgwCSjWIW13BdLUEYC4VIMehfbcro/ATkyDsF/AbIOVe" crossorigin="anonymous">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/material-design-iconic-font/2.2.0/css/material-design-iconic-font.min.css">
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/themes/base/jquery-ui.css" type="text/css">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/jquery.rating.css" type="text/css">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/calendar.css" type="text/css">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/bke.scss" type="text/css">
<!-- <link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/bke.comp.css" type="text/css"> -->
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/print.scss" type="text/css" media="print">
<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/bookings/bkecss" type="text/css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/i18n/jquery-ui-i18n.min.js"></script>
<script src="//bookings.ballyvolanehouse.ie/files/js/jquery.plugins.js" type="text/javascript"></script>

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBu-aZ_fS_DXfN-Dz_0YPY-9622cP0AY5I"></script>

<link rel="stylesheet" href="//bookings.ballyvolanehouse.ie/files/css/bke-searchbox.scss">

<!--[if lt IE 9]>
  <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
  <script src="//bookings.ballyvolanehouse.ie/files/js/disable-response.js" type="text/javascript"></script>
<![endif]-->


<script src="//www.tripadvisor.com/js3/conversion/pixel.js"></script>
</head>

 

 <!-- IF microsite -->
<body class="pagelayout lang-en microsite">
 <!-- ENDIF microsite -->

	<script>
var $buoop = {vs:{i:9,f:25,o:12.1,s:7},c:2};
function $buo_f(){
 var e = document.createElement("script");
 e.src = "//browser-update.org/update.min.js";
 document.body.appendChild(e);
};
try {document.addEventListener("DOMContentLoaded", $buo_f,false)}
catch(e){window.attachEvent("onload", $buo_f)}
</script>

<header class="palette-bkgd-1" id="na-header">
	<div class="row">
		<div class="container">
			<!-- DESKTOP -->
			<div class="btn-home pull-left" style="display:none;">
				<a href="https://ballyvolanehouse.ie/bookings" class="tip" title="Main website"><i class="zmdi zmdi-home"></i> <span>HOME</span></a>
			</div>
			<div class="bke-settings">
        
				

				<!-- BEGIN bke_currency_selector -->
				<div class="setting-curr">
					<div class="selected-curr-symbol"></div>
					
<select id="curr_selector" onchange="if (typeof ch_currency === 'function'){ ch_currency(this)}" class="bke_currency_selector">
      <option value="47" >CZK</option>
      <option value="48" >MXN</option>
      <option value="49" >INR</option>
      <option value="2" >EUR</option>
      <option value="4" >GBP</option>
      <option value="3" selected>USD</option>
      <option value="12" >CAD</option>
      <option value="11" >AUD</option>
      <option value="7" >BRL</option>
      <option value="43" >CHF</option>
      <option value="6" >DKK</option>
      <option value="9" >EGP</option>
      <option value="10" >MYR</option>
      <option value="1" >PLN</option>
      <option value="5" >ZAR</option>
      <option value="44" >NOK</option>
      <option value="45" >SEK</option>
      <option value="46" >AED</option>
</select>
<script type="text/javascript">
(function(funcName, baseObj) {
    funcName = funcName || "docReady";
    baseObj = baseObj || window;
    var readyList = [];
    var readyFired = false;
    var readyEventHandlersInstalled = false;
    function ready() {
        if (!readyFired) {
            readyFired = true;
            for (var i = 0; i < readyList.length; i++) {
                readyList[i].fn.call(window, readyList[i].ctx);
            }
            readyList = [];
        }
    }

    function readyStateChange() {
        if ( document.readyState === "complete" ) {
            ready();
        }
    }
    baseObj[funcName] = function(callback, context) {
        if (readyFired) {
            setTimeout(function() {callback(context);}, 1);
            return;
        } else {
            readyList.push({fn: callback, ctx: context});
        }
        if (document.readyState === "complete") {
            setTimeout(ready, 1);
        } else if (!readyEventHandlersInstalled) {
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", ready, false);
                window.addEventListener("load", ready, false);
            } else {
                document.attachEvent("onreadystatechange", readyStateChange);
                window.attachEvent("onload", ready);
            }
            readyEventHandlersInstalled = true;
        }
    }
})("docReady", window);

var set_hover = function($) {
   
}


    Object.keys = Object.keys || (function () {
        var hasOwnProperty = Object.prototype.hasOwnProperty,
            hasDontEnumBug = !{toString:null}.propertyIsEnumerable("toString"),
            DontEnums = [
                'toString',
                'toLocaleString',
                'valueOf',
                'hasOwnProperty',
                'isPrototypeOf',
                'propertyIsEnumerable',
                'constructor'
            ],
            DontEnumsLength = DontEnums.length;
      
        return function (o) {
            if (typeof o != "object" && typeof o != "function" || o === null)
                throw new TypeError("Object.keys called on a non-object");
         
            var result = [];
            for (var name in o) {
                if (hasOwnProperty.call(o, name))
                    result.push(name);
            }
         
            if (hasDontEnumBug) {
                for (var i = 0; i < DontEnumsLength; i++) {
                    if (hasOwnProperty.call(o, DontEnums[i]))
                        result.push(DontEnums[i]);
                }   
            }
         
            return result;
        };
    })();

    // START    
    var currChanger = (function(){
        var availableCurr    = {"47":{"name":"Czech Koruna","rate":"24.5252","side":"l","isocode":"CZK","symbol":"K&#x10D;"},"7":{"name":"Real","side":"r","rate":"5.9453","isocode":"BRL","symbol":"R$"},"6":{"isocode":"DKK","symbol":"kr.","rate":"7.4743","side":"r","name":"Danish Krone"},"43":{"side":"r","rate":"0.9202","name":"Swiss Franc","isocode":"CHF","symbol":"CHF"},"12":{"name":"Canadian dollar","side":"r","rate":"1.6068","isocode":"CAD","symbol":"$"},"2":{"symbol":"&euro;","isocode":"EUR","rate":"1.0000","side":"r","name":"Euro"},"5":{"symbol":"ZAR ","isocode":"ZAR","rate":"19.4812","side":"r","name":"South African rand"},"45":{"side":"r","rate":"10.9250","name":"Swedish Krona","isocode":"SEK","symbol":"kr"},"1":{"isocode":"PLN","symbol":"z&#x142;","name":"Zloty","rate":"4.2794","side":"l"},"48":{"rate":"20.5791","side":"r","name":"Mexican Peso","isocode":"MXN","symbol":"$"},"4":{"name":"Pound Sterling","rate":"0.8714","side":"r","symbol":"&pound;","isocode":"GBP"},"11":{"symbol":"$","isocode":"AUD","name":"Australian dollar","side":"r","rate":"1.6711"},"44":{"isocode":"NOK","symbol":"kr","name":"Norwegian Krone","side":"r","rate":"11.2586"},"9":{"rate":"62.5966","side":"r","name":"Egyptian Pound","isocode":"EGP","symbol":"E&pound;"},"3":{"name":"US Dollar","rate":"1.1520","side":"r","symbol":"$","isocode":"USD"},"46":{"symbol":"AED","isocode":"AED","name":"Dirham","rate":"4.2309","side":"r"},"10":{"symbol":"RM","isocode":"MYR","name":"Malaysian Ringgit","rate":"4.6439","side":"r"},"49":{"name":"Indian Rupee","side":"r","rate":"107.1159","symbol":"&#x20B9;","isocode":"INR"}};
        var defaultCurrency  = 2;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

        function noRound () {
        	settings.noRound = true;
        	return this;
        }

        function logErr (error) {
        }

        function exceptIdLike (regex) {
            settings.exceptIdLike = regex;
            return this;
        }

        function addChangerFunction(name) {        	
            var add = true;
            try {
                if (changerFunction.indexOf(name) >= 0) {
                    add = false;
                }
            } catch(error) {logErr(error);}
            if ( add )
                changerFunction.push(name);
            return this;
        }

        function onObject(o,name) {
            settings.obj = o;
            settings.objName = name;
            return this;
        }

        function onArray(a,name) {
            settings.arr = a;
            settings.arrName = name;
            return this;
        }

        function changeCallback(c) {
            settings.changeCallback = c;
            return this;
        }

        function replaceWithin(c) {
            settings.replaceWithin = c;
            return this;
        }

        function onRoom(c) {
            settings.onRoom = c;
            return this;
        }

        function ignoreOwnCurr() {
            settings.ignoreOwnCurr = true;
            return this;
        }

        function getCurrentCurrency(obj) {
            if (currentCurrency && currentCurrency != 0) {
                return currentCurrency;
            } else  {
                return getDefaultCurrency();
            }
        }

        function getCurrentCurrencySymbol (obj) {
            if (!obj) {
                return availableCurr[getDefaultCurrency()]['symbol'];
            } else {
                return availableCurr[getCurrencyFromSpan(obj)]['symbol'];
            }
        }

        function setCurrencyOnMultiple (to) {        
            if (changerFunction.length > 0) {
                for (var i = 0; i < changerFunction.length; i++) {
                    changerFunction[i](false,to);
                };
            }
        }

        // retrieves default currency for specified room when necessary
        // this required onRoom switch to define id of room to find '#bke_room_currency'
        function getDefaultCurrency () {
            var curr = defaultCurrency;
            if (settings.onRoom && !settings.onRoom == '') {
                if (origCurrency[settings.room]) {
                    curr = origCurrency[settings.room];
                } else {
                    try {
                        curr = document.querySelectorAll('#bke_room_currency'+settings.onRoom)[0].value;
                        origCurrency[settings.onRoom] = curr;
                    } catch (error) {logErr('Cannot find default currency for room '+settings.onRoom);} 
                }
            }
            return curr;
        }

        function currChangerCurrency() {
            var curr = defaultCurrency;
            try {
                curr = document.querySelectorAll('#curr_selector')[0].value;
            } catch (error) {logErr('Cannot find default currency changer value');} 
            return curr;
        }

        function clearData() {
        	currData = {} ;
        }

        // setting currency to values on page with curr_chan class
        function setCurrency (to, clear) {        	
            if (!to) 
                to = currChangerCurrency();
            if (!availableCurr[to] || to == 0) 
                to = getDefaultCurrency();
            if (clear)	
            	clearData();
            if (settings.obj && settings.objName) {
                if (!currentObjCurr[settings.objName])
                    currentObjCurr[settings.objName] = getDefaultCurrency();
                if (currentObjCurr[settings.objName] != to) {
                    changedObject = changeObjectCurrencies(currentObjCurr[settings.objName],to);
                    currentObjCurr[settings.objName] = to;
                    returnObj = changedObject;
                } else {
                    returnObj = settings.obj;
                }
            } else if (settings.arr && settings.arrName && settings.arr.length > 0){
                if (!currentArrCurr[settings.arrName])
                    currentArrCurr[settings.arrName] = getDefaultCurrency();
                if (currentObjCurr[settings.arrName] != to) {
                    changedArray = changeArrayCurrencies(currentArrCurr[settings.arrName],to);
                    currentArrCurr[settings.arrName] = to;
                    changeElementCurrencies(false,to);
                    returnObj = changedArray;
                } else {
                    returnObj = settings.arr;
                }
            } else {            
                changeElementCurrencies(false,to, clearData);
                returnObj = this;
            }
            
            if (settings.callback) settings.callback(to);
            cleanup();            
            return returnObj;
        }

        function changeArrayCurrencies(from, to) {
            if (!origPriceArr[from])
                origPriceArr[from] = {};
            if (!origPriceArr[from][settings.arrName])
                    origPriceArr[from][settings.arrName] = settings.arr;
            if (!origPriceArr[to])
                origPriceArr[to] = {};
            if (origPriceArr[to][settings.arrName])
                return origPriceArr[to][settings.arrName];

            changedArr = recalcArr(settings.arr,from,to);
            origPriceArr[to][settings.arrName] = changedArr;
            return changedArr;
        }

        function recalcArr(arr,from,to) {
            var manip = [];
            changeArrNode(arr, manip, from, to);
            if (manip.length > 0)
                manip = manip[0];
            return manip;
        }

        function changeArrNode(arr, manip, from, to) {
            if (arr) {
                if (Object.prototype.toString.call(arr) === '[object Array]') {
                    manip.push([]);
                    for (var i=0; i < arr.length; i++ ) {
                        changeArrNode(arr[i], manip[(manip.length-1)], from, to);
                    }
                } else {
                    manip.push(changeObjValue(arr, from, to));
                }
            }
        }

        function changeObjectCurrencies (from,to) {
            if (!origPriceObjs[from])
                origPriceObjs[from] = {};
            if (!origPriceObjs[from][settings.objName])
                    origPriceObjs[from][settings.objName] = settings.obj;
            if (!origPriceObjs[to])
                origPriceObjs[to] = {}
            if (origPriceObjs[to][settings.objName])
                return origPriceObjs[to][settings.objName];

            changedObj = recalcObj(settings.obj,from,to);
            origPriceObjs[to][settings.objName] = changedObj;
            return changedObj;
        }

        function recalcObj(obj,from,to) {
            var manip = {};
            changeObjNode(obj, manip, from, to);
            return manip;
        }

        function changeObjNode (obj, manip, from, to) {
            if (Object.prototype.toString.call(obj) === '[object Object]') {
                var keys = Object.keys(obj);
                for (var i=0; i < keys.length; i++ ) {
                    manip[keys[i]] = {};
                    if (Object.prototype.toString.call(obj[keys[i]]) !== '[object Object]') {
                        manip[keys[i]] = changeObjValue(obj[keys[i]], from, to);
                    } else {
                        changeObjNode(obj[keys[i]], manip[keys[i]], from, to);
                    }
                }
            } else {
                manip = changeObjValue(obj[keys[i]], from, to)(a);
            }
        }

        function changeObjValue (value,from,to) {
            if (value === 0 || value === '0') {
                return 0;
            }
            return addSymbol(exchangeRate(getRate(value), from, to),to);
        }

        function hasClass(ele,cls) {
            return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
        }

        function addClass(ele,cls) {
            if (!hasClass(ele,cls)) ele.className += " "+cls;
        }

        function setCurrSpanData(obj) {
            var id = currDataId++;
            var className = 'curr_data'+id;            
            addClass(obj,className);
            return id;
        }

        function getSpanCurrency (obj,from,to) {
            id = getDataId(obj);

            currentValue = getObjValue(obj,from);

            if (id) {
                if (!currData[from])
                    currData[from] = {}
                if (!currData[from][id]){
                    if (!isNaN(currentValue)) {
                        currData[from][id] = currentValue;
                    }
                }
                if (!currData[to])
                    currData[to] = {};
                if (currData[to][id]) {
                    return currData[to][id];
                }
            } else {
                id = setCurrSpanData(obj);
                if (from == to)
                    return currentValue;
            }

            return false;            
        }

        function getDataId (obj) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) 
                        return match[1];
                }
            }
            return false;
        }
        
        function getCurrencyFromSpan(obj) {
            id = getDataId(obj);
            
            if (id) {
                if (currDataCurrency[id]) {
                    return currDataCurrency[id]
                } else {
                    currDataCurrency[id] = getDefaultCurrency();
                    return currDataCurrency[id];
                }
            } else {
                id = setCurrSpanData(obj);
                currDataCurrency[id] = getDefaultCurrency();
                return currDataCurrency[id];
            }
        }

        function setCurrencyToSpan(obj,newValue) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) {
                        match = match[1];
                    }
                    if (currDataCurrency[match]) {
                        currDataCurrency[match] = newValue;
                    }
                }
            }
        }

        function changeElementCurrencies (from,to) {         		
                var all = getAllToChange(settings.defaultClassName, settings.replaceWithin);
                var tempFrom;
                var tempTo;
                for (var i=0; i < all.length; i++ ) {
                    obj = all[i];
                    
                    from = getCurrencyFromSpan(obj);

                    if (settings.ignoreOwnCurr) {
                        tempTo        = from
                        tempFrom      = from;
                    } else {
                        tempTo        = to;
                        tempFrom      = from;
                    }
                    if (tempTo == tempFrom) {                        
                        continue;
                    }
                    objValue = getSpanCurrency(obj,tempFrom,tempTo);

                    setCurrencyToSpan(obj,tempTo);

                    if (objValue && objValue != false) {
                        applyValue(obj, addSymbol(objValue,tempTo), objValue);
                        continue;
                    }

                    if (availableCurr[tempTo]) {
                        value         = getObjValue(obj, tempFrom);

                        if (!value || value == ''){
                            continue;
                        }
                        changed = exchangeRate(value, tempFrom, tempTo);

                        applyValue(obj, addSymbol(changed, tempTo), changed);                 
                        
                    }
                }
                if (availableCurr[to]) {
                    currentCurrency = to;
                }
                changeInputs(bke_selected_currency,to);
                changeInputs(bke_selected_currency_sbox,to);
        }

        function cleanup () {
            settings         = {
                defaultClassName : defaultClassName,
                changeCallback   : false,
                replaceWithin    : false,
                ignoreOwnCurr    : false,
                obj              : false,
                noRound          : false,
                objName          : false,
                arr              : false,
                arrName          : false,
                exceptIdLike     : false,
                onRoom           : false
            };
        }

        function addSymbol (value, toSymbol) {
            if ((toSymbol == 0 && settings.onRoom) || !toSymbol) {
                toSymbol = getDefaultCurrency();
            }                 
            if (availableCurr[toSymbol]) {
                    if (availableCurr[toSymbol]['side'] == 'l') {
                        lcurr = availableCurr[toSymbol]['symbol'];
                        rcurr = '';
                    } else {
                        lcurr = '';
                        rcurr = availableCurr[toSymbol]['symbol']
                    }
                    value = rcurr + value + lcurr;
            } 
            return value;
        }

        function applyValue(obj,changed,changedValueOnly) {

            try {
                if (obj.tagName == 'INPUT') {
                    obj.value = changedValueOnly;                    
                } else {
                    obj.innerHTML = changed;                  
                }
            } catch (error) {logErr(error);} 
        }

        function getObjValue(obj,original) {
            value = false;
            if (obj.tagName == 'INPUT') {
                value = obj.value;                    
            } else {
                value = obj.innerHTML;                    
            }
            pureValue = getRate(value);
            return pureValue;
        }

        function changeInputs (name,to) {
            input = document.getElementsByName(name);
            if (input) {
                for (var i=0;i<input.length;i++) {
                    input[i].value = to;
                }
            }
            return this;
        }

        function getAllToChange (classNames, replaceWithin) {
            var all = [];
            try {
                if (replaceWithin) {
                    if (replaceWithin.match(/^[#\.]/)) {
                        found = replaceWithin.match(/^[#|\.](.*)/);
                        if (found && found.length > 0) {
                            all = document.querySelectorAll('.'+found[1]+' .curr_chan');
                            if (all.length < 1) {
                                all = document.querySelectorAll('#'+found[1]+' .curr_chan');
                            }
                        } else {
                            all = document.querySelectorAll(replaceWithin+' .curr_chan');
                        }
                    } else {
                        all = document.querySelectorAll('#'+replaceWithin+' .curr_chan');
                    }
                } else {
                    all = document.querySelectorAll('.'+classNames);
                }
                if (all && all.length && settings.exceptIdLike) {
                    newAll = [];
                    for (var i = all.length - 1; i >= 0; i--) {
                        if (all[i].id) {
                            if (!all[i].id.match(settings.exceptIdLike)) {
                                newAll.push(all[i]);
                            }
                        } else {
                            newAll.push(all[i]);
                        }
                    };
                    all = newAll;
                }
            } catch (error) {logErr(error);}
            return all;
        }

        function getRate(rate) {
            var r = '';
            var l = '';
            
            if (!isNaN(rate)) {
                return rate;
            }
            if ($.parseHTML(rate)){
                var newRate = $.parseHTML(rate);
                rate = newRate[0].textContent;
            }
            var match_curr = rate.match(/(?:<span.*?>)?([^\d]+)?((?:\d+)?\,?(?:\d+)\.?(?:\d+)?)?\s?([^\d]+;?)?([^\d]+)?(?:<\/span.*?>)?/);
            if (match_curr && match_curr[2]) {
                rate = match_curr[2];
                if (match_curr[1]) {
                    l = match_curr[1];
                    lcurr = l;
                    rcurr = '';
                } 
                if (match_curr[3]) {
                    r = match_curr[3];
                    rcurr = r;
                    lcurr = '';
                }
            } else {
                rate = rate.replace(/[^\d\.]/,'');
            }
            return rate;
        }
        
        function exchangeRate(value, from, to , callback) {   
            var c = false;

            if (callback && typeof callback === 'function') {
                c = callback;
            }

            if (availableCurr[from] && availableCurr[to]) {
                var er = /^-?[0-9]+$/;
                var isInt = er.test(value);
                value = value.replace(/,/g,'');
                parsedRate = value;
                if (from != 0 || to != 0) {
                    parsedRate = (((parseFloat(value) / parseFloat(availableCurr[from]['rate'])) * parseFloat(availableCurr[to]['rate'])));
                	if (!settings.noRound) {
                		parsedRate = Math.round(parsedRate);
                	}
                }
                if (!isInt) parsedRate = parsedRate.toFixed(2);
                if (c) c(parsedRate);
                
                return parsedRate;
            } else {
                if (c) c(value);
                return value;
            }
        }

        function changeTripteaseCurrencies(from,to){
            var triptease_div = document.querySelectorAll(".price-fighter-widget");
            if(triptease_div[0]){
                if (availableCurr[to]) {
                    noRound();
                    var price = triptease_div[0].getAttribute("data-pf-direct-price");
                    var newPrice = exchangeRate(price, from, to);
                    triptease_div[0].setAttribute("data-pf-direct-price", newPrice);
                    triptease_div[0].setAttribute("data-pf-currency", availableCurr[to].isocode);
                    cleanup();
                }
                if(typeof Paperboy !== 'undefined' && Paperboy.PriceCheck){
                    Paperboy.PriceCheck.reset();
                }
            }
        }
    })();

docReady(function() {
document.getElementById('curr_selector').value = '3';
document.getElementById('curr_selector').onchange();
    document.getElementById('curr_selector').onchange();
   if (typeof jQuery.ui != 'undefined') {
        set_hover(jQuery);
   }
});
</script>

				</div>
				<!-- END bke_currency_selector -->
			</div>

			<a href="https://ballyvolanehouse.ie/bookings" class="logo"><img src="//bookings.ballyvolanehouse.ie/bookings/showimage?type=18&id=AD02AC96BFA22D47034709F891C119E4" alt="Ballyvolane House" /></a>
      
		</div>
	</div>
</header>

<div class="settings-bar">
  <div class="settings-bar__slide">
    <div class="settings-bar__item btn-booknow open-searchbox-01">
      <i class="far fa-calendar-check"></i> Check Availability
    </div>
    <div class="settings-bar__item settings-bar__calendar">
      <i class="fas fa-edit"></i>
       <div class="booking-summary__cal loading open-searchbox-01">
  <div class="booking-summary__location" style="display:none;">
    <h3>Location</h3>
    <span class="cal-loc"><span class="search-term"></span></span>
  </div>
  <div class="booking-summary__in">
    <h3>Check in</h3>
    <span class="cal-arr__day big"></span>
    <span class="cal-arr__month big"></span>
    <span class="cal-arr__dayname"></span>
    <span class="cal-arr__year"></span>
  </div>
  <div class="booking-summary__out">
    <h3>Check out</h3>
    <span class="cal-dep__day big"></span>
    <span class="cal-dep__month big"></span>
    <span class="cal-dep__dayname"></span>
    <span class="cal-dep__year"></span>
  </div>
  <div class="booking-summary__nights">
    <h3>Nights</h3>
    <span class="cal-nights big">1</span>
  </div>
</div>

<a class="btn-searchagain btn-shadow open-searchbox-01"><i class="fa fa-redo"></i> Search again</a>		





    </div>  
    <div class="settings-bar__item settings-bar__summary" onClick="slidePanel('#booking-summary','Booking Summary')">
      <i class="fas fa-shopping-cart"></i>
      Summary
    </div>
    
    <div class="settings-bar__item settings-bar__filter" onClick="slidePanel('#filter-offers','Filters')">
      <i class="fas fa-filter"></i>
      Filters
    </div>
    <!-- BEGIN bke_currency_selector -->
    <div class="settings-bar__item settings-bar__currency">
    <div class="selected-curr-symbol"></div>
      
<select id="curr_selector" onchange="if (typeof ch_currency === 'function'){ ch_currency(this)}" class="bke_currency_selector">
      <option value="47" >CZK</option>
      <option value="48" >MXN</option>
      <option value="49" >INR</option>
      <option value="2" >EUR</option>
      <option value="4" >GBP</option>
      <option value="3" selected>USD</option>
      <option value="12" >CAD</option>
      <option value="11" >AUD</option>
      <option value="7" >BRL</option>
      <option value="43" >CHF</option>
      <option value="6" >DKK</option>
      <option value="9" >EGP</option>
      <option value="10" >MYR</option>
      <option value="1" >PLN</option>
      <option value="5" >ZAR</option>
      <option value="44" >NOK</option>
      <option value="45" >SEK</option>
      <option value="46" >AED</option>
</select>
<script type="text/javascript">
(function(funcName, baseObj) {
    funcName = funcName || "docReady";
    baseObj = baseObj || window;
    var readyList = [];
    var readyFired = false;
    var readyEventHandlersInstalled = false;
    function ready() {
        if (!readyFired) {
            readyFired = true;
            for (var i = 0; i < readyList.length; i++) {
                readyList[i].fn.call(window, readyList[i].ctx);
            }
            readyList = [];
        }
    }

    function readyStateChange() {
        if ( document.readyState === "complete" ) {
            ready();
        }
    }
    baseObj[funcName] = function(callback, context) {
        if (readyFired) {
            setTimeout(function() {callback(context);}, 1);
            return;
        } else {
            readyList.push({fn: callback, ctx: context});
        }
        if (document.readyState === "complete") {
            setTimeout(ready, 1);
        } else if (!readyEventHandlersInstalled) {
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", ready, false);
                window.addEventListener("load", ready, false);
            } else {
                document.attachEvent("onreadystatechange", readyStateChange);
                window.attachEvent("onload", ready);
            }
            readyEventHandlersInstalled = true;
        }
    }
})("docReady", window);

var set_hover = function($) {
   
}


    Object.keys = Object.keys || (function () {
        var hasOwnProperty = Object.prototype.hasOwnProperty,
            hasDontEnumBug = !{toString:null}.propertyIsEnumerable("toString"),
            DontEnums = [
                'toString',
                'toLocaleString',
                'valueOf',
                'hasOwnProperty',
                'isPrototypeOf',
                'propertyIsEnumerable',
                'constructor'
            ],
            DontEnumsLength = DontEnums.length;
      
        return function (o) {
            if (typeof o != "object" && typeof o != "function" || o === null)
                throw new TypeError("Object.keys called on a non-object");
         
            var result = [];
            for (var name in o) {
                if (hasOwnProperty.call(o, name))
                    result.push(name);
            }
         
            if (hasDontEnumBug) {
                for (var i = 0; i < DontEnumsLength; i++) {
                    if (hasOwnProperty.call(o, DontEnums[i]))
                        result.push(DontEnums[i]);
                }   
            }
         
            return result;
        };
    })();

    // START    
    var currChanger = (function(){
        var availableCurr    = {"47":{"name":"Czech Koruna","rate":"24.5252","side":"l","isocode":"CZK","symbol":"K&#x10D;"},"7":{"name":"Real","side":"r","rate":"5.9453","isocode":"BRL","symbol":"R$"},"6":{"isocode":"DKK","symbol":"kr.","rate":"7.4743","side":"r","name":"Danish Krone"},"43":{"side":"r","rate":"0.9202","name":"Swiss Franc","isocode":"CHF","symbol":"CHF"},"12":{"name":"Canadian dollar","side":"r","rate":"1.6068","isocode":"CAD","symbol":"$"},"2":{"symbol":"&euro;","isocode":"EUR","rate":"1.0000","side":"r","name":"Euro"},"5":{"symbol":"ZAR ","isocode":"ZAR","rate":"19.4812","side":"r","name":"South African rand"},"45":{"side":"r","rate":"10.9250","name":"Swedish Krona","isocode":"SEK","symbol":"kr"},"1":{"isocode":"PLN","symbol":"z&#x142;","name":"Zloty","rate":"4.2794","side":"l"},"48":{"rate":"20.5791","side":"r","name":"Mexican Peso","isocode":"MXN","symbol":"$"},"4":{"name":"Pound Sterling","rate":"0.8714","side":"r","symbol":"&pound;","isocode":"GBP"},"11":{"symbol":"$","isocode":"AUD","name":"Australian dollar","side":"r","rate":"1.6711"},"44":{"isocode":"NOK","symbol":"kr","name":"Norwegian Krone","side":"r","rate":"11.2586"},"9":{"rate":"62.5966","side":"r","name":"Egyptian Pound","isocode":"EGP","symbol":"E&pound;"},"3":{"name":"US Dollar","rate":"1.1520","side":"r","symbol":"$","isocode":"USD"},"46":{"symbol":"AED","isocode":"AED","name":"Dirham","rate":"4.2309","side":"r"},"10":{"symbol":"RM","isocode":"MYR","name":"Malaysian Ringgit","rate":"4.6439","side":"r"},"49":{"name":"Indian Rupee","side":"r","rate":"107.1159","symbol":"&#x20B9;","isocode":"INR"}};
        var defaultCurrency  = 2;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

        function noRound () {
        	settings.noRound = true;
        	return this;
        }

        function logErr (error) {
        }

        function exceptIdLike (regex) {
            settings.exceptIdLike = regex;
            return this;
        }

        function addChangerFunction(name) {        	
            var add = true;
            try {
                if (changerFunction.indexOf(name) >= 0) {
                    add = false;
                }
            } catch(error) {logErr(error);}
            if ( add )
                changerFunction.push(name);
            return this;
        }

        function onObject(o,name) {
            settings.obj = o;
            settings.objName = name;
            return this;
        }

        function onArray(a,name) {
            settings.arr = a;
            settings.arrName = name;
            return this;
        }

        function changeCallback(c) {
            settings.changeCallback = c;
            return this;
        }

        function replaceWithin(c) {
            settings.replaceWithin = c;
            return this;
        }

        function onRoom(c) {
            settings.onRoom = c;
            return this;
        }

        function ignoreOwnCurr() {
            settings.ignoreOwnCurr = true;
            return this;
        }

        function getCurrentCurrency(obj) {
            if (currentCurrency && currentCurrency != 0) {
                return currentCurrency;
            } else  {
                return getDefaultCurrency();
            }
        }

        function getCurrentCurrencySymbol (obj) {
            if (!obj) {
                return availableCurr[getDefaultCurrency()]['symbol'];
            } else {
                return availableCurr[getCurrencyFromSpan(obj)]['symbol'];
            }
        }

        function setCurrencyOnMultiple (to) {        
            if (changerFunction.length > 0) {
                for (var i = 0; i < changerFunction.length; i++) {
                    changerFunction[i](false,to);
                };
            }
        }

        // retrieves default currency for specified room when necessary
        // this required onRoom switch to define id of room to find '#bke_room_currency'
        function getDefaultCurrency () {
            var curr = defaultCurrency;
            if (settings.onRoom && !settings.onRoom == '') {
                if (origCurrency[settings.room]) {
                    curr = origCurrency[settings.room];
                } else {
                    try {
                        curr = document.querySelectorAll('#bke_room_currency'+settings.onRoom)[0].value;
                        origCurrency[settings.onRoom] = curr;
                    } catch (error) {logErr('Cannot find default currency for room '+settings.onRoom);} 
                }
            }
            return curr;
        }

        function currChangerCurrency() {
            var curr = defaultCurrency;
            try {
                curr = document.querySelectorAll('#curr_selector')[0].value;
            } catch (error) {logErr('Cannot find default currency changer value');} 
            return curr;
        }

        function clearData() {
        	currData = {} ;
        }

        // setting currency to values on page with curr_chan class
        function setCurrency (to, clear) {        	
            if (!to) 
                to = currChangerCurrency();
            if (!availableCurr[to] || to == 0) 
                to = getDefaultCurrency();
            if (clear)	
            	clearData();
            if (settings.obj && settings.objName) {
                if (!currentObjCurr[settings.objName])
                    currentObjCurr[settings.objName] = getDefaultCurrency();
                if (currentObjCurr[settings.objName] != to) {
                    changedObject = changeObjectCurrencies(currentObjCurr[settings.objName],to);
                    currentObjCurr[settings.objName] = to;
                    returnObj = changedObject;
                } else {
                    returnObj = settings.obj;
                }
            } else if (settings.arr && settings.arrName && settings.arr.length > 0){
                if (!currentArrCurr[settings.arrName])
                    currentArrCurr[settings.arrName] = getDefaultCurrency();
                if (currentObjCurr[settings.arrName] != to) {
                    changedArray = changeArrayCurrencies(currentArrCurr[settings.arrName],to);
                    currentArrCurr[settings.arrName] = to;
                    changeElementCurrencies(false,to);
                    returnObj = changedArray;
                } else {
                    returnObj = settings.arr;
                }
            } else {            
                changeElementCurrencies(false,to, clearData);
                returnObj = this;
            }
            
            if (settings.callback) settings.callback(to);
            cleanup();            
            return returnObj;
        }

        function changeArrayCurrencies(from, to) {
            if (!origPriceArr[from])
                origPriceArr[from] = {};
            if (!origPriceArr[from][settings.arrName])
                    origPriceArr[from][settings.arrName] = settings.arr;
            if (!origPriceArr[to])
                origPriceArr[to] = {};
            if (origPriceArr[to][settings.arrName])
                return origPriceArr[to][settings.arrName];

            changedArr = recalcArr(settings.arr,from,to);
            origPriceArr[to][settings.arrName] = changedArr;
            return changedArr;
        }

        function recalcArr(arr,from,to) {
            var manip = [];
            changeArrNode(arr, manip, from, to);
            if (manip.length > 0)
                manip = manip[0];
            return manip;
        }

        function changeArrNode(arr, manip, from, to) {
            if (arr) {
                if (Object.prototype.toString.call(arr) === '[object Array]') {
                    manip.push([]);
                    for (var i=0; i < arr.length; i++ ) {
                        changeArrNode(arr[i], manip[(manip.length-1)], from, to);
                    }
                } else {
                    manip.push(changeObjValue(arr, from, to));
                }
            }
        }

        function changeObjectCurrencies (from,to) {
            if (!origPriceObjs[from])
                origPriceObjs[from] = {};
            if (!origPriceObjs[from][settings.objName])
                    origPriceObjs[from][settings.objName] = settings.obj;
            if (!origPriceObjs[to])
                origPriceObjs[to] = {}
            if (origPriceObjs[to][settings.objName])
                return origPriceObjs[to][settings.objName];

            changedObj = recalcObj(settings.obj,from,to);
            origPriceObjs[to][settings.objName] = changedObj;
            return changedObj;
        }

        function recalcObj(obj,from,to) {
            var manip = {};
            changeObjNode(obj, manip, from, to);
            return manip;
        }

        function changeObjNode (obj, manip, from, to) {
            if (Object.prototype.toString.call(obj) === '[object Object]') {
                var keys = Object.keys(obj);
                for (var i=0; i < keys.length; i++ ) {
                    manip[keys[i]] = {};
                    if (Object.prototype.toString.call(obj[keys[i]]) !== '[object Object]') {
                        manip[keys[i]] = changeObjValue(obj[keys[i]], from, to);
                    } else {
                        changeObjNode(obj[keys[i]], manip[keys[i]], from, to);
                    }
                }
            } else {
                manip = changeObjValue(obj[keys[i]], from, to)(a);
            }
        }

        function changeObjValue (value,from,to) {
            if (value === 0 || value === '0') {
                return 0;
            }
            return addSymbol(exchangeRate(getRate(value), from, to),to);
        }

        function hasClass(ele,cls) {
            return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
        }

        function addClass(ele,cls) {
            if (!hasClass(ele,cls)) ele.className += " "+cls;
        }

        function setCurrSpanData(obj) {
            var id = currDataId++;
            var className = 'curr_data'+id;            
            addClass(obj,className);
            return id;
        }

        function getSpanCurrency (obj,from,to) {
            id = getDataId(obj);

            currentValue = getObjValue(obj,from);

            if (id) {
                if (!currData[from])
                    currData[from] = {}
                if (!currData[from][id]){
                    if (!isNaN(currentValue)) {
                        currData[from][id] = currentValue;
                    }
                }
                if (!currData[to])
                    currData[to] = {};
                if (currData[to][id]) {
                    return currData[to][id];
                }
            } else {
                id = setCurrSpanData(obj);
                if (from == to)
                    return currentValue;
            }

            return false;            
        }

        function getDataId (obj) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) 
                        return match[1];
                }
            }
            return false;
        }
        
        function getCurrencyFromSpan(obj) {
            id = getDataId(obj);
            
            if (id) {
                if (currDataCurrency[id]) {
                    return currDataCurrency[id]
                } else {
                    currDataCurrency[id] = getDefaultCurrency();
                    return currDataCurrency[id];
                }
            } else {
                id = setCurrSpanData(obj);
                currDataCurrency[id] = getDefaultCurrency();
                return currDataCurrency[id];
            }
        }

        function setCurrencyToSpan(obj,newValue) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) {
                        match = match[1];
                    }
                    if (currDataCurrency[match]) {
                        currDataCurrency[match] = newValue;
                    }
                }
            }
        }

        function changeElementCurrencies (from,to) {         		
                var all = getAllToChange(settings.defaultClassName, settings.replaceWithin);
                var tempFrom;
                var tempTo;
                for (var i=0; i < all.length; i++ ) {
                    obj = all[i];
                    
                    from = getCurrencyFromSpan(obj);

                    if (settings.ignoreOwnCurr) {
                        tempTo        = from
                        tempFrom      = from;
                    } else {
                        tempTo        = to;
                        tempFrom      = from;
                    }
                    if (tempTo == tempFrom) {                        
                        continue;
                    }
                    objValue = getSpanCurrency(obj,tempFrom,tempTo);

                    setCurrencyToSpan(obj,tempTo);

                    if (objValue && objValue != false) {
                        applyValue(obj, addSymbol(objValue,tempTo), objValue);
                        continue;
                    }

                    if (availableCurr[tempTo]) {
                        value         = getObjValue(obj, tempFrom);

                        if (!value || value == ''){
                            continue;
                        }
                        changed = exchangeRate(value, tempFrom, tempTo);

                        applyValue(obj, addSymbol(changed, tempTo), changed);                 
                        
                    }
                }
                if (availableCurr[to]) {
                    currentCurrency = to;
                }
                changeInputs(bke_selected_currency,to);
                changeInputs(bke_selected_currency_sbox,to);
        }

        function cleanup () {
            settings         = {
                defaultClassName : defaultClassName,
                changeCallback   : false,
                replaceWithin    : false,
                ignoreOwnCurr    : false,
                obj              : false,
                noRound          : false,
                objName          : false,
                arr              : false,
                arrName          : false,
                exceptIdLike     : false,
                onRoom           : false
            };
        }

        function addSymbol (value, toSymbol) {
            if ((toSymbol == 0 && settings.onRoom) || !toSymbol) {
                toSymbol = getDefaultCurrency();
            }                 
            if (availableCurr[toSymbol]) {
                    if (availableCurr[toSymbol]['side'] == 'l') {
                        lcurr = availableCurr[toSymbol]['symbol'];
                        rcurr = '';
                    } else {
                        lcurr = '';
                        rcurr = availableCurr[toSymbol]['symbol']
                    }
                    value = rcurr + value + lcurr;
            } 
            return value;
        }

        function applyValue(obj,changed,changedValueOnly) {

            try {
                if (obj.tagName == 'INPUT') {
                    obj.value = changedValueOnly;                    
                } else {
                    obj.innerHTML = changed;                  
                }
            } catch (error) {logErr(error);} 
        }

        function getObjValue(obj,original) {
            value = false;
            if (obj.tagName == 'INPUT') {
                value = obj.value;                    
            } else {
                value = obj.innerHTML;                    
            }
            pureValue = getRate(value);
            return pureValue;
        }

        function changeInputs (name,to) {
            input = document.getElementsByName(name);
            if (input) {
                for (var i=0;i<input.length;i++) {
                    input[i].value = to;
                }
            }
            return this;
        }

        function getAllToChange (classNames, replaceWithin) {
            var all = [];
            try {
                if (replaceWithin) {
                    if (replaceWithin.match(/^[#\.]/)) {
                        found = replaceWithin.match(/^[#|\.](.*)/);
                        if (found && found.length > 0) {
                            all = document.querySelectorAll('.'+found[1]+' .curr_chan');
                            if (all.length < 1) {
                                all = document.querySelectorAll('#'+found[1]+' .curr_chan');
                            }
                        } else {
                            all = document.querySelectorAll(replaceWithin+' .curr_chan');
                        }
                    } else {
                        all = document.querySelectorAll('#'+replaceWithin+' .curr_chan');
                    }
                } else {
                    all = document.querySelectorAll('.'+classNames);
                }
                if (all && all.length && settings.exceptIdLike) {
                    newAll = [];
                    for (var i = all.length - 1; i >= 0; i--) {
                        if (all[i].id) {
                            if (!all[i].id.match(settings.exceptIdLike)) {
                                newAll.push(all[i]);
                            }
                        } else {
                            newAll.push(all[i]);
                        }
                    };
                    all = newAll;
                }
            } catch (error) {logErr(error);}
            return all;
        }

        function getRate(rate) {
            var r = '';
            var l = '';
            
            if (!isNaN(rate)) {
                return rate;
            }
            if ($.parseHTML(rate)){
                var newRate = $.parseHTML(rate);
                rate = newRate[0].textContent;
            }
            var match_curr = rate.match(/(?:<span.*?>)?([^\d]+)?((?:\d+)?\,?(?:\d+)\.?(?:\d+)?)?\s?([^\d]+;?)?([^\d]+)?(?:<\/span.*?>)?/);
            if (match_curr && match_curr[2]) {
                rate = match_curr[2];
                if (match_curr[1]) {
                    l = match_curr[1];
                    lcurr = l;
                    rcurr = '';
                } 
                if (match_curr[3]) {
                    r = match_curr[3];
                    rcurr = r;
                    lcurr = '';
                }
            } else {
                rate = rate.replace(/[^\d\.]/,'');
            }
            return rate;
        }
        
        function exchangeRate(value, from, to , callback) {   
            var c = false;

            if (callback && typeof callback === 'function') {
                c = callback;
            }

            if (availableCurr[from] && availableCurr[to]) {
                var er = /^-?[0-9]+$/;
                var isInt = er.test(value);
                value = value.replace(/,/g,'');
                parsedRate = value;
                if (from != 0 || to != 0) {
                    parsedRate = (((parseFloat(value) / parseFloat(availableCurr[from]['rate'])) * parseFloat(availableCurr[to]['rate'])));
                	if (!settings.noRound) {
                		parsedRate = Math.round(parsedRate);
                	}
                }
                if (!isInt) parsedRate = parsedRate.toFixed(2);
                if (c) c(parsedRate);
                
                return parsedRate;
            } else {
                if (c) c(value);
                return value;
            }
        }

        function changeTripteaseCurrencies(from,to){
            var triptease_div = document.querySelectorAll(".price-fighter-widget");
            if(triptease_div[0]){
                if (availableCurr[to]) {
                    noRound();
                    var price = triptease_div[0].getAttribute("data-pf-direct-price");
                    var newPrice = exchangeRate(price, from, to);
                    triptease_div[0].setAttribute("data-pf-direct-price", newPrice);
                    triptease_div[0].setAttribute("data-pf-currency", availableCurr[to].isocode);
                    cleanup();
                }
                if(typeof Paperboy !== 'undefined' && Paperboy.PriceCheck){
                    Paperboy.PriceCheck.reset();
                }
            }
        }
    })();

docReady(function() {
document.getElementById('curr_selector').value = '3';
document.getElementById('curr_selector').onchange();
    document.getElementById('curr_selector').onchange();
   if (typeof jQuery.ui != 'undefined') {
        set_hover(jQuery);
   }
});
</script>

    </div>
    <!-- END bke_currency_selector -->
    
  </div>
</div>

<div class="na-progress-bar__wrapper">
  <div class="na-progress-bar" style="display:none;">
    <div class="na-progress-bar__main">
      <div class="step-1">
        <span>1</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="step-2">
        <span>2</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="step-3">
        <span>3</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="na-progress-bar__bar"></div>
    </div>
    <div class="na-progress-bar__faded">
      <div class="step-1"></div>
      <div class="step-2"></div>
      <div class="step-3"></div>
      <div class="na-progress-bar__bar"></div>
    </div>
  </div>
  <div class="step-4">
    <h2>Thank you!</h2>
    <div class="confetti-wrapper">
      <div class="confetti-50"></div>
      <div class="confetti-49"></div>
      <div class="confetti-48"></div>
      <div class="confetti-47"></div>
      <div class="confetti-46"></div>
      <div class="confetti-45"></div>
      <div class="confetti-44"></div>
      <div class="confetti-43"></div>
      <div class="confetti-42"></div>
      <div class="confetti-41"></div>
      <div class="confetti-40"></div>
      <div class="confetti-39"></div>
      <div class="confetti-38"></div>
      <div class="confetti-37"></div>
      <div class="confetti-36"></div>
      <div class="confetti-35"></div>
      <div class="confetti-34"></div>
      <div class="confetti-33"></div>
      <div class="confetti-32"></div>
      <div class="confetti-31"></div>
      <div class="confetti-30"></div>
      <div class="confetti-29"></div>
      <div class="confetti-28"></div>
      <div class="confetti-27"></div>
      <div class="confetti-26"></div>
      <div class="confetti-25"></div>
      <div class="confetti-24"></div>
      <div class="confetti-23"></div>
      <div class="confetti-22"></div>
      <div class="confetti-21"></div>
      <div class="confetti-20"></div>
      <div class="confetti-19"></div>
      <div class="confetti-18"></div>
      <div class="confetti-17"></div>
      <div class="confetti-16"></div>
      <div class="confetti-15"></div>
      <div class="confetti-14"></div>
      <div class="confetti-13"></div>
      <div class="confetti-12"></div>
      <div class="confetti-11"></div>
      <div class="confetti-10"></div>
      <div class="confetti-9"></div>
      <div class="confetti-8"></div>
      <div class="confetti-7"></div>
      <div class="confetti-6"></div>
      <div class="confetti-5"></div>
      <div class="confetti-4"></div>
      <div class="confetti-3"></div>
      <div class="confetti-2"></div>
      <div class="confetti-1"></div>
      <div class="confetti-0"></div>
    </div>    
  </div>
</div>



  <div id="searchbox" style="display:none;"><script type="text/javascript">
jQuery(document).ready(function($) {
    $("#bke_name").click(function() {
        $("#bke_id").val(''); $("#loc_id").val(''); $("#c_id").val('');$("#landmark_id").val('');
    }); 
});    

function bke_check_search() {	
     var error = "";     
     if (typeof window.check_consolsite == 'function') {
        error = check_consolsite();
        //error = false;
     };

     if (error) {
        document.forms['bke_search'].bke_name.value='';     	
      };
    
     document.forms['bke_search'].submit();
     return false;
};
</script>
<form style="margin: 0px;" name="bke_search" class="bke_searchbox" method="post" action="//bookings.ballyvolanehouse.ie/bookings/checkavailability" onSubmit="return bke_check_search();">

	<input type="hidden" name="bke_calendar-jquery-collective_sbid" value=""/>
<input type="hidden" name="bke_id" value="9A4A16EE4AF696DD645E72E1822CEBDF"/>
<input type="hidden" id="grid_view" name="grid_view" value="0"/>
<input type="hidden" id="minstay" value="1"/>
<input type="hidden" id="maxstay" value="31"/>
<input type="hidden" name="bke_selected_currency_sbox" value="2"/>


<input type="hidden" value="en" name="lang">

<ul id="bke_searchbox_wrapper">
	<li class="title"><h2>Check Availability</h2></li>
	
	<!-- <li class="occupants field-wrapper"><SELECT class="input occupancy" name="occupancy[]" multiple style=""><OPTION value='3'  >Double</OPTION><OPTION value='4'  >Single/Double</OPTION><OPTION value='5'  >Triple</OPTION><OPTION value='8'  >Family 3</OPTION><OPTION value='6'  >Family 4</OPTION><OPTION value='7'  >Family 5</OPTION><OPTION value='9'  >Quadruple</OPTION><OPTION value='10'  >5 Adults</OPTION><OPTION value='11'  >6 Adults</OPTION><OPTION value='43'  >Family 6</OPTION><OPTION value='45'  >8 Adults</OPTION><OPTION value='44'  >7 Adults</OPTION><OPTION value='46'  >Family 7</OPTION><OPTION value='47'  >Family 8</OPTION><OPTION value='48'  >10 Adults</OPTION><OPTION value='2'  >Single</OPTION></SELECT><script type="text/javascript" src="/admin/js/jquery/jquery-ui.min.js"></script><script type="text/javascript" src="/admin/js/jquery/jquery.multiselect.min.js"></script><script>$(document).ready(function(){
        $(".occupancy").multiselect({
        selectedText : "# Room selected",
        noneSelectedText : "Select a Room",
        checkAllText: "Check all",
        uncheckAllText: "Uncheck all",
        checkAll: function(){
            checkPlu_occupancy();
        },
        classes : "multi_width",click : function(event, ui){
	        checkPlu_occupancy();
	    }
	    });function checkPlu_occupancy (){
	    var uiwidget = $(".occupancy");
	    var selectedWidget = uiwidget.multiselect("widget").find("input:checked");
	            if ((selectedWidget.length)>1) {
	            uiwidget.multiselect({selectedText : "# Rooms selected"});
	            } else { uiwidget.multiselect({selectedText : "# Room selected"}); };
	    if ((selectedWidget.length)==16) {
	        uiwidget.multiselect({selectedText : "All Rooms selected"});
	    }
	        };
	    checkPlu_occupancy();
	    ;});</script></li> -->
	<li class="arrival field-wrapper"><label>Arrive:</label> <input type="text" id="arrival-date">
<input type="hidden" name="bke_arrival_day" value="05" id="bke_arrival_day"><input type="hidden" name="bke_arrival_month" value="04" id="bke_arrival_month"><input type="hidden" name="bke_arrival_year" value="2026" id="bke_arrival_year"></li>
	<li class="departure field-wrapper"><label>Depart:</label> <input type="text" id="departure-date">
<input type="hidden" name="bke_departure_day" value="06" id="bke_departure_day"><input type="hidden" name="bke_departure_month" value="04" id="bke_departure_month"><input type="hidden" name="bke_departure_year" value="2026" id="bke_departure_year"></li>
	<!-- <li class="nights field-wrapper"><label>Nights:</label> <select name='bke_nights' class='bke_dropdown' onchange="bke_update_dropdown(form, form.bke_arrival_day.value, form.bke_arrival_month.value, form.bke_arrival_year.value, form.bke_nights.value, 1)">
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20</option>
<option value="21" >21</option>
<option value="22" >22</option>
<option value="23" >23</option>
<option value="24" >24</option>
<option value="25" >25</option>
<option value="26" >26</option>
<option value="27" >27</option>
<option value="28" >28</option>
<option value="29" >29</option>
<option value="30" >30</option>
<option value="31" >31</option>
</select>
</li> -->
	<li class="ratecode"><input type="text" name="bke_ratecode" size="8" class="bke_drop"
  style="text-align: center;" onclick="if (this.value == '') this.value = '';" 
  placeholder="optional"
  value='' />
</li>
	<!--<li class="language"><select name="lang" ><option value="en" selected="selected">English</option> </select></li>-->
    <li class="submit"><input type="submit" name="bke_submit" class="btn" value="Book Now"></li>
</ul>
</form>





</div>

	<div class="row" id="na-bke">
		<div class="container no-padding" id="">
			<h3 class="page-title" style="display:none;">Reservation System</h3>
			<p class="bke_error">The file you have just requested is not available on server.</p>
		</div>
	</div> <!-- End - #na-bke -->

	<div class="clearfix"></div>
<footer class="row no-padding" id="na-footer">
    <div class="container">
        <div class="col-xs-12 col-sm-8 no-padding">
            <nav>
                <ul>
                  <!-- IF microsite -->
                  <li>
                    <a data-fancybox-href="#location-map" data-fancybox-title="Location" class="modal-fancy fancybox.inline" onclick="mapFooter();" id="location-link">Location</a>
                        <div style="display:none;">
                            <div id="location-map" class="modal-info">
                                    
                                    <!-- <div id="location-map__info">
                                      <h2>Ballyvolane House</h2>
                                      <p>contactadr  </p>
                                      <p>Address 1</p>
                                      <p>Address 2</p>
                                    </div> -->
                              
                                    <div id="map-footer"></div>
                                    
                                    <script>
                  
                                    var latitude = "52.0558704";
                  
                                    var longitude = "-8.1890946";
                  
                                    var mapZoom = "13";
                  
                                    var propertyName = "Ballyvolane House";
                  
                                    </script>
                            </div>
                        </div>
                  </li>
              
                  <!-- ENDIF microsite -->

                    <!-- IF bke_privacy_policy_section -->

                    <li><a data-fancybox-href="#privacy-policy-en" data-fancybox-title="Privacy Policy" class="modal-fancy fancybox.inline" id="privacy-policy-link">Privacy Policy</a>
                        <div style="display:none;">
                            <div id="privacy-policy-en" class="modal-info">
                                <h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Summary:</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We respect the EU&rsquo;s General Data Protection Regulations (GDPR) and this policy explains how we collect and treat any information you give us. You won&rsquo;t find any complicated legal terms or long passages of unreadable text. We&rsquo;ve no desire to trick you into agreeing to something you might later regret.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Our policy covers</h2><br>
<ul style="color: #222222; font-family: mr-eaves-sans, &quot;;"><br>
<li>Why we value your privacy</li><br>
<li>How we collect information</li><br>
<li>What information we hold</li><br>
<li>Where we store your information</li><br>
<li>What we use your information for</li><br>
<li>Who&rsquo;s responsible for your information at our company</li><br>
<li>Who has access to information about you</li><br>
<li>The steps we take to keep your information private</li><br>
<li>How to complain</li><br>
<li>Changes to the policy</li><br>
<li>Why we value your privacy</li><br>
</ul><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We value your privacy as much as we do our own, so we&rsquo;re committed to keeping your personal and business information safe. We&rsquo;re uncomfortable with the information companies, governments, and other organisations keep on file, so we ask for only the bare minimum from our customers. We&rsquo;ll never use your personal information for any reason other than why you gave it, and we&rsquo;ll never give anyone access to it unless we&rsquo;re forced to by law.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">How we collect information</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We ask for contact information including your name, email address, and phone number, on our website so that we can reply to your enquiry.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We collect your email address when you sign up for one of our newsletters.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We ask for your account and contact information when you hire or buy something from us.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">Occasionally, we might receive your contact information from one of our partners. If we do, we protect it in exactly the same way as if you give it to us directly.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">What information we hold</h2><br>
<ul style="color: #222222; font-family: mr-eaves-sans, &quot;;"><br>
<li>When you contact us by email or through our website, we collect your name, email address, phone number, a social media username, and the company you work for, if you&rsquo;ve given us that.</li><br>
<li>If you sign up for a newsletter, we only collect your email address.</li><br>
<li>When you buy something from us, we collect your name, email address, phone number, and a delivery address.</li><br>
<li>If you do business with us, we also collect your business name and bank details and keep records of the invoices we send you and the payments you make.</li><br>
<li>All online purchases are processed either by&nbsp;<a style="color: #ad5100;" title="" href="https://eviivo.com/">Eviivo</a>&nbsp;or&nbsp;<a style="color: #ad5100;" title="" href="https://www.paypal.com/">Paypal</a>, our ecommerce platforms, and we never have access to your credit card information, unless given over the phone.</li><br>
</ul><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Where we store your information</h2><br>
<ul style="color: #222222; font-family: mr-eaves-sans, &quot;;"><br>
<li>When you contact us by email, your information is stored in&nbsp;<a style="color: #ad5100;" title="" href="https://www.google.com/gmail/">Google Mail</a>.</li><br>
<li>When you contact us through our website contact forms, your information is stored on&nbsp;<a style="color: #ad5100;" title="" href="https://bristlebird.ie/">Bristlebird Media Works</a>&nbsp;web servers in our Content Management System (CMS) software.</li><br>
<li>If you sign up for a newsletter, your name and email address are stored on&nbsp;<a style="color: #ad5100;" title="" href="https://bristlebird.ie/">Bristlebird Media Works</a>&nbsp;email marketing platform.</li><br>
<li>When you book to stay at Ballyvolane, your information is stored in&nbsp;<a style="color: #ad5100;" title="" href="https://eviivo.com/">Eviivo</a>, our booking engine platform.</li><br>
<li>When you buy tickets for events at Ballyvolane, your information is stored on&nbsp;<a style="color: #ad5100;" title="" href="https://www.paypal.com/">Paypal</a>, our payment gateway.</li><br>
<li>If we do business, we store your information in our accounts software,&nbsp;<a style="color: #ad5100;" title="" href="https://www.sage.ie/">Sage Accounts</a>. We chose these systems partly for their commitment to security.</li><br>
</ul><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">What we use your information for</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We occasionally use your contact information to send you details of our products and services. When we do, you have the option to unsubscribe from these communications and we won&rsquo;t send them to you again. We might also email or phone you about our products and services, but if you tell us not to, we won&rsquo;t get in touch again. We will use your information to send you invoices, statements, or reminders.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Who&rsquo;s responsible for your information at our company</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">Justin and Jenny Green, the owners of Ballyvolane House are responsible for the security of your information. You can contact them by email at info@ballyvolanehouse.ie or by phone on 025 36349 if you have any concerns about the information we store.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Who has access to information about you</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">When we store information in our own systems, only the people who need it have access. Our management team have access to everything you&rsquo;ve provided, but individual employees have access to only what they need to do their job.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">The steps we take to keep your information private</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">Where we store your information in third-party services, we restrict access only to people who need it. We store passwords in an encrypted password manager, use a different, randomly generated password for each service, and never use the same password twice.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">The computers we use and protected either by a passcode or fingerprint access. These computers ask for authentication whenever they&rsquo;re started or after 5 minutes of inactivity. Our mobile devices are also protected by a fingerprint recognition.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">How to complain</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We take complaints very seriously. If you&rsquo;ve any reason to complain about the ways we handle your privacy, please contact Justin or Jenny Green by email at info@ballyvolanehouse.ie or by phone on 025 36349. If you&rsquo;re the letter writing type, send your envelope to Ballyvolane House, Castlelyons, Fermoy, Co. Cork, P61 FP0, Ireland.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Changes to the policy</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">If we change the contents of this policy, those changes will become effective the moment we publish them on our website.</p>
                            </div>
                        </div>
                    </li>

                    <!-- ENDIF bke_privacy_policy_section -->

                    <!-- IF bke_cookies_policy_section -->

                    <li><a data-fancybox-href="#cookie-policy" data-fancybox-title="Cookie Policy" class="modal-fancy fancybox.inline" id="cookie-policy-link">Cookie Policy</a>
                        <div style="display:none;">
                            <div id="cookie-policy" class="modal-info">
                                <h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">What&rsquo;s a cookie?</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">A &ldquo;cookie&rdquo; is a piece of information that is stored on your computer&rsquo;s hard drive and which records how you move your way around a website so that, when you revisit that website, it can present tailored options based on the information stored about your last visit. Cookies can also be used to analyse traffic and for advertising and marketing purposes.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">Cookies are used by nearly all websites and do not harm your system.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">If you want to check or change what types of cookies you accept, this can usually be altered within your browser settings. You can block cookies at any time by activating the setting on your browser that allows you to refuse the setting of all or some cookies. However, if you use your browser settings to block all cookies (including essential cookies) you may not be able to access all or parts of our site.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">How do we use cookies?</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">We use cookies to track your use of our website. This enables us to understand how you use the site and track any patterns with regards how you are using our website. This helps us to develop and improve our website as well as products and / or services in response to what you might need or want.</p><br>
<h2 style="color: #54878a; font-size: 1.6em; font-family: french-canon, Georgia, &quot;;">Cookies are either:</h2><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;"><strong style="color: #1c2e30;">Session cookies</strong>: these are only stored on your computer during your web session and are automatically deleted when you close your browser &ndash; they usually store an anonymous session ID allowing you to browse a website without having to log in to each page but they do not collect any personal data from your computer; or Persistent cookies: a persistent cookie is stored as a file on your computer and it remains there when you close your web browser. The cookie can be read by the website that created it when you visit that website again. We use persistent cookies for Google Analytics.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;">Cookies can also be categorised as follows:</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;"><strong style="color: #1c2e30;">Strictly necessary cookies</strong>: These cookies are essential to enable you to use the website effectively, such as when buying a product and / or service, and therefore cannot be turned off. Without these cookies, the services available to you on our website cannot be provided. These cookies do not gather information about you that could be used for marketing or remembering where you have been on the internet.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;"><strong style="color: #1c2e30;">Performance cookies</strong>: These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular.</p><br>
<p style="color: #222222; font-family: mr-eaves-sans, &quot;;"><strong style="color: #1c2e30;">Functionality cookies</strong>: These cookies allow our website to remember choices you make and provide enhanced features. For instance, we may be able to provide you with news or updates relevant to the services you use. They may also be used to provide services you have requested such as viewing a video or commenting on a blog. The information these cookies collect is usually anonymised.</p><br>
<p class="sharing-icons" style="color: #222222; font-family: mr-eaves-sans, &quot;;">&nbsp;</p>
                            </div>
                        </div>
                    </li>

                    <!-- ENDIF bke_cookies_policy_section -->

                    <!-- IF microsite -->
                    <!-- IF bke_cancel_policy_section -->
                    <!-- BEGIN bke_cancel_policy -->
                    <li><a data-fancybox-href="#cancellation-policy" data-fancybox-title="Cancellation Policy" class="modal-fancy fancybox.inline" id="cancellation-policy-link"> Cancellation Policy</a>
                        <div style="display:none;">
                            <div id="cancellation-policy" class="modal-info">
                                <!-- BKE_TEXT_TERMS only added here because BKE_CANCEL_POLICY needs it to be on the page or else it wont show. -->
                                <span style="display:none;">All rates are quoted subject to availability and alteration. All discounted<br>
rates quoted are limited offers and may be subject to a minimum nights stay.<br>
<br>
While every effort has been made to ensure the accuracy of all information. Ballyvolane House does not accept liability for any errors or omissions<br>
and reserves the right to change information.<br>
<br>
Should you wish to cancel a reservation prior to arrival, Ballyvolane House <br>
has a strict policy of 48 hours notice. In the event of Ballyvolane House<br>
not being notified of a cancellation the first night's <br>
accommodation will automatically be charged to your credit card.<br>
Booking deposit is taken at the time of booking and this is non-refundable.<br>
<br>
Please phone or fax Ballyvolane House direct in order to cancel your<br>
reservation. For any special requests please do not hesitate to contact us<br>
direct.</span>
                                We hope you won’t have to but if you do, we require 7 days notice and if cancelled after this time a 100% cancellation fee will apply. We will do our utmost to resell the room for that period and please note the cancellation will only apply if we are unable to resell the room. Please check your travel insurance provides adequate cover.
                            </div>
                        </div>
                    </li>
                    <!-- END bke_cancel_policy -->
                    <!-- ENDIF bke_cancel_policy_section -->
                    <!-- ENDIF microsite -->

                    

                    

                </ul>
            </nav>
        </div>
        <div class="col-xs-12 col-sm-4 text-right no-padding">
          <!-- <a href="" class="na-logo">
            <img src="//www.netaffinity.com/files/images/netaffinity-logo-black.svg" alt="">
          </a> -->
          <div class="made-by-na">
  <span>
  Made with <i class="fas fa-heart"></i> by</span> <a class="na-logo" href="http://www.netaffinity.com" alt="Net Affinity" target="_blank">
        <img alt="Net Affinity" src="https://www.netaffinity.com/files/images/netaffinity-logo-black.svg" style="width: 115px; height: 45px;">
    </a>
</div>
        </div>

    </div>
</footer>
<div class="slide-panel">
  <div class="slide-panel__title">
  </div>
  <div class="slide-panel__close" onClick="slidePanel()"><i class="fas fa-times"></i></div>
  <div class="slide-panel__content">
  </div>
</div>

<div class="slide-panel__overlay">
</div>


	<script type="text/javascript">
	jQuery('input.star').rating();

	</script>
	<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WPGCDR7');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WPGCDR7"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
	<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
	<script src="//bookings.ballyvolanehouse.ie/files/js/jquery.settings.js" type="text/javascript"></script>
	<script src="//bookings.ballyvolanehouse.ie/files/js/bke-searchbox.js"></script>
	
		<form id="bke_searchbox_data" class="bke_searchbox" style="display:none;" >
	<input type="hidden" autocomplete="false">
	<input type="hidden" value="1" id="bke_minstay">
	<input type="hidden" value="364" id="bke_maxstay">
	<input type="hidden" name="bke_form_token" value="" id="bke_form_token">
	<input type="hidden" name="grid_view" value="0" id="bke_grid_view">
	<input type="hidden" name="lang" value="en" id="bke_lang">
	<input type="hidden" name="bke_ratecode" value="" id="bke_ratecode">
	<input type="hidden" name="bke_arrival_day" value="05" id="bke_arrival_day">
	<input type="hidden" name="bke_arrival_month" value="04" id="bke_arrival_month">
	<input type="hidden" name="bke_arrival_year" value="2026" id="bke_arrival_year">
	<input type="hidden" name="bke_departure_day" value="" id="bke_departure_day">
	<input type="hidden" name="bke_departure_month" value="" id="bke_departure_month">
	<input type="hidden" name="bke_departure_year" value="" id="bke_departure_year">
	<input type="hidden" name="bke_nights" value="1" id="bke_nights">
	<input type="hidden" name="bke_avail_order" value="" id="bke_avail_order">
	
</form>
<div class="na-searchbox undone">
	<div class="na-searchbox__parameters">
		<input type="hidden" name="searchbox_type" value="">
		<input type="hidden" name="searchbox_display" value="overlay">
		<input type="hidden" name="searchbox_size" value="">
		<input type="hidden" name="searchbox_flexdate" value="">
		<input type="hidden" name="searchbox_usp" value="">
		<input type="hidden" name="searchbox_collapse" value="">
		<input type="hidden" name="searchbox_ratecode" value="">
		<input type="hidden" name="searchbox_hidden" value="yes">
		<input type="hidden" name="searchbox_debug" value="">
		<input type="hidden" name="searchbox_location" value="">
	</div>
	<div class="na-searchbox__header" style="display:none;">
		Book Your Stay
	</div>
	<div class="na-searchbox__main">

		<!-- IF microsite -->

  <!-- 
  // Uncomment this to use in individual hotels with different types of accommodation
  
  <div class="na-searchbox__location">
    <div class="na-searchbox__actionselect-fieldwrapper">
      <select name="bke_actionselect" id="bke_actionselect">
        <option value="" selected>Please Select Accommodation Type</option>
        <option value="secure.PROPERTY-URL-1.ie">PROPERTY NAME 1</option>
        <option value="secure.PROPERTY-URL-2.ie">PROPERTY NAME 2</option>
      </select>
    </div>
  </div>
  <script>
  $("#bke_actionselect").change(function(){
          var sel = $("#bke_actionselect").val();
          $("#bke_searchbox_data").attr("action", "https://" + sel + "/bookings/checkavailability");
  });
  </script>
  
  -->

<!-- ENDIF microsite -->


		<div class="na-searchbox__dates">
			<div class="na-searchbox__checkin">
				<span class="na-searchbox__label">Check In</span>
				<div class="na-searchbox__day-week"></div>
				<div class="na-searchbox__day-number">05</div>
				<div class="na-searchbox__month">04</div>
				<div class="na-searchbox__year">2026</div>
			</div>
		</div>

		<!--if bke_ratecode_section-->
		<div class="na-searchbox__ratecode">
			<div class="na-searchbox__col-70 left">Do you have a promo code?</div>
			<div class="na-searchbox__col-30 right">
				<div class="na-searchbox__switch na-searchbox__switch-ratecode off">
					<div class="na-searchbox__slide">
						<div class="na-searchbox__on">Yes</div>
						<div class="na-searchbox__button"></div>
						<div class="na-searchbox__off">No</div>
					</div>
				</div>
			</div>
		</div>
		<input type="text" class="na-searchbox__ratecode-input" name="ratecode" placeholder="Have a promo code?">
		<!--endif bke_ratecode_section-->

		<button class="na-searchbox__submit" id="ibe_submit">Search</button>

	</div>
	<!-- IF bke_usp -->
	<div class="na-searchbox__usptrigger">
		Why Book With Us? <img src="//bookings.ballyvolanehouse.ie/files/images/usp-tick.svg" alt="Ballyvolane House" width="24" height="23">
	</div>
	<!-- ENDIF bke_usp -->
	<!-- IF bke_usp -->
	<div class="na-searchbox__uspoverlay">
		<div class="na-searchbox__uspcontainer">
			<div class="na-searchbox__uspclose"><svg xmlns="http://www.w3.org/2000/svg" width="16.971" height="16.972" viewBox="0 0 16.971 16.972">
				<path id="icon-close" data-name="Union 9" d="M0,15.557,7.071,8.485,0,1.414,1.414,0,8.485,7.071,15.557,0,16.97,1.415,9.9,8.486l7.071,7.071L15.557,16.97,8.486,9.9,1.414,16.971Z" fill="#666"/>
			</svg>
		</div>
		<div class="na-searchbox__uspheading">Why Book With Us? <img src="//bookings.ballyvolanehouse.ie/files/images/usp-tick.svg" alt="Ballyvolane House" width="24" height="23"></div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.ballyvolanehouse.ie/files/images/usp-tick.svg" alt="Best Price Guarantee" width="24" height="23">
			<span class="na-searchbox__usptitle">Best Price Guarantee</span>
			<span class="na-searchbox__usptext"> Best Price Guarantee</span>
		</div>
		
	</div>
</div>
<!-- ENDIF bke_usp -->
<div class="na-searchbox__overlay">
	<div class="na-searchbox__overlay-container">
		<div class="na-searchbox__overlaylogo">
			<div class="na-searchbox__overlaylogowrapper">
				<img src="//bookings.ballyvolanehouse.ie/bookings/showimage?id=AD02AC96BFA22D47034709F891C119E4&type=18" alt="Ballyvolane House"/>
			</div>
			<div class="na-searchbox__overlayclose"><svg xmlns="http://www.w3.org/2000/svg" width="16.971" height="16.972" viewBox="0 0 16.971 16.972">
				<path id="icon-close" data-name="Union 9" d="M0,15.557,7.071,8.485,0,1.414,1.414,0,8.485,7.071,15.557,0,16.97,1.415,9.9,8.486l7.071,7.071L15.557,16.97,8.486,9.9,1.414,16.971Z" fill="#666"/>
			</svg></div>
		</div>
		<div class="na-searchbox__overlaywrapper">
			<div class="na-searchbox__overlayscroll">
				<div class="na-searchbox__header" style="display:none;">
					Book Your Stay
				</div>
			</div>
		</div>
		<!-- IF bke_usp -->
		<div class="na-searchbox__overlayusp">
			<div class="na-searchbox__overlayusp-header">
				<div class="btn-circle">
					<svg xmlns="http://www.w3.org/2000/svg" width="12.777" height="7.777" viewBox="0 0 12.777 7.777">
						<path id="Union_9" data-name="Union 9" d="M6.389,7.753l-.025.025L0,1.414,1.414,0,6.389,4.975,11.363,0l1.414,1.414L6.413,7.778Z" fill="#fff"/>
					</svg>
				</div>
				Why Book With Us?
			</div>
			<div class="na-searchbox__overlayusp-content">
				<ul>
					
					<li>
						<div class="na-searchbox__usptitle">Best Price Guarantee</div>
						<div class="na-searchbox__usptext"> Best Price Guarantee</div>
					</li>
					
				</ul>
			</div>
		</div>
		<!-- ENDIF bke_usp -->
	</div>
</div>
</div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@4.5.95/css/materialdesignicons.min.css">


<script>
	let hotelUrl = "https://ballyvolanehouse.ie/bookings";
</script>
	
<script type="text/javascript" language="javascript">
    TAPixel.impressionWithReferer("001F000000v8WJk");
</script>
<script type="text/javascript" src="//bookings.ballyvolanehouse.ie/bookings/calendar-jquery-collective"></script>
</body>
</html>