<!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 - Castle Hotel Dublin</title>

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

<meta name="keywords" content="">
<meta name="description" content="">
<link rel="shortcut icon" href="//bookings.castle-hotel.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.castle-hotel.ie/files/css/bke-reset.css" type="text/css">
<link rel="stylesheet" href="//bookings.castle-hotel.ie/files/css/style-availtable.css" type="text/css">
<link rel="stylesheet" href="//bookings.castle-hotel.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.castle-hotel.ie/files/css/jquery.rating.css" type="text/css">
<link rel="stylesheet" href="//bookings.castle-hotel.ie/files/css/calendar.css" type="text/css">
<link rel="stylesheet" href="//bookings.castle-hotel.ie/files/css/bke.scss" type="text/css">
<!-- <link rel="stylesheet" href="//bookings.castle-hotel.ie/files/css/bke.comp.css" type="text/css"> -->
<link rel="stylesheet" href="//bookings.castle-hotel.ie/files/css/print.scss" type="text/css" media="print">
<link rel="stylesheet" href="//bookings.castle-hotel.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.castle-hotel.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.castle-hotel.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.castle-hotel.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://www.castle-hotel.ie/bookings" class="tip" title="Main website"><i class="zmdi zmdi-home"></i> <span>HOME</span></a>
			</div>
			<div class="bke-settings">
        
				<!-- BEGIN bke_languages_form -->
				<div class="setting-lang">
					<i class="zmdi zmdi-globe"></i>
					<form name="bke_search_auto" id="bke_search_auto" method=post action="//bookings.castle-hotel.ie/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="fr" >Fran&ccedil;ais</option> <option value="es" >Espa&ntilde;ol </option> </select></form>
				</div>
				<!-- END bke_languages_form -->

				<!-- 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="49" >INR</option>
      <option value="48" >MXN</option>
      <option value="47" >CZK</option>
      <option value="60" >PHP</option>
      <option value="2" selected>EUR</option>
      <option value="4" >GBP</option>
      <option value="3" >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>
      <option value="50" >OMR</option>
      <option value="51" >IDR</option>
      <option value="52" >GHS</option>
      <option value="53" >BHD</option>
      <option value="54" >SGD</option>
      <option value="55" >THB</option>
      <option value="57" >PEN</option>
      <option value="58" >MAD</option>
      <option value="59" >RUB</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    = {"49":{"isocode":"INR","symbol":"&#x20B9;","side":"r","rate":"107.2750","name":"Indian Rupee"},"47":{"rate":"24.5112","isocode":"CZK","symbol":"K&#x10D;","side":"l","name":"Czech Koruna"},"44":{"rate":"11.2270","symbol":"kr","isocode":"NOK","side":"r","name":"Norwegian Krone"},"53":{"name":"Bahraini dinar","side":"r","symbol":"BHD","isocode":"BHD","rate":"0.4356"},"57":{"name":"Peruvian sol","rate":"3.9907","symbol":"S/","isocode":"PEN","side":"r"},"2":{"name":"Euro","rate":"1.0000","isocode":"EUR","symbol":"&euro;","side":"r"},"12":{"name":"Canadian dollar","side":"r","isocode":"CAD","symbol":"$","rate":"1.6063"},"4":{"name":"Pound Sterling","side":"r","isocode":"GBP","symbol":"&pound;","rate":"0.8718"},"9":{"rate":"62.5995","side":"r","isocode":"EGP","symbol":"E&pound;","name":"Egyptian Pound"},"48":{"symbol":"$","isocode":"MXN","side":"r","rate":"20.5989","name":"Mexican Peso"},"51":{"name":"Indonesian rupiah","rate":"19582.5271","side":"r","isocode":"IDR","symbol":"Rp"},"45":{"name":"Swedish Krona","side":"r","symbol":"kr","isocode":"SEK","rate":"10.8827"},"50":{"rate":"0.4436","isocode":"OMR","symbol":"OMR","side":"r","name":"Omani Rial"},"11":{"name":"Australian dollar","rate":"1.6691","side":"r","isocode":"AUD","symbol":"$"},"54":{"name":"Singapore dollar","side":"r","isocode":"SGD","symbol":"SGD","rate":"1.4830"},"3":{"name":"US Dollar","symbol":"$","isocode":"USD","side":"r","rate":"1.1538"},"52":{"isocode":"GHS","symbol":"GH&#x20B5;","side":"r","rate":"12.7013","name":"Ghanaian cedi"},"46":{"name":"Dirham","side":"r","symbol":"AED","isocode":"AED","rate":"4.2380"},"1":{"name":"Zloty","isocode":"PLN","symbol":"z&#x142;","side":"l","rate":"4.2768"},"6":{"rate":"7.4728","side":"r","isocode":"DKK","symbol":"kr.","name":"Danish Krone"},"55":{"name":"Thai baht","rate":"37.6374","symbol":"&#xE3F;","isocode":"THB","side":"l"},"43":{"rate":"0.9217","side":"r","isocode":"CHF","symbol":"CHF","name":"Swiss Franc"},"7":{"rate":"5.9515","symbol":"R$","isocode":"BRL","side":"r","name":"Real"},"10":{"isocode":"MYR","symbol":"RM","side":"r","rate":"4.6545","name":"Malaysian Ringgit"},"59":{"symbol":"&#x20BD;","isocode":"RUB","side":"l","rate":"92.5452","name":"Russian Ruble"},"60":{"side":"r","isocode":"PHP","symbol":"&#x20B1;","rate":"69.5969","name":"Philippine Peso"},"58":{"rate":"10.8262","isocode":"MAD","symbol":"DH","side":"r","name":"Moroccan dirham"},"5":{"name":"South African rand","isocode":"ZAR","symbol":"ZAR ","side":"r","rate":"19.5325"}};
        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 = '2';
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://www.castle-hotel.ie/bookings" class="logo"><img src="//bookings.castle-hotel.ie/bookings/showimage?type=18&id=C450445BED90CF11CCC9B8A57723FC65" alt="Castle Hotel Dublin" /></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="49" >INR</option>
      <option value="48" >MXN</option>
      <option value="47" >CZK</option>
      <option value="60" >PHP</option>
      <option value="2" selected>EUR</option>
      <option value="4" >GBP</option>
      <option value="3" >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>
      <option value="50" >OMR</option>
      <option value="51" >IDR</option>
      <option value="52" >GHS</option>
      <option value="53" >BHD</option>
      <option value="54" >SGD</option>
      <option value="55" >THB</option>
      <option value="57" >PEN</option>
      <option value="58" >MAD</option>
      <option value="59" >RUB</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    = {"49":{"isocode":"INR","symbol":"&#x20B9;","side":"r","rate":"107.2750","name":"Indian Rupee"},"47":{"rate":"24.5112","isocode":"CZK","symbol":"K&#x10D;","side":"l","name":"Czech Koruna"},"44":{"rate":"11.2270","symbol":"kr","isocode":"NOK","side":"r","name":"Norwegian Krone"},"53":{"name":"Bahraini dinar","side":"r","symbol":"BHD","isocode":"BHD","rate":"0.4356"},"57":{"name":"Peruvian sol","rate":"3.9907","symbol":"S/","isocode":"PEN","side":"r"},"2":{"name":"Euro","rate":"1.0000","isocode":"EUR","symbol":"&euro;","side":"r"},"12":{"name":"Canadian dollar","side":"r","isocode":"CAD","symbol":"$","rate":"1.6063"},"4":{"name":"Pound Sterling","side":"r","isocode":"GBP","symbol":"&pound;","rate":"0.8718"},"9":{"rate":"62.5995","side":"r","isocode":"EGP","symbol":"E&pound;","name":"Egyptian Pound"},"48":{"symbol":"$","isocode":"MXN","side":"r","rate":"20.5989","name":"Mexican Peso"},"51":{"name":"Indonesian rupiah","rate":"19582.5271","side":"r","isocode":"IDR","symbol":"Rp"},"45":{"name":"Swedish Krona","side":"r","symbol":"kr","isocode":"SEK","rate":"10.8827"},"50":{"rate":"0.4436","isocode":"OMR","symbol":"OMR","side":"r","name":"Omani Rial"},"11":{"name":"Australian dollar","rate":"1.6691","side":"r","isocode":"AUD","symbol":"$"},"54":{"name":"Singapore dollar","side":"r","isocode":"SGD","symbol":"SGD","rate":"1.4830"},"3":{"name":"US Dollar","symbol":"$","isocode":"USD","side":"r","rate":"1.1538"},"52":{"isocode":"GHS","symbol":"GH&#x20B5;","side":"r","rate":"12.7013","name":"Ghanaian cedi"},"46":{"name":"Dirham","side":"r","symbol":"AED","isocode":"AED","rate":"4.2380"},"1":{"name":"Zloty","isocode":"PLN","symbol":"z&#x142;","side":"l","rate":"4.2768"},"6":{"rate":"7.4728","side":"r","isocode":"DKK","symbol":"kr.","name":"Danish Krone"},"55":{"name":"Thai baht","rate":"37.6374","symbol":"&#xE3F;","isocode":"THB","side":"l"},"43":{"rate":"0.9217","side":"r","isocode":"CHF","symbol":"CHF","name":"Swiss Franc"},"7":{"rate":"5.9515","symbol":"R$","isocode":"BRL","side":"r","name":"Real"},"10":{"isocode":"MYR","symbol":"RM","side":"r","rate":"4.6545","name":"Malaysian Ringgit"},"59":{"symbol":"&#x20BD;","isocode":"RUB","side":"l","rate":"92.5452","name":"Russian Ruble"},"60":{"side":"r","isocode":"PHP","symbol":"&#x20B1;","rate":"69.5969","name":"Philippine Peso"},"58":{"rate":"10.8262","isocode":"MAD","symbol":"DH","side":"r","name":"Moroccan dirham"},"5":{"name":"South African rand","isocode":"ZAR","symbol":"ZAR ","side":"r","rate":"19.5325"}};
        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 = '2';
document.getElementById('curr_selector').onchange();
    document.getElementById('curr_selector').onchange();
   if (typeof jQuery.ui != 'undefined') {
        set_hover(jQuery);
   }
});
</script>

    </div>
    <!-- END bke_currency_selector -->
    <!-- BEGIN bke_languages_form -->
    <div class="settings-bar__item settings-bar__language">
      <i class="fas fa-globe-americas"></i>
      <form name="bke_search_auto" id="bke_search_auto" method=post action="//bookings.castle-hotel.ie/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="fr" >Fran&ccedil;ais</option> <option value="es" >Espa&ntilde;ol </option> </select></form>
    </div>
    <!-- END bke_languages_form -->
  </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.castle-hotel.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="C61EC5B4110E0E880484F10D04537112"/>
<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="03" 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="04" 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="rate code"
  value='' />
</li>
	<!--<li class="language"><select name="lang" ><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="fr" >Français</option> <option value="es" >Español </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>Castle Hotel Dublin</h2>
                                      <p>contactadr  </p>
                                      <p>Address 1</p>
                                      <p>Address 2</p>
                                    </div> -->
                              
                                    <div id="map-footer"></div>
                                    
                                    <script>
                  
                                    var latitude = "53.354956";
                  
                                    var longitude = "-6.265962";
                  
                                    var mapZoom = "13";
                  
                                    var propertyName = "Castle Hotel Dublin";
                  
                                    </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">
                                <p><strong>FINDLATER HOTELS LIMITED PRIVACY POLICY</strong></p><br>
<p><strong>INTRODUCTION AND SCOPE</strong></p><br>
<p>Findlater Hotels Limited is the legal entity for the Castle Collection, which is a family-owned and family run hotel group with six properties located in Ireland, Scotland and Wales. &nbsp;</p><br>
<p>Processing personal data in a secure, fair, and transparent way is extremely important to us . We know that your privacy is important to you. This notice explains how we collect and use your information, who we share it with and your legal rights.</p><br>
<p>This policy applies to our use of your information in connection with products and services, and all our related website, domains, and apps that may be accessed by our customers, partners and employees (collectively the &ldquo;Services&rdquo;).</p><br>
<p>&nbsp;</p><br>
<p><strong>WHO WE ARE</strong></p><br>
<p>Findlater Hotels Limited (&ldquo;Findlater Hotels Limited&rdquo;, &ldquo;Castle Collection&rdquo;, &ldquo;The Castle Hotel&rdquo;, &ldquo;Ballina Manor Hotel&rdquo;, &ldquo;Fishers Hotel&rdquo;, &ldquo;Atholl Palace&rdquo;, &ldquo;Atholl Lodges&rdquo;, &ldquo;The Beaches Hotel&rdquo;, &ldquo;Scotland&rsquo;s Spa Hotel&rdquo;, &ldquo;we&rdquo;, &ldquo;us&rdquo;, or &ldquo;our&rdquo;) is the provider of the Services and is data controller for your information.</p><br>
<p>Findlater Hotels Limited is a private company limited by shares duly incorporated under the laws of Ireland, having company registration number 452422 and its registered office at 3-4 Gardiner Row, Dublin 1, D01R640, Ireland.</p><br>
<p>&nbsp;</p><br>
<p><strong>WHO THIS POLICY APPLIES TO</strong></p><br>
<p>We collect and process information relating to individuals using the Services including customers, employees, partners, and others.</p><br>
<p>&nbsp;</p><br>
<p><strong>YOUR RESPONSIBILITIES</strong></p><br>
<p>Read this privacy policy to understand your rights and how we process your personal data.</p><br>
<p>If you are an employee, &nbsp;supplier or partner, please also check the contracts between us: they may contain further details on how we collect and process your data.</p><br>
<p>If you provide us with personal information about other people, or if others give us your information, we will only use that information for the specific reason for which it was provided to us. By submitting the information, you confirm that you have the right to authorise us to process it on your behalf in accordance with this privacy policy.</p><br>
<p>&nbsp;</p><br>
<p><strong>INFORMATION WE COLLECT AND HOW WE GET IT</strong></p><br>
<p>In the course of providing the Services, we collect or receive information in different ways and relating to various groups of individuals, including:</p><br>
<ul><br>
<li><strong>Customers</strong></li><br>
</ul><br>
<p>We collect and use information relating to you. This information may include information relating to your name, address, phone number, email address and IP address. We will also collect payment information (debit or credit card details).</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Employees / Third Party Contractors </strong></li><br>
</ul><br>
<p>We collect and use information relating to you. This information may include your name, job title, professional details, medical history, employment history, training records, email address, contact number, PPS number and bank account details.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Suppliers</strong></li><br>
</ul><br>
<p>We collect and use information relating to you. This information may include your name, job title, email address, telephone number, company name, and address.&nbsp; We may also collect bank account details.</p><br>
<p>If you visit any of our websites or use our apps, we will collect certain information relating to you. Generally, unless you submit information to us, such as via an online form, telephone call, email or booking platform, we only collect technical and device-related information from your use of our website and apps.</p><br>
<p>&nbsp;</p><br>
<p><strong>HOW WE USE THIS INFORMATION</strong></p><br>
<p>We use this information for the purposes described below.</p><br>
<ul><br>
<li><strong>Providing the Services:&nbsp; </strong></li><br>
</ul><br>
<p>We process your information as necessary to provide the Services requested. For example, we collect information from you in order to provide the Services or book accommodation. We also store this information on our platform so that we can access your booking information.&nbsp; We also may send you booking confirmation or promotional information by email.</p><br>
<p>&nbsp;</p><br>
<p>Lawful basis: Contract</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Account set up and payment:&nbsp; </strong></li><br>
</ul><br>
<p>We process your information in order to set up a profile for you on our systems and as part of our administrative, financial and operational processes, such as processing orders, taking payment, issuing invoices, etc. where you pay for the Service directly or we engage with our suppliers.</p><br>
<p>&nbsp;</p><br>
<p>Lawful basis: Contract</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Service improvement and development: </strong></li><br>
</ul><br>
<p>We process your information in order to improve our Services and for business planning purposes. For example, we may process information about how you use our Services in order to troubleshoot technical issues, predict service level demands and understand the features of the Services that are most popular. We also process your information in order to develop new services. As part of our work with our commercial partners, we may share anonymised data that does not identify you but which reveal trends, patterns or other information about how we provide the Services that is useful to our commercial partners. We may send you out feedback forms to complete post utilising our services by email.</p><br>
<p>&nbsp;</p><br>
<p>Lawful bases: Contract &amp; legitimate interests</p><br>
<ul><br>
<li><strong>Safety and security: </strong></li><br>
</ul><br>
<p>We process your information as necessary to ensure we offer safe and secure Services, including to detect and prevent fraudulent and other illegal behaviour.</p><br>
<p>&nbsp;</p><br>
<p>Lawful bases: Contract &amp; legitimate interests</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Legal and regulatory: </strong></li><br>
</ul><br>
<p>We process your information as required (a) for compliance with our legal and regulatory obligations (b) to detect, investigate, prevent, and address fraud and other illegal activity, security, or technical issues; (c) to protect our rights, property, or safety; (d) to enforce any contracts we have with you; (e) to prevent physical injury or other harm to any person or entity, including you and members of the public. &nbsp;In addition, we may be legally required to share information with public bodies e.g. Revenue, HMRC, Police, An Garda Siochana, etc.</p><br>
<p>&nbsp;</p><br>
<p>Lawful basis: Legitimate interests</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Marketing and Advertising (with your consent)</strong></li><br>
</ul><br>
<p>We may send you updates, invites and marketing materials relating to the Services. If we do so, we will also collect information on your interaction with such communications. We may also collect information for analytics, displaying content and interaction with external social networks and platforms, geolocation and RSS feed management, and remarketing and behavioural targeting.</p><br>
<p>&nbsp;</p><br>
<p>Lawful basis: Contract and consent</p><br>
<p>&nbsp;</p><br>
<p><strong>OUR LEGAL BASES</strong></p><br>
<p>In order to collect, use, share, and otherwise process your information for the purposes described in this policy, we rely on a number of legal bases, some of which are mentioned above, including where:</p><br>
<ul><br>
<li>necessary to perform a contract we have with you, and to provide the Services</li><br>
<li>you have consented to the processing (in which case you may withdraw your consent at any time</li><br>
<li>necessary for us to comply with a legal obligation</li><br>
<li>necessary to protect your vital interests, or those of others</li><br>
<li>necessary in the public interest</li><br>
<li>necessary for the purposes of Findlater Hotels Limited or a third party&rsquo;s legitimate interests, for example for marketing, improving or developing the Services and keeping the Services safe and secure, provided that those interests are not overridden by your interests or fundamental rights and freedoms</li><br>
</ul><br>
<p><strong>&nbsp;</strong></p><br>
<p><strong>SHARING YOUR INFORMATION</strong></p><br>
<p>In the course of providing the Services, we share information with various third parties such relevant government departments and bodies (including Revenue / HMRC), our service providers or regulators (where legally required).</p><br>
<p>We do this based upon the legal bases and exceptions referenced in this policy for the following purposes.</p><br>
<ul><br>
<li><strong>Providing the Services:</strong></li><br>
</ul><br>
<p>If you are a customer, we may share the information provided by you with our service providers in order to provide the Services e.g. accommodation booking, payment processing, etc.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Keeping our Services safe and secure: </strong></li><br>
</ul><br>
<p>We use your information in certain instances as necessary to pursue our and your legitimate interests of keeping some of our Services, such as our domains, websites, apps, offices and events, safe and secure. For example, we collect IP addresses and process log files to ensure our website and apps are not subject to fraudulent access.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Legal and safety reasons:</strong></li><br>
</ul><br>
<p>We may share your information with law enforcement, regulators and others if we have a good-faith belief that it is reasonably necessary to (a) respond, based on applicable law, to a legal request (e.g., a subpoena, search warrant, court order, or other request from government or law enforcement); (b) detect, investigate, prevent, and address fraud and other illegal activity, security, or technical issues; (c) protect our rights, property, or safety; (d) enforce any contracts we have with you; (e) prevent physical injury or other harm to any person or entity, including you and members of the public; (f) for regulatory compliance and investigations.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Service providers and professional advisers: </strong></li><br>
</ul><br>
<p>We may share your personal information to help us provide our services and communicate with you. Categories of service providers include IT software, hosting providers, and records-storage companies. We may also share your personal information where we need advice and support from our professional advisers, such as accountants, lawyers and insurance providers. Where such third parties are processors, these third parties are contractually required to use it only to provide their service to us and are contractually barred from using it for their own purposes.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Business re-organisation:</strong></li><br>
</ul><br>
<p>In instances where our business is subject to a re-organisation, such as a merger or acquisition of some or all of its assets, we may, in accordance with our legitimate interests, need to share information in the course of the transaction. In such circumstances, your information may be disclosed, where permitted by applicable law, in connection with a corporate restructuring, sale, or assignment of assets, merger, or other changes of control or financial status of Findlater Hotels Limited.</p><br>
<p>&nbsp;</p><br>
<p><strong>DATA PROCESSING</strong></p><br>
<p>We process the Data in a lawful and proper manner and take appropriate security measures to prevent unauthorised access, disclosure, modification or unauthorised destruction of the Data. Processing is carried out using computers and / or telematic means, with technical and organisational methods, and logics strictly related to the stated purposes.</p><br>
<p>In some cases, access to the Data may be available to external parties (such as third party technical service providers, mail carriers, hosting providers, IT companies, communications agencies).</p><br>
<p>The Data is processed at our headquarters unless stated otherwise. Our headquarters is located at Findlater Hotels Limited, 3-4 Gardiner Row, Dublin 1, D01R640, Ireland.</p><br>
<p><strong>DATA TRANSFERS</strong></p><br>
<p>In certain cases, we may need to transfer your information to recipients outside the European Economic Area (&ldquo;EEA&rdquo;), such as where it is necessary to provide the Services.</p><br>
<p>Where we transfer your information, we do so in accordance with EU data protection law. We only transfer personal information to these countries when it is necessary for the services we provide you, or it is necessary for the establishment, exercise or defence of legal claims or subject to safeguards that assure the protection of your information.</p><br>
<p>When Findlater Hotels Limited engages in such transfers of personal information, it relies on i) Adequacy Decisions as adopted by European Commission on the basis of Article 45 of Regulation (EU) 2016/679 (GDPR), or ii) Standard Contractual Clauses issued by the European Commission. For more information, please visit <a href="https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en">https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en</a>.&nbsp; Findlater Hotels Limited also monitors the circumstances surrounding such transfers in order to ensure that these maintain, in practice, a level of protection that is essentially equivalent to the one guaranteed by the GDPR.</p><br>
<p>Following the Court of Justice of the European Union&rsquo;s invalidation of the EU-US Privacy Shield Framework in Case C-311/18, Findlater Hotels Limited will no longer rely on the EU-US Privacy Shield as a mechanism of international data transfer until further notice.&nbsp; Findlater Hotels Limited will however remain committed to maintaining its self-certification under the EU-US Privacy Shield Principles and respect its principles, as an additional measure of protection of its users&rsquo; privacy, until further notice.</p><br>
<p>Please note that the privacy protections in some of these countries may not be the same as in your home country. We will only transfer information as permitted by law.</p><br>
<p>For further information, including obtaining a copy of the documents used to protect your information, please contact us on gdpr@castlecollection.com.</p><br>
<p>&nbsp;</p><br>
<p><strong>RETENTION</strong></p><br>
<p>We may retain your information for as long as necessary in light of the purposes set out in this notice, including for the purposes of satisfying any legal, accounting, or reporting requirements and, where required for Findlater Hotels Limited to assert or defend against legal claims, until the end of the relevant retention period or until the claims in question have been settled. For example, we have specific legal obligations to retain personal information in accordance with our statutory requirements.</p><br>
<table><br>
<tbody><br>
<tr><br>
<td width="311"><br>
<p><strong>ITEM TYPE</strong></p><br>
</td><br>
<td width="255"><br>
<p><strong>DURATION TIME</strong></p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Customer booking</p><br>
</td><br>
<td width="255"><br>
<p>2 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee application form</p><br>
</td><br>
<td width="255"><br>
<p>Duration of employment</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee references received</p><br>
</td><br>
<td width="255"><br>
<p>1 year</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Payroll and tax information</p><br>
</td><br>
<td width="255"><br>
<p>6 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee sickness record</p><br>
</td><br>
<td width="255"><br>
<p>3 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee annual leave record</p><br>
</td><br>
<td width="255"><br>
<p>2 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee unpaid leave / special leave records</p><br>
</td><br>
<td width="255"><br>
<p>3 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Annual Performance Development Review</p><br>
</td><br>
<td width="255"><br>
<p>5 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee records relating to promotion / transfer / training / disciplinary</p><br>
</td><br>
<td width="255"><br>
<p>1 year from termination</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee references given / information to enable provision of a reference</p><br>
</td><br>
<td width="255"><br>
<p>5 years from reference / termination</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Employee summary of record of service</p><br>
</td><br>
<td width="255"><br>
<p>10 years from termination</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Accidents / injuries at work records</p><br>
</td><br>
<td width="255"><br>
<p>12 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Standard Operating Procedures</p><br>
</td><br>
<td width="255"><br>
<p>15 years after superseded</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Order / delivery notes</p><br>
</td><br>
<td width="255"><br>
<p>Current financial year plus 1 year</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Equipment / instruments / maintenance logs / records of service inspections</p><br>
</td><br>
<td width="255"><br>
<p>Lifetime of the equipment</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Procurement, use, modification and supply records relevant to production of products or equipment</p><br>
</td><br>
<td width="255"><br>
<p>11 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Homicide / Serious Untoward incident</p><br>
</td><br>
<td width="255"><br>
<p>30 years</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>CCTV footage</p><br>
</td><br>
<td width="255"><br>
<p>30 days after date of recording</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="311"><br>
<p>Record of destruction of each item mentioned above</p><br>
</td><br>
<td width="255"><br>
<p>Never to be destroyed</p><br>
</td><br>
</tr><br>
</tbody><br>
</table><br>
<p>&nbsp;</p><br>
<p>To determine the appropriate retention period for personal data, we consider the amount, nature, and sensitivity of the personal data, the potential risk of harm from unauthorised use or disclosure of your personal data, the purposes for which we process your personal data and whether we can achieve those purposes through other means, and the applicable legal requirements.</p><br>
<p>&nbsp;</p><br>
<p><strong>YOUR RIGHTS</strong></p><br>
<p>You have a number of rights in relation to your information that we process. To exercise these rights, please contact email <a href="mailto:gdpr@castlecollection.com">gdpr@castlecollection.com</a>.</p><br>
<p>While some of these rights apply generally, certain rights apply only in specific circumstances. We describe these rights below.</p><br>
<table><br>
<tbody><br>
<tr><br>
<td width="160"><br>
<p><strong>Access:</strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><br>
</td><br>
<td width="441"><br>
<p>You have the right to request access to your information that we control.</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="160"><br>
<p><strong>Data Portability:</strong></p><br>
</td><br>
<td width="441"><br>
<p>You have the right to request that some of your personal information that you initially provided to us is returned to you or another controller in a commonly used machine readable format.</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="160"><br>
<p><strong>Rectify, Restrict and Delete:</strong></p><br>
</td><br>
<td width="441"><br>
<p>You have the right to ask us to restrict the processing of your information or to rectify or delete your information. Please note that despite a deletion request, we may continue to process your information if we have a legal basis to do so.</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="160"><br>
<p><strong>Object:</strong></p><br>
</td><br>
<td width="441"><br>
<p>If we process your information based on our legitimate interests explained above, or in the public interest, you can object in certain circumstances. In such cases, where legally required to do so, we will cease processing your information unless we have compelling legitimate grounds to continue processing or where it is needed for legal reasons. Where we use your data for direct marketing, you can always object using the unsubscribe link in such communications or by contacting us at info@castlecollection.com. &nbsp;</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="160"><br>
<p><strong>Withdraw Consent:</strong></p><br>
</td><br>
<td width="441"><br>
<p>Where you have previously provided your consent, you have the right to withdraw your consent to our processing of your information at any time. For example, you can withdraw your consent to email marketing by using the unsubscribe link in such communications or contacting us at info@castlecollection.com. In certain cases, we may continue to process your information after you have withdrawn consent if we have a legal basis to do so or if your withdrawal of consent was limited to certain processing activities.</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="160"><br>
<p><strong>Complain:</strong></p><br>
</td><br>
<td width="441"><br>
<p>You have the right to submit a complaint about our use of your information with your local supervisory authority, theData Protection Commission (Ireland) or the Information Commissioner&rsquo;s Office (UK).</p><br>
<p>&nbsp;</p><br>
</td><br>
</tr><br>
</tbody><br>
</table><br>
<p>&nbsp;</p><br>
<p>You have the right to access and obtain the following information from our company:</p><br>
<ul><br>
<li>confirmation that our company is processing your personal data</li><br>
<li>a copy of your personal data, and</li><br>
<li>other supplementary information</li><br>
</ul><br>
<p>&nbsp;</p><br>
<p>In addition, you have the right to rectify or delete your personal data.&nbsp; In certain circumstances, Findlater Hotels Limited has the right to override your request to be forgotten / erasure in certain circumstances, in accordance with article 17(3) of the GDPR.</p><br>
<p>Below are the reasons cited in the GDPR that override the right to forgotten /erasure.</p><br>
<ul><br>
<li>The data is being used to exercise the right of freedom of expression and information.</li><br>
<li>The data is being used to comply with a legal ruling or obligation.</li><br>
<li>The data is being used to perform a task that is being carried out in the public interest or when exercising an organisation&rsquo;s official authority.</li><br>
<li>The data represents important information that serves the public interest, scientific research, historical research, or statistical purposes and where erasure of the data would likely to impair or halt progress towards the achievement that was the goal of the processing.</li><br>
<li>The data is being used for the establishment of a legal defence or in the exercise of other legal claims.</li><br>
<li>The data being processed is necessary for public health purposes and serves in the public interest.</li><br>
<li>The data being processed is necessary to perform preventative or occupational medicine. This only applies when the data is being processed by a health professional who is subject to a legal obligation of professional secrecy.</li><br>
</ul><br>
<p>In such cases you will be informed promptly and given full reasons for that decision.</p><br>
<p>In order to make a subject access request regarding access to your personal data or&nbsp; for the purpose of erasing or rectifying your personal data, fill in the Subject Access Request Form. Click here <a href="#_msocom_1" name="_msoanchor_1">[LC1]</a>&nbsp;to download the form.</p><br>
<p>You have the right to lodge a complaint regarding our use of your data.&nbsp; Please tell us first, so we have a chance to address your concerns. If we fail in this, you can address any complaint to the Data Protection Commission (Ireland) or the Information Commissioner&rsquo;s Office (UK).&nbsp; The details are listed below:</p><br>
<p><strong>The Data Protection Commission (Ireland)</strong></p><br>
<p>Commissioner:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Helen Dixon</p><br>
<p>Postal Address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Canal House, Station Road, Portarlington, R32 AP23, Co. Laois, Ireland</p><br>
<p>Telephone:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +353 57 8684800 or +353 76 1104800</p><br>
<p>Lo Call Number:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1890 252 231</p><br>
<p>Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +353 57 868 4757</p><br>
<p>Email:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:info@dataprotection.ie">info@dataprotection.ie</a></p><br>
<p>Website:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://www.dataprotection.ie/">https://www.dataprotection.ie/</a></p><br>
<p><strong>&nbsp;</strong></p><br>
<p><strong>The Information Commissioner&rsquo;s Office (UK)</strong></p><br>
<p>Commissioner:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Elizabeth Denham CBE</p><br>
<p>Postal Address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wycliffe House, Water Lane, Wilmslow, Cheshire, SK9 5AF, England</p><br>
<p>Telephone:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +44 (0)303 123 1113</p><br>
<p>Fax:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +44 (0)1625 524510</p><br>
<p>Website:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://ico.org.uk/">https://ico.org.uk/</a></p><br>
<p>&nbsp;</p><br>
<p><strong>THIRD PARTY SERVICES</strong></p><br>
<p>Our websites, domains and apps may contain links to other websites and services, which are managed and controlled by third parties. Please note that this notice does not apply in those cases and we are not responsible for the privacy practices of such third parties.</p><br>
<p>&nbsp;</p><br>
<p><strong>AMENDING THE POLICY</strong></p><br>
<p>From time to time, we may amend this policy. This might happen, for example, where we make changes to the Services. If we make material changes to the policy, we will take steps to notify you, such as by posting a notice on our website. The notice was last updated at the date indicated further below.</p><br>
<p>&nbsp;</p><br>
<p><strong>CONTACT US</strong></p><br>
<p>If you want to exercise you rights (described above), or if you have any questions about this notice, please contact our Data Protection Lead on the below contact details.</p><br>
<p>Jonathan MacCumhail-BinRosli</p><br>
<p>Data Protection Lead&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><br>
<p>Findlater Hotels Limited</p><br>
<p>3-4 Gardiner Row</p><br>
<p>Dublin 1</p><br>
<p>D01R640</p><br>
<p>Ireland</p><br>
<p>Email:&nbsp;&nbsp;&nbsp; <a href="mailto:gdpr@castlecollection.com">gdpr@castlecollection.com</a></p><br>
<p>Telephone: +353 (0)1 874 6949</p><br>
<p>&nbsp;</p><br>
<p>Last updated: 13th June 2023.</p><br>
<a name="_msocom_1"></a><br>
<p>&nbsp;<a href="#_msoanchor_1">[LC1]</a>Link to the subject access request form.</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">
                                <p><strong>Findlater Hotels Limited Website &ndash; Cookies Notice</strong><br /><br />Findlater Hotels Limited respects the privacy of all visitors to our websites. This Cookie Notice outlines our approach to the use of cookies and similar technologies (&ldquo;cookies&rdquo;) on castlecollection.com (collectively our &ldquo;website&rdquo;).&nbsp; We may update our Cookie Notice from time to time to reflect any changes which may affect the way in which cookies are used by us and how you, as a user, can manage them. &nbsp;If our engagement with you is via our website(s) or other e-platforms where our advertising is displayed, cookies may be used.&nbsp;</p><br>
<p><strong>&nbsp;</strong></p><br>
<p><strong>What are Cookies?</strong></p><br>
<p>When you visit any website it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device. The information does not usually directly identify you but it can give you a more personalised web experience.</p><br>
<p>&nbsp;</p><br>
<p>A cookie is a small piece of data in the form of a text file that may be stored on your computer or mobile device having visited a website. It allows a website to &ldquo;remember&rdquo; your actions or preferences over a length of time and helps us improve your experience each time you visit. &nbsp;Examples of these include Google Chrome, Firefox or Internet Explorer. They are stored on your device&rsquo;s hard drive and only identify your device, and not you personally.&nbsp;</p><br>
<p>&nbsp;</p><br>
<p>There are 2 distinct types of cookies &ndash; session cookies and persistent cookies.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Session Cookies:</strong></li><br>
</ul><br>
<p>These temporary cookies are not stored on your computer or mobile device.</p><br>
<p>&nbsp;</p><br>
<ul><br>
<li><strong>Persistent cookies:</strong></li><br>
</ul><br>
<p>Persistent or Duration cookies are placed on your computer or mobile device for a pre-determined duration once you visit a website.</p><br>
<p>&nbsp;</p><br>
<p>For a further explanation about cookies visit <a href="http://www.allaboutcookies.org/">http://www.allaboutcookies.org/</a>.</p><br>
<p>&nbsp;</p><br>
<p><strong>How Findlater Hotels Limited uses Cookies?</strong></p><br>
<p>There are two main purposes for cookie use.</p><br>
<ul><br>
<li><strong>Functionality</strong> &ndash; log in as a particular user, remember preference, use of shopping carts, and share links via social media.</li><br>
<li><strong>Usage</strong> &ndash; to collect usage data and provide personalised suggestions and information.</li><br>
</ul><br>
<p>&nbsp;</p><br>
<p>Findlater Hotels Limited use cookies for several reasons.</p><br>
<ul><br>
<li>When you are on our website, we use cookies to provide you with a more personal experience. We use it to remember what you&rsquo;ve searched for (rather than typing it again when a new page loads) and to remember saved or recently searched accommodation. If you come back to the site at a later date then you&rsquo;ll be able to see properties you had been researching previously.</li><br>
<li>To help speed up the booking process so that you do not need to re-type the same information repeatedly.</li><br>
<li>When making a purchase we use cookies to keep track of the transaction from one page to the next. We do not store any personal information in the cookie.</li><br>
<li>To collect information relating to our customer use and patterns.</li><br>
<li>To help us deliver advertising effectively and avoid repeating adverts to you.&nbsp; We work with carefully selected third-parties who we allow to employ cookies on our site, on our behalf. These cookies allow us to provide advertising on other websites that are more relevant to a user&rsquo;s interests. The information that we collect and share is anonymous and not personally identifiable. It does not contain a user&rsquo;s name, address, telephone number or email address.</li><br>
<li>If you receive our emails, we tailor the information we send you based on the data our cookies have collected from your recent visits to our website. You can opt out of this in any marketing email we send.</li><br>
</ul><br>
<p><strong>&nbsp;</strong></p><br>
<p><strong>Types of cookies used by</strong> <strong>Findlater Hotels Limited</strong></p><br>
<p>Strictly Necessary</p><br>
<table><br>
<tbody><br>
<tr><br>
<td width="150"><br>
<p>Name</p><br>
</td><br>
<td width="150"><br>
<p>Type</p><br>
</td><br>
<td width="106"><br>
<p>Duration</p><br>
</td><br>
<td width="195"><br>
<p>Description</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>PHPSESSID</p><br>
</td><br>
<td width="150"><br>
<p>PHP Session ID</p><br>
</td><br>
<td width="106"><br>
<p>20 minutes</p><br>
</td><br>
<td width="195"><br>
<p>Used to distinguish users on the system</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>Triptease-identify-data</p><br>
</td><br>
<td width="150"><br>
<p>Booking engine</p><br>
</td><br>
<td width="106"><br>
<p>7 hours</p><br>
</td><br>
<td width="195"><br>
<p>Used by our booking engine provider to assist with bookings</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>tt-domain-user-id</p><br>
</td><br>
<td width="150"><br>
<p>Booking engine</p><br>
</td><br>
<td width="106"><br>
<p>5 years</p><br>
</td><br>
<td width="195"><br>
<p>Used by our booking engine provider to assist with bookings</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>Cookie-preferences</p><br>
</td><br>
<td width="150"><br>
<p>Cookie preferences</p><br>
</td><br>
<td width="106"><br>
<p>6 months</p><br>
</td><br>
<td width="195"><br>
<p>Stores the cookie preferences for the website</p><br>
</td><br>
</tr><br>
</tbody><br>
</table><br>
<p>&nbsp;</p><br>
<p>Analytics Cookies</p><br>
<table><br>
<tbody><br>
<tr><br>
<td width="150"><br>
<p>Name</p><br>
</td><br>
<td width="150"><br>
<p>Type</p><br>
</td><br>
<td width="106"><br>
<p>Duration</p><br>
</td><br>
<td width="195"><br>
<p>Description</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>_ga</p><br>
</td><br>
<td width="150"><br>
<p>Google Analytics tracking cookie</p><br>
</td><br>
<td width="106"><br>
<p>2 years</p><br>
</td><br>
<td width="195"><br>
<p>Used to distinguish users</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>_gid</p><br>
</td><br>
<td width="150"><br>
<p>Google Analytics tracking cookie</p><br>
</td><br>
<td width="106"><br>
<p>24 hours</p><br>
</td><br>
<td width="195"><br>
<p>Used to distinguish users</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>_gat</p><br>
</td><br>
<td width="150"><br>
<p>Google Analytics tracking cookie</p><br>
</td><br>
<td width="106"><br>
<p>1 minute</p><br>
</td><br>
<td width="195"><br>
<p>Used to throttle request rate</p><br>
</td><br>
</tr><br>
</tbody><br>
</table><br>
<p>&nbsp;</p><br>
<p>Social Media Cookies</p><br>
<table><br>
<tbody><br>
<tr><br>
<td width="150"><br>
<p>Name</p><br>
</td><br>
<td width="150"><br>
<p>Type</p><br>
</td><br>
<td width="106"><br>
<p>Duration</p><br>
</td><br>
<td width="195"><br>
<p>Description</p><br>
</td><br>
</tr><br>
<tr><br>
<td width="150"><br>
<p>fpestid</p><br>
</td><br>
<td width="150"><br>
<p>Sharethis Cookie ID</p><br>
</td><br>
<td width="106"><br>
<p>1 year</p><br>
</td><br>
<td width="195"><br>
<p>Used to facilitate sharing of content on social platforms</p><br>
</td><br>
</tr><br>
</tbody><br>
</table><br>
<p>&nbsp;</p><br>
<p><strong>Your consent to Cookies</strong></p><br>
<p>By using this site, you agree that we can store and access the above cookies on your device.&nbsp; Your browser may allow you to set how it handles cookies, such as declining all cookies or prompting you on whether to accept each cookie. Alternatively, you can use your device settings to deny or accept individual or all cookies. The procedure varies depending on browser or device so please visit your browser or device's settings or help section for more details. Please be aware that some functionality on our websites requires the use of cookies, and as such, disabling these may result in a deterioration of service.</p><br>
<p>&nbsp;</p><br>
<p>Last Update: 2<sup>nd</sup> June 2023</p><br>
<p>&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;">The Castle Hotel Booking Terms and Conditions amended 2023<br>
<br>
All BOOKINGS<br>
The terms and conditions detailed below apply to all online bookings at www.castle-hotel.ie<br>
<br>
When you make a booking, your contract (which includes these terms and conditions) will be with The Castle Hotel. All rates are subject to availability; all bookings are taken at the discretion of The Castle Hotel.  <br>
<br>
GUARANTEE POLICY/PAYMENT/PRE AUTHORISATION :  <br>
A valid credit card is required to guarantee your booking,  at the time of booking you will be required to supply this information  including your 3-digit security code. We accept Visa, Visa Delta, Visa Electron, MasterCard, MasterCard International, Maestro/Switch, American Express.<br>
<br>
Whilst no prepayment is required,  we may use the details provided to perform a pre authorisation a) At the time of booking or b) At any point before arrival including before the expiration of the free cancellation period.   <br>
<br>
Debit cards : If a valid credit card is not available we can accept payment in advance, the date payment will fall due will depend on the dates booked and room type required. <br>
<br>
On arrival at the hotel all reservations will require a pre-authorisation with a credit card or cash deposit to cover incidentals during your stay. All reservations settled with cash require full payment up front, payment for all charges incurred including any incidentals will fall due on departure from the hotel.<br>
<br>
I.D.  A valid form of Identification,  such as passport or drivers licence may be required upon check in. <br>
<br>
CANCELLATION POLICY: <br>
Cancellation policy is 48 hours prior to check in time of 3.00pm,   i.e. bookings can be cancelled before 15.00 local time, 2 days before arrival without any penalty,   cancellation after this incurs a cancellation fee equivalent to the cost of the first night’s accommodation.  Please cancel any bookings made online via www.castle-hotel.ie. Bookings made directly through The Castle Hotel should be cancelled by telephone or by e-mail through the necessary hotel. Contact details are below: <br>
Telephone : ++ 353 1 8746949   Email : info@castle-hotel.ie<br>
<br>
MODIFYING YOUR RESERVATION :<br>
Please note that a change of the length or dates or number of guests may result in extra charges and will be subject to availability. <br>
<br>
AMMENDMENTS OR CANCELLATIONS BY PROPERTY: <br>
The hotel reserves the right to cancel any reservation forthwith or reserve the right to offer alternative facilities without any responsibility on its part in the event of a) Any occurrence beyond the reasonable control of the hotel which shall prevent it from performing its obligation in connect with the booking. b) If the booking might, in the opinion of the hotel, prejudice the reputation of the hotel. <br>
<br>
CHECKING-IN AND OUT : <br>
Check in is from 3.00pm and check out is 12noon.<br>
<br>
GROUP DEPOSIT POLICY : <br>
The Castle Hotel may require a security deposit on groups of 8 people or more. The security deposit can be accepted in either cash or credit card and is refundable upon departure providing no damage is incurred to any hotel property.<br>
The Castle Hotel reserve the right to refuse admission. The Castle Hotel also reserve the right to terminate guests stay at our discretion at any time.<br>
<br>
DAMAGE POLICY : <br>
The guest will be held responsible for any loss or damage to the hotel property caused by themselves,  their guests or any person for whom they are responsible.<br>
 <br>
SMOKING POLICY : <br>
In accordance with Irish legislation regarding smoking in the work place, smoking is only permitted in designated smoking areas and smoking rooms. Smoking rooms are subject to availability and cannot always be guaranteed.   A fee may be applied for any breaches of the policy. <br>
<br>
SUPPLY OF INFORMATION : <br>
Prices quoted are inclusive of the VAT applicable at the time of booking. Should the rate of VAT alter before the arrival date of the reservation,  we reserve the right to adjust the offer accordingly.  Whilst we provide information regarding our hotel,  we will not accept responsibility for incorrect information provided by any other third party website or Tour Operators/Organisers.  It is the responsibility of the Tour Operator/Organiser to ensure that their brochures and publicity material are accurate.<br></span>
                                Bookings cancelled after 2pm two days prior to the arrival date will be subject to a cancellation fee equal to the first night's accommodation charge.
                            </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-TRV7SV6');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TRV7SV6"
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.castle-hotel.ie/files/js/jquery.settings.js" type="text/javascript"></script>
	<script src="//bookings.castle-hotel.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="03" 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">03</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.castle-hotel.ie/files/images/usp-tick.svg" alt="Castle Hotel Dublin" 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.castle-hotel.ie/files/images/usp-tick.svg" alt="Castle Hotel Dublin" width="24" height="23"></div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.castle-hotel.ie/files/images/usp-tick.svg" alt="Best Rate Guaranteed" width="24" height="23">
			<span class="na-searchbox__usptitle">Best Rate Guaranteed</span>
			<span class="na-searchbox__usptext">We ensure we offer the best prices right here.</span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.castle-hotel.ie/files/images/usp-tick.svg" alt="Pay Now or Pay Later " width="24" height="23">
			<span class="na-searchbox__usptitle">Pay Now or Pay Later </span>
			<span class="na-searchbox__usptext">Pay online or pay on arrival </span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.castle-hotel.ie/files/images/usp-tick.svg" alt="Free Cancellation " width="24" height="23">
			<span class="na-searchbox__usptitle">Free Cancellation </span>
			<span class="na-searchbox__usptext">Cancel within 48hrs of arrival and avoid any penalty.</span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.castle-hotel.ie/files/images/usp-tick.svg" alt="No Booking Deposit" width="24" height="23">
			<span class="na-searchbox__usptitle">No Booking Deposit</span>
			<span class="na-searchbox__usptext">We don&#39;t charge a booking deposit</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.castle-hotel.ie/bookings/showimage?type=18&id=C450445BED90CF11CCC9B8A57723FC65" alt="Castle Hotel Dublin"/>
			</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 Rate Guaranteed</div>
						<div class="na-searchbox__usptext">We ensure we offer the best prices right here.</div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">Pay Now or Pay Later </div>
						<div class="na-searchbox__usptext">Pay online or pay on arrival </div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">Free Cancellation </div>
						<div class="na-searchbox__usptext">Cancel within 48hrs of arrival and avoid any penalty.</div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">No Booking Deposit</div>
						<div class="na-searchbox__usptext">We don&#39;t charge a booking deposit</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://www.castle-hotel.ie/bookings";
</script>
	
<script type="text/javascript" language="javascript">
    TAPixel.impressionWithReferer("001F000000v8WJk");
</script>
<script type="text/javascript" src="//bookings.castle-hotel.ie/bookings/calendar-jquery-collective"></script>
</body>
</html>