<!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 - Riad les Hirondelles</title>
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="shortcut icon" href="//bookings.riad-leshirondelles.com/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.riad-leshirondelles.com/files/css/bke-reset.css" type="text/css">
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/files/css/style-availtable.css" type="text/css">
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/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.riad-leshirondelles.com/files/css/jquery.rating.css" type="text/css">
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/files/css/calendar.css" type="text/css">
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/files/css/bke.scss" type="text/css">
<!-- <link rel="stylesheet" href="//bookings.riad-leshirondelles.com/files/css/bke.comp.css" type="text/css"> -->
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/files/css/print.scss" type="text/css" media="print">
<link rel="stylesheet" href="//bookings.riad-leshirondelles.com/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.riad-leshirondelles.com/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.riad-leshirondelles.com/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.riad-leshirondelles.com/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://riad-leshirondelles.com" 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.riad-leshirondelles.com/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="fr" >Fran&ccedil;ais</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="2" >EUR</option>
      <option value="4" >GBP</option>
      <option value="3" selected>USD</option>
      <option value="58" >MAD</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    = {"3":{"name":"US Dollar","side":"r","symbol":"$","isocode":"USD","rate":"1.1538"},"2":{"rate":"1.0000","isocode":"EUR","symbol":"&euro;","side":"r","name":"Euro"},"4":{"rate":"0.8718","symbol":"&pound;","isocode":"GBP","side":"r","name":"Pound Sterling"},"58":{"name":"Moroccan dirham","rate":"10.8262","side":"r","symbol":"DH","isocode":"MAD"}};
        var defaultCurrency  = 2;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

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

        function logErr (error) {
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

        function clearData() {
        	currData = {} ;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            currentValue = getObjValue(obj,from);

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

            return false;            
        }

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

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

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

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

                    setCurrencyToSpan(obj,tempTo);

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

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

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

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

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

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

        function applyValue(obj,changed,changedValueOnly) {

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

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

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

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

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

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

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

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

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

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

			<a href="https://riad-leshirondelles.com" class="logo"><img src="//bookings.riad-leshirondelles.com/bookings/showimage?id=103C593651B4E9EC96320020A1A51587&type=18" alt="Riad les Hirondelles" /></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="2" >EUR</option>
      <option value="4" >GBP</option>
      <option value="3" selected>USD</option>
      <option value="58" >MAD</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    = {"3":{"name":"US Dollar","side":"r","symbol":"$","isocode":"USD","rate":"1.1538"},"2":{"rate":"1.0000","isocode":"EUR","symbol":"&euro;","side":"r","name":"Euro"},"4":{"rate":"0.8718","symbol":"&pound;","isocode":"GBP","side":"r","name":"Pound Sterling"},"58":{"name":"Moroccan dirham","rate":"10.8262","side":"r","symbol":"DH","isocode":"MAD"}};
        var defaultCurrency  = 2;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

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

        function logErr (error) {
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

        function clearData() {
        	currData = {} ;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            currentValue = getObjValue(obj,from);

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

            return false;            
        }

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

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

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

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

                    setCurrencyToSpan(obj,tempTo);

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

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

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

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

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

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

        function applyValue(obj,changed,changedValueOnly) {

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

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

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

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

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

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

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

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

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

    </div>
    <!-- END bke_currency_selector -->
    <!-- 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.riad-leshirondelles.com/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="fr" >Fran&ccedil;ais</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.riad-leshirondelles.com/bookings/checkavailability" onSubmit="return bke_check_search();">

	<input type="hidden" name="bke_calendar-jquery-collective_sbid" value=""/>
<input type="hidden" name="bke_id" value="F908A4BE435D93EA3BA9979F273F496E"/>
<input type="hidden" id="grid_view" name="grid_view" value="2"/>
<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="04" 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="05" 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="fr" >Français</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>Riad les Hirondelles</h2>
                                      <p>contactadr  </p>
                                      <p>Address 1</p>
                                      <p>Address 2</p>
                                    </div> -->
                              
                                    <div id="map-footer"></div>
                                    
                                    <script>
                  
                                    var latitude = "31.6322900851672";
                  
                                    var longitude = "-7.9858018304421";
                  
                                    var mapZoom = "13";
                  
                                    var propertyName = "Riad les Hirondelles";
                  
                                    </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">
                                <h1>Privacy Policy</h1><br>
<p>Last updated: July 01, 2020</p><br>
<p>This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.</p><br>
<p>We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy is maintained by the <a href="https://www.freeprivacypolicy.com/free-privacy-policy-generator/">Free Privacy Policy Generator</a>.</p><br>
<h1>Interpretation and Definitions</h1><br>
<h2>Interpretation</h2><br>
<p>The words of which the initial letter is capitalized have meanings defined under the following conditions.</p><br>
<p>The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.</p><br>
<h2>Definitions</h2><br>
<p>For the purposes of this Privacy Policy:</p><br>
<ul><br>
<li><br>
<p><strong>You</strong> means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.</p><br>
</li><br>
<li><br>
<p><strong>Company</strong> (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to MMFACTORY SARL.</p><br>
</li><br>
<li><strong>Affiliate</strong> means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.</li><br>
<li><strong>Account</strong> means a unique account created for You to access our Service or parts of our Service.</li><br>
<li><strong>Website</strong> refers to Riad les Hirondelles, accessible from https://www.riad-leshirondelles.com</li><br>
<li><strong>Service</strong> refers to the Website.</li><br>
<li><strong>Country</strong> refers to: Morocco</li><br>
<li><br>
<p><strong>Service Provider</strong> means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.</p><br>
</li><br>
<li><strong>Third-party Social Media Service</strong> refers to any website or any social network website through which a User can log in or create an account to use the Service.</li><br>
<li><br>
<p><strong>Personal Data</strong> is any information that relates to an identified or identifiable individual.</p><br>
</li><br>
<li><strong>Cookies</strong> are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses.</li><br>
<li><strong>Device</strong> means any device that can access the Service such as a computer, a cellphone or a digital tablet.</li><br>
<li><strong>Usage Data</strong> refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).</li><br>
</ul><br>
<h1>Collecting and Using Your Personal Data</h1><br>
<h2>Types of Data Collected</h2><br>
<h3>Personal Data</h3><br>
<p>While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:</p><br>
<ul><br>
<li>Email address</li><br>
<li>First name and last name</li><br>
<li>Phone number</li><br>
<li>Address, State, Province, ZIP/Postal code, City</li><br>
<li>Usage Data</li><br>
</ul><br>
<h3>Usage Data</h3><br>
<p>Usage Data is collected automatically when using the Service.</p><br>
<p>Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.</p><br>
<p>When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data.</p><br>
<p>We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device.</p><br>
<h3>Tracking Technologies and Cookies</h3><br>
<p>We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service.</p><br>
<p>You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service.</p><br>
<p>Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close your web browser. Learn more about cookies here: <a href="https://www.freeprivacypolicy.com/blog/cookies/">Cookies: What Do They Do?</a></p><br>
<p>We use both session and persistent Cookies for the purposes set out below:</p><br>
<ul><br>
<li><br>
<p><strong>Necessary / Essential Cookies</strong></p><br>
<p>Type: Session Cookies</p><br>
<p>Administered by: Us</p><br>
<p>Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.</p><br>
</li><br>
<li><br>
<p><strong>Cookies Policy / Notice Acceptance Cookies</strong></p><br>
<p>Type: Persistent Cookies</p><br>
<p>Administered by: Us</p><br>
<p>Purpose: These Cookies identify if users have accepted the use of cookies on the Website.</p><br>
</li><br>
<li><br>
<p><strong>Functionality Cookies</strong></p><br>
<p>Type: Persistent Cookies</p><br>
<p>Administered by: Us</p><br>
<p>Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.</p><br>
</li><br>
<li><br>
<p><strong>Tracking and Performance Cookies</strong></p><br>
<p>Type: Persistent Cookies</p><br>
<p>Administered by: Third-Parties</p><br>
<p>Purpose: These Cookies are used to track information about traffic to the Website and how users use the Website. The information gathered via these Cookies may directly or indirectly identify you as an individual visitor. This is because the information collected is typically linked to a pseudonymous identifier associated with the device you use to access the Website. We may also use these Cookies to test new advertisements, pages, features or new functionality of the Website to see how our users react to them.</p><br>
</li><br>
</ul><br>
<p>For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy.</p><br>
<h2>Use of Your Personal Data</h2><br>
<p>The Company may use Personal Data for the following purposes:</p><br>
<ul><br>
<li><strong>To provide and maintain our Service</strong>, including to monitor the usage of our Service.</li><br>
<li><strong>To manage Your Account:</strong> to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.</li><br>
<li><strong>For the performance of a contract:</strong> the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.</li><br>
<li><strong>To contact You:</strong> To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.</li><br>
<li><strong>To provide You</strong> with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.</li><br>
<li><strong>To manage Your requests:</strong> To attend and manage Your requests to Us.</li><br>
</ul><br>
<p>We may share your personal information in the following situations:</p><br>
<ul><br>
<li><strong>With Service Providers:</strong> We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.</li><br>
<li><strong>For Business transfers:</strong> We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of our business to another company.</li><br>
<li><strong>With Affiliates:</strong> We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.</li><br>
<li><strong>With Business partners:</strong> We may share Your information with Our business partners to offer You certain products, services or promotions.</li><br>
<li><strong>With other users:</strong> when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside. If You interact with other users or register through a Third-Party Social Media Service, Your contacts on the Third-Party Social Media Service may see You name, profile, pictures and description of Your activity. Similarly, other users will be able to view descriptions of Your activity, communicate with You and view Your profile.</li><br>
</ul><br>
<h2>Retention of Your Personal Data</h2><br>
<p>The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.</p><br>
<p>The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.</p><br>
<h2>Transfer of Your Personal Data</h2><br>
<p>Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to &mdash; and maintained on &mdash; computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.</p><br>
<p>Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.</p><br>
<p>The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.</p><br>
<h2>Disclosure of Your Personal Data</h2><br>
<h3>Business Transactions</h3><br>
<p>If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.</p><br>
<h3>Law enforcement</h3><br>
<p>Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).</p><br>
<h3>Other legal requirements</h3><br>
<p>The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:</p><br>
<ul><br>
<li>Comply with a legal obligation</li><br>
<li>Protect and defend the rights or property of the Company</li><br>
<li>Prevent or investigate possible wrongdoing in connection with the Service</li><br>
<li>Protect the personal safety of Users of the Service or the public</li><br>
<li>Protect against legal liability</li><br>
</ul><br>
<h2>Security of Your Personal Data</h2><br>
<p>The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.</p><br>
<h1>Detailed Information on the Processing of Your Personal Data</h1><br>
<p>Service Providers have access to Your Personal Data only to perform their tasks on Our behalf and are obligated not to disclose or use it for any other purpose.</p><br>
<h2>Analytics</h2><br>
<p>We may use third-party Service providers to monitor and analyze the use of our Service.</p><br>
<ul><br>
<li><br>
<p><strong>Mixpanel</strong></p><br>
<p>Mixpanel is provided by Mixpanel Inc.</p><br>
<p>You can prevent Mixpanel from using your information for analytics purposes by opting-out. To opt-out of Mixpanel service, please visit this page: <a href="https://mixpanel.com/optout/">https://mixpanel.com/optout/</a></p><br>
<p>For more information on what type of information Mixpanel collects, please visit the Terms of Use page of Mixpanel: <a href="https://mixpanel.com/terms/">https://mixpanel.com/terms/</a></p><br>
</li><br>
</ul><br>
<h1>Children's Privacy</h1><br>
<p>Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.</p><br>
<p>If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.</p><br>
<h1>Links to Other Websites</h1><br>
<p>Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.</p><br>
<p>We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.</p><br>
<h1>Changes to this Privacy Policy</h1><br>
<p>We may update our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.</p><br>
<p>We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.</p><br>
<p>You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.</p><br>
<h1>Contact Us</h1><br>
<p>If you have any questions about this Privacy Policy, You can contact us:</p><br>
<ul><br>
<li>By email: booking@riad-leshirondelles.com</li><br>
</ul>
                            </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">
                                <h1>Cookie Policy for Riad les Hirondelles</h1><br>
<p>This is the Cookie Policy for Riad les Hirondelles, accessible from www.riad-leshirondelles.com</p><br>
<p><strong>What Are Cookies</strong></p><br>
<p>As is common practice with almost all professional websites this site uses cookies, which are tiny files that are downloaded to your computer, to improve your experience. This page describes what information they gather, how we use it and why we sometimes need to store these cookies. We will also share how you can prevent these cookies from being stored however this may downgrade or 'break' certain elements of the sites functionality.</p><br>
<p>For more general information on cookies, please read <a href="https://www.cookieconsent.com/what-are-cookies/">"What Are Cookies"</a>.</p><br>
<p><strong>How We Use Cookies</strong></p><br>
<p>We use cookies for a variety of reasons detailed below. Unfortunately in most cases there are no industry standard options for disabling cookies without completely disabling the functionality and features they add to this site. It is recommended that you leave on all cookies if you are not sure whether you need them or not in case they are used to provide a service that you use.</p><br>
<p><strong>Disabling Cookies</strong></p><br>
<p>You can prevent the setting of cookies by adjusting the settings on your browser (see your browser Help for how to do this). Be aware that disabling cookies will affect the functionality of this and many other websites that you visit. Disabling cookies will usually result in also disabling certain functionality and features of the this site. Therefore it is recommended that you do not disable cookies.</p><br>
<p><strong>The Cookies We Set</strong></p><br>
<ul><br>
<li><br>
<p>Orders processing related cookies</p><br>
<p>This site offers e-commerce or payment facilities and some cookies are essential to ensure that your order is remembered between pages so that we can process it properly.</p><br>
</li><br>
</ul><br>
<p><strong>Third Party Cookies</strong></p><br>
<p>In some special cases we also use cookies provided by trusted third parties. The following section details which third party cookies you might encounter through this site.</p><br>
<ul><br>
<li><br>
<p>This site uses Google Analytics which is one of the most widespread and trusted analytics solution on the web for helping us to understand how you use the site and ways that we can improve your experience. These cookies may track things such as how long you spend on the site and the pages that you visit so we can continue to produce engaging content.</p><br>
<p>For more information on Google Analytics cookies, see the official Google Analytics page.</p><br>
</li><br>
<li><br>
<p>Third party analytics are used to track and measure usage of this site so that we can continue to produce engaging content. These cookies may track things such as how long you spend on the site or pages you visit which helps us to understand how we can improve the site for you.</p><br>
</li><br>
<li><br>
<p>As we sell products it's important for us to understand statistics about how many of the visitors to our site actually make a purchase and as such this is the kind of data that these cookies will track. This is important to you as it means that we can accurately make business predictions that allow us to monitor our advertising and product costs to ensure the best possible price.</p><br>
</li><br>
</ul><br>
<p><strong>More Information</strong></p><br>
<p>Hopefully that has clarified things for you and as was previously mentioned if there is something that you aren't sure whether you need or not it's usually safer to leave cookies enabled in case it does interact with one of the features you use on our site. This Cookies Policy was created with the help of the <a href="https://www.cookiepolicygenerator.com/cookie-policy-generator/">Cookies Policy Template Generator</a> and the <a href="https://www.privacypolicytemplate.net/">Privacy Policy Template Generator</a>.</p><br>
<p>However if you are still looking for more information then you can contact us through one of our preferred contact methods:</p><br>
<ul><br>
<li>Email: booking@riad-leshirondelles.com</li><br>
</ul>
                            </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;"><br><br>
Our front desk is open 24/7 but could you please inform about your approx arrival time ? Check-in / Check-out are flexibe (based on availability). Room daily cleaning is included without any additional charges. There is no minimum stay. Please contact us in case of any additional questions : booking@riad-leshirondelles.com</span>
                                We offer <span style="text-decoration: underline;">2 cancellation policies depending of the chosen rate plans</span>. <br /><br />For any <strong>flexible rate plans</strong>, policy is defined as below:<br />- If cancelled up to 1 day before date of arrival, no fee will be charged. <br />- If cancelled later or in case of no show, the total price of the reservation will be charged.<br /><br />For any <strong>rate plans with prepaid conditions</strong>, policy is defined as below:<br />- The guest will be charged a prepayment of the total price of the reservation at any time
                            </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>
	
	<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
	<script src="//bookings.riad-leshirondelles.com/files/js/jquery.settings.js" type="text/javascript"></script>
	<script src="//bookings.riad-leshirondelles.com/files/js/bke-searchbox.js"></script>
	
		<form method="post" action="https://bookings.riad-leshirondelles.com/bookings/checkavailability" 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="2" 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="04" 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">04</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">Search</button>

	</div>
	<!-- IF bke_usp -->
	<div class="na-searchbox__usptrigger">
		Why Book With Us? <img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="Riad les Hirondelles" 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.riad-leshirondelles.com/files/images/usp-tick.svg" alt="Riad les Hirondelles" width="24" height="23"></div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="Best rates available" width="24" height="23">
			<span class="na-searchbox__usptitle">Best rates available</span>
			<span class="na-searchbox__usptext">You won&#39;t find a better deal anywhere else! </span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="Very well located" width="24" height="23">
			<span class="na-searchbox__usptitle">Very well located</span>
			<span class="na-searchbox__usptext">Close to all main sites</span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="One of the best riads" width="24" height="23">
			<span class="na-searchbox__usptitle">One of the best riads</span>
			<span class="na-searchbox__usptext">Our customers&#39; absolutely love Riad les Hirondelles</span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="Homemade meals" width="24" height="23">
			<span class="na-searchbox__usptitle">Homemade meals</span>
			<span class="na-searchbox__usptext">All our meals are home made with local products </span>
		</div>
		
		<div class="na-searchbox__usplistitem">
			<img src="//bookings.riad-leshirondelles.com/files/images/usp-tick.svg" alt="New Cleanliness Standards" width="24" height="23">
			<span class="na-searchbox__usptitle">New Cleanliness Standards</span>
			<span class="na-searchbox__usptext">According to CoVID19 protocols </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.riad-leshirondelles.com/bookings/showimage?id=103C593651B4E9EC96320020A1A51587&type=18" alt="Riad les Hirondelles"/>
			</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 rates available</div>
						<div class="na-searchbox__usptext">You won&#39;t find a better deal anywhere else! </div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">Very well located</div>
						<div class="na-searchbox__usptext">Close to all main sites</div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">One of the best riads</div>
						<div class="na-searchbox__usptext">Our customers&#39; absolutely love Riad les Hirondelles</div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">Homemade meals</div>
						<div class="na-searchbox__usptext">All our meals are home made with local products </div>
					</li>
					
					<li>
						<div class="na-searchbox__usptitle">New Cleanliness Standards</div>
						<div class="na-searchbox__usptext">According to CoVID19 protocols </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">



<!-- searchbox rollout test -->
	
<script type="text/javascript" language="javascript">
    TAPixel.impressionWithReferer("001F000000v8WJk");
</script>
<script type="text/javascript" src="//bookings.riad-leshirondelles.com/bookings/calendar-jquery-collective"></script>
</body>
</html>