MERCURE LIVERPOOL ATLANTIC TOWER HOTEL - arvostelut sekä hintavertailu - Tripadvisor
Hotellit lähellä paikkaa Mercure Liverpool Atlantic Tower Hotel
Central Liverpool: kylpyläkeskukset
Sefton Park hotellit, joissa on maksuton pysäköinti
Hotellit lähellä paikkaa Liverpool Parish Church Gardens
Hotellit lähellä paikkaa Homeless Jesus Statue
Hotellit lähellä paikkaa The Pig & Whistle, Liverpool
Hotellit lähellä paikkaa Mersey Chambers Building
Hotellit lähellä paikkaa Western Approaches Museum - The Battle of the Atlantic Experience
Ravintolat lähellä paikkaa Mercure Liverpool Atlantic Tower Hotel
Liverpool: parhaat lajin Siivet ateriat
Liverpool: parhaat lajin Patongit ateriat
Liverpool: parhaat lajin Jäätelö ateriat
Liverpool: parhaat lajin Surf & turf ateriat
Liverpool: parhaat lajin Bibimbap ateriat
Liverpool: parhaat lajin Paahtopaisti ateriat
Liverpool: parhaat lajin Hot Pot -ateriat ateriat
Liverpool: parhaat lajin Pad thai ateriat
Liverpool: parhaat lajin Suolaliha ateriat
Liverpool: parhaat lajin Kanaa ja vohveleita ateriat
Liverpool: parhaat lajin Shawarma-liha ateriat
Liverpool: parhaat lajin Kalifornianrulla ateriat
Liverpool: parhaat lajin Souvlaki-varras ateriat
Liverpool: parhaat lajin Poutine ateriat
Liverpool: parhaat lajin Porchetta ateriat
Kaikki nähtävä ja koettava lähellä kohdetta Mercure Liverpool Atlantic Tower Hotel
Mercure Liverpool Atlantic Tower Hotel - arvostelut
59. sijalla Liverpoolin 105 hotellista
Chapel Street, Liverpool L3 9RE Englanti
Matkailija (1070)
59. sijalla kohteen Liverpool 105 hotellista
Etsitkö perheille sopivaa hotellia Liverpoolissa? Järjestyy! Mercure Liverpool Atlantic Tower Hotel on hyvä valinta juuri kaltaisellesi matkailijalle. Thistle Liverpool on perheille sopiva hotelli, jonka huoneissa on taulutelevisio ja ilmastointi. Verkkoyhteyskin järjestyy vieraille tarjottavan maksuttoman WiFin ansiosta. Tässä hotellissa on vuorokauden ympäri paikalla oleva vastaanoton henkilökunta, huonepalvelu ja matkatavarasäilö. Sen lisäksi vieraille on tarjolla myös aamiaismahdollisuus, mikä on tehnyt siitä suosikin Liverpooliin tulevien matkailijoiden keskuudessa. Autolla liikkeellä oleville vieraille on pysäköintimahdollisuus. Koska Thistle Hotel Liverpool, Royal Liver Building (0,2 km) ja Mathew Street (0,5 km) ovat kaikki lähellä toisiaan, vieraat voivat helposti tutustua joihinkin Liverpoolin suosituimmista nähtävyyksistä. Liverpoolissa ollessasi kannattaa maistaa hummeria joissakin lähialueen ravintoloista. Gino D'Acampo, Tai Pan tai Gusto Liverpool on hyvä valinta. Jos kaipaat tekemistä, The Cavern Club (0,5 km), World Museum (1,0 km) ja Royal Albert Dock Liverpool (0,7 km) ovat mukavia ajanviettopaikkoja. Thistle Hotel Liverpool on lisäksi aivan kävelymatkan päässä. Mercure Liverpool Atlantic Tower Hotel tuo Liverpoolin parhaat palat aivan käsiesi ulottuville, joten voit keskittyä rentoutumaan ja nauttimaan matkastasi.
englanti, puola, thai
Liverpool John Lennon Airport11 kmNäytä kaikki lennot
16 135 arvostelua
3 008arvostelua76kysymystä ja vastausta0huonevinkkiä
Erinomainen 982
Erittäin hyvä 1 129
Huono 204
kaikki kielet(3 008)
englanti(2 844)
kiina (yksink.)(84)
Caitlyn R kirjoitti arvostelun 2/2020
Kaunis sijainti, voi nähdä maksilintuja ikkunoista. Alle 5 minuutin päässä museosta ja lyödä patsas. Hotelli on vähän vanhentunut, mutta oli silti mukavaa. Hyvin pääsee keskustaan.
familyarmour kirjoitti arvostelun 2/2020
Nottingham, Yhdistynyt kuningaskunta3 julkaisua1 kiitos avusta
Nautimme vierailustasi erittäin paljon. Hotelli sijaitsi erittäin kätevällä paikalla lähellä Merseyä ja pystyimme kävelemään kaikkiin asioihin, joita halusimme nähdä. Pisin kävelymatka oli RC: n ja anglikaanisten katedraalien päälle, jotka olivat tutustumisen arvoisia.
Adventure13575093793 kirjoitti arvostelun 2/2020
Huippuluokan hotelli ja erittäin tulva henkilökunta
Siitä hetkestä lähtien, kun poikani ja minä pääsimme vastaanottoon, kun lähdimme seuraavana päivänä, kaikki oli täydellistä. Kaikki henkilökunta ovat erittäin ystävällisiä ja avuliaita kaikkialla, huoneet ovat korkeatasoisia, erittäin siistejä ja mukavia. Meillä oli ruokaa baarissa, siellä oli suuri valikoima aikuisia ja ruokia lapsille, samoin kuin aamiainen seuraavana aamuna. Vieraat olivat sekoitus liike-elämää ja vapaa-aikaa, joten se sopii täydellisesti kaikenlaiseen vierailuun. Suosittelemme varmasti Mercure Atlantic Toweria ja odotamme pysyä siellä seuraavalle vierailullemme Liverpooliin.
Lontoo, Yhdistynyt kuningaskunta289 julkaisua66 kiitosta avusta
Erinomainen sijainti syntymäpäivän tauolle
Itse minä, hänen sisarensa ja vaimonsa vaimo nauttivat todella loistavasta oleskelusta Atlantic Tower -hotellissa, huoneestamme näimme kuuluisan maksarakennuksen ja Mersey-joen. Se oli täydellinen paikka nähdä kaupungin erilaisia nähtävyyksiä, mukaan lukien matka Merseen poikki. Henkilökunta oli ystävällistä ja tarkkaavaista, erinomainen paikka yöpyä vaimoni syntymäpäivän viikonloppuna.
Penno59 kirjoitti arvostelun 1/2020
Liverpool, Yhdistynyt kuningaskunta20 julkaisua
Upea huone ja aamiainen
Oli ihana oleskelu, huone oli tahraton. Upea näkymä Merseen. Henkilökunta on avulias ja ystävällistä. Nautti ihana kuuma aamiainen. Kiitos Joan & Irene, joka antoi hienoa palvelua hymyllä, he ovat ihania, ystävällisiä ja avuliaita hyviä. Hotelli on keskeinen tärkeimpien nähtävyyksien lähellä ja lähellä Morefields-asemaa. Jää ehdottomasti uudelleen kaupunkiin.
65 $ - 296 $ (Standard-huoneen keskimääräisen hinnan perusteella)
Yhdistynyt kuningaskuntaEnglantiLiverpoolCentral Liverpool
Mercure Liverpool Atlantic Tower Hotel: usein kysytyt kysymykset
Mitä suosittuja nähtävyyksiä hotellin Mercure Liverpool Atlantic Tower Hotel lähellä on?
Lähellä ovat esimerkiksi The Cavern Club (0,5 km), Clue Finders Ltd (0,4 km) ja Western Approaches Museum - The Battle of the Atlantic Experience (0,1 km).
Mitä palveluita hotelli Mercure Liverpool Atlantic Tower Hotel tarjoaa?
Mitä ruoka- ja juomavaihtoehtoja hotelli Mercure Liverpool Atlantic Tower Hotel tarjoaa?
Tarjoaako Mercure Liverpool Atlantic Tower Hotel pysäköintimahdollisuuden?
Mitä ravintoloita hotellin Mercure Liverpool Atlantic Tower Hotel lähellä on?
Tarjoaako Mercure Liverpool Atlantic Tower Hotel siivouspalveluita?
Tarjoaako Mercure Liverpool Atlantic Tower Hotel yrityspalveluita?
Mitä kieliä hotellin Mercure Liverpool Atlantic Tower Hotel henkilökunta puhuu?
Henkilökunta osaa useita kieliä, joihin kuuluvat esimerkiksi englanti, ja puola.
Onko hotellin Mercure Liverpool Atlantic Tower Hotel lähellä historiallisia kohteita?
Monet matkailijat vierailevat mielellään kohteissa The Cavern Club (0,5 km), Williamson’s Tunnels – Friends of Williamson’s Tunnels (2,5 km) ja Western Approaches Museum - The Battle of the Atlantic Experience (0,1 km).
Onko hotellista Mercure Liverpool Atlantic Tower Hotel hyvät näköalat?
' ); return s.join ( '' ); }; return exports; }); require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'dual_search_dust','handlers',['deferred/lateHandlers','handlers']); /** * Private javascript for dual_search placement */ define(["placement", "lib/jquery-amd", "ta/Core/TA.Store", 'ta/Core/TA.Event', "typeahead/TypeAhead.views" /*this needs to be here when the placement is, even though we don't use it here */ ], function (placement, $, taStore, taEvent, typeAheadViews) { if (placement.params && 'typeahead_to_store' in placement.params) { var propertiesToStore = placement.params['typeahead_to_store']; if (propertiesToStore) { for (var property in propertiesToStore) { if (propertiesToStore.hasOwnProperty(property)) { taStore.store(property, propertiesToStore[property]); } } } } focusOnWrapperClick('GEO_SCOPE_CONTAINER', 'GEO_SCOPED_SEARCH_INPUT'); focusOnWrapperClick('MAIN_SEARCH_CONTAINER', 'mainSearch'); /** * allows to focus the corresponding input when its wrapper is clicked (wrapper is wider and taller than the input) */ function focusOnWrapperClick(wrapperId, inputId) { $('#' + wrapperId).on('click', function(e) { // If the click target is the input element, let the browser handle it, so we don't trigger focus twice. if ($(e.target).closest('#' + inputId).length == 0) { $('#' + inputId).focus(); } }); } var options = taStore.retrieve("typeahead_dual_search_options"); function _popAutoTooltip() { if (!options.autoTooltip || !taStore.retrieve("isFirstSessionPageView") || !window.require) { return; } var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/position', 'trjs!overlays/styles/popover', 'trjs!overlays/options/maxWidth', 'trjs!overlays/options/repositionOnEvent' ]; require(reqs, function (Overlay, Position, Style, MaxWidth, Reposition) { var searchButton = document.getElementById("SEARCH_BUTTON"); var mixins = [ Position && Position['below'] && Position['below']([], false), Style && Style(searchButton, 'below', "dark small", " ", options.autoTooltip), MaxWidth && MaxWidth(220), Reposition && Reposition(window, "showingCookieConsentBanner") ]; var overlay = new Overlay(searchButton, mixins); if (overlay) { // pop tooltip immediately overlay.show() } }); } if (document.activeElement === $("#GEO_SCOPED_SEARCH_INPUT")[0]) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whereFocused({type: "dummy"}, document.activeElement); }); } else if (document.activeElement === $("#mainSearch")[0]) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whatFocused({type: "dummy"}, document.activeElement); }); } else if (options && options.autoTooltip) { taEvent.queueForLoad(_popAutoTooltip, "dual_search auto tooltip"); } return { getOptions: function () { return options; } }; }); }); define('calendars/CalendarDate', ['vanillajs'], function(vanilla) { 'use strict'; function CalendarDate(date) { date = date || new Date(); this.date = new Date(date.getFullYear(), date.getMonth(), date.getDate()); } CalendarDate.prototype = { constructor: CalendarDate, daysInMonth: function() { return new Date(this.year(), this.month() + 1, 0).getDate(); }, eachDayInMonth: function(callback) { for (var day = 1, days = this.daysInMonth(); day <= days; day++) { callback(new CalendarDate(new Date(this.year(), this.month(), day))); } }, thisMonth: function() { return new CalendarDate(new Date(this.year(), this.month(), 1)); }, nextMonth: function() { return this.relativeMonth(1); }, previousMonth: function() { return this.relativeMonth(-1); }, relativeMonth: function(delta) { return new CalendarDate(new Date(this.year(), this.month() + delta, 1)); }, relativeDay: function(delta) { return new CalendarDate(new Date(this.year(), this.month(), this.day() + delta)); }, firstOfMonth: function() { return new CalendarDate(new Date(this.year(), this.month(), 1)); }, lastOfMonth: function() { return new CalendarDate(new Date(this.year(), this.month(), this.daysInMonth())); }, year: function() { return this.date.getFullYear(); }, month: function() { return this.date.getMonth(); }, day: function() { return this.date.getDate(); }, dayOfWeek: function() { return this.date.getDay(); }, firstDayOfMonth: function() { return new Date(this.year(), this.month(), 1).getDay(); }, inRange: function(startDate, endDate) { if (!startDate || !endDate) { return false; } return this.compare(startDate) > 0 && this.compare(endDate) < 0; }, compare: function(other) { var toCompare = ['getFullYear', 'getMonth', 'getDate'] , current ; for (var i = 0, len = toCompare.length; i < len; i++) { current = toCompare[i]; if (this.date[current]() < other.date[current]()) { return -1; } if (this.date[current]() > other.date[current]()) { return 1; } } return 0; }, daysTo: function(other) { return Math.ceil((other.date.getTime() - this.date.getTime()) / (1000 * 60 * 60 * 24)); }, toISOString: function() { return this.date.toISOString().split("T")[0]; }, toString: function() { return this.year() + '-' + this.month() + '-' + this.day(); } }; CalendarDate.fromString = function(string) { var dateComponents = string.split('-'); return new CalendarDate(new Date(dateComponents[0], dateComponents[1], dateComponents[2])); }; return CalendarDate; });define('mixins/page-dates/DateTypeStore', ['vanillajs', 'ta/Core/TA.Store', 'calendars/CalendarDate', 'mixins/page-dates/Utils'], function(vanilla, taStore, CalendarDate, DateUtils) { 'use strict'; var PREFIX = "zu"; var DateTypeStore = { CHECKIN: { queryString: null, pathString: null }, CHECKOUT: { queryString: null, pathString: null }, STAYDATES: { children: ['CHECKIN', 'CHECKOUT'], queryString: 'staydates', pathString: PREFIX + 's' }, EATERY: { queryString: 'eaterydate', pathString: PREFIX + 'r' }, DEPARTURE: { queryString: null, pathString: null }, RETURN: { queryString: null, pathString: null }, ROUNDTRIP: { children: ['DEPARTURE', 'RETURN'], queryString: 'rtdates', pathString: PREFIX + 't' }, ONEWAYFLIGHT: { queryString: 'oneway', pathString: PREFIX + 'o' }, LEG_1: { queryString: 'leg1date', pathString: PREFIX + '1' }, LEG_2: { queryString: 'leg2date', pathString: PREFIX + '2' }, LEG_3: { queryString: 'leg3date', pathString: PREFIX + '3' }, ATTRACTION: { queryString: 'attrdate', pathString: PREFIX + 'a' }, ATTRACTION_FROM: { queryString: null, pathString: null }, ATTRACTION_TO: { queryString: null, pathString: null }, ATTRACTIONRANGE: { children: ['ATTRACTION_FROM', 'ATTRACTION_TO'], queryString: 'attrrange', pathString: PREFIX + 'e' }, VPDATES: { children: ['VPDEPARTURE', 'VPRETURN'], queryString: 'vpdates', pathString: null }, VPDEPARTURE: { queryString: null, pathString: null }, VPRETURN: { queryString: null, pathString: null } }; DateTypeStore.getStartDateType = function(dateType) { var parents = _getParentTypes(dateType); if(parents.length==0) { var children = DateTypeStore[dateType].children; if (children && children.length > 0) { return children[0]; } return dateType; } return DateTypeStore[parents[0]].children[0]; }; DateTypeStore.getEndDateType = function(dateType) { var parents = _getParentTypes(dateType); if(parents.length==0) { var children = DateTypeStore[dateType].children; if (children && children.length > 0) { return children[children.length - 1]; } return dateType; } var parentType = DateTypeStore[parents[0]]; return parentType.children[parentType.children.length - 1]; }; function _getParentTypes(childType) { var parents = []; for (var type in DateTypeStore) { if (!DateTypeStore.hasOwnProperty(type)) { continue; } if (DateTypeStore[type].children && DateTypeStore[type].children.indexOf(childType) >= 0) { parents.push(type); } } return parents; } function _getCalendarDate(dateType) { var dates = ta.page.getDates(dateType); return dates && dates[0] ? new CalendarDate(dates[0]) : null; } DateTypeStore.isChildDateType = function(dateType) { return _getParentTypes(dateType).length > 0; }; DateTypeStore.isSingleDateType = function(dateType) { var type = DateTypeStore[dateType]; return !DateTypeStore.isChildDateType(dateType) && !(type && type.children && type.children.length > 0); }; DateTypeStore.getParents = _getParentTypes; DateTypeStore.isHotelDateType = function(dateType) { return _getParentTypes(dateType).indexOf('STAYDATES') >= 0; }; DateTypeStore.isRoundTripDateType = function(dateType) { return _getParentTypes(dateType).indexOf('ROUNDTRIP') >= 0; }; DateTypeStore.isAttractionRangeDateType = function(dateType) { return _getParentTypes(dateType).indexOf('ATTRACTIONRANGE') >= 0; }; DateTypeStore.isVacationPackagesDateType = function(dateType) { return _getParentTypes(dateType).indexOf('VPDATES') >= 0; }; DateTypeStore.allowsSameDayRange = function(dateType) { return DateTypeStore.isAttractionRangeDateType(dateType) || DateTypeStore.isRoundTripDateType(dateType); }; DateTypeStore.isMultiCityDateType = function(dateType) { return dateType == 'LEG_1' || dateType == 'LEG_2' || dateType == 'LEG_3'; }; DateTypeStore.isStartDateType = function(dateType) { var parents = _getParentTypes(dateType); if (parents.length == 0) return false; return DateTypeStore[parents[0]].children.indexOf(dateType) == 0; }; DateTypeStore.isEndDateType = function(dateType) { var parents = _getParentTypes(dateType); if(parents.length==0) return false; var parentType = DateTypeStore[parents[0]]; return parentType.children.indexOf(dateType) == parentType.children.length - 1; }; DateTypeStore.getStartDate = function(dateType) { var startType = DateTypeStore.getStartDateType(dateType); if(startType == null) { return ta.page.getDates(dateType)[0]; } return ta.page.getDates(startType)[0]; }; DateTypeStore.getEndDate = function(dateType) { var endType = DateTypeStore.getEndDateType(dateType); if(endType == null) { return ta.page.getDates(dateType)[0]; } return ta.page.getDates(endType)[0]; }; DateTypeStore.getMinEnabledDate = function(dateType) { if (DateTypeStore.isHotelDateType(dateType) || DateTypeStore.isRoundTripDateType(dateType)) { var minCheckInDate = taStore.retrieve('multiDP.minCheckInDate'); if (minCheckInDate) { return new CalendarDate(DateUtils.fromString(minCheckInDate)); } } else if (dateType == 'LEG_1') { return _getCalendarDate('ONEWAYFLIGHT'); } else if (dateType == 'LEG_2') { return _getCalendarDate('LEG_1') || _getCalendarDate('ONEWAYFLIGHT'); } else if (dateType == 'LEG_3') { return _getCalendarDate('LEG_2') || _getCalendarDate('LEG_1') || _getCalendarDate('ONEWAYFLIGHT'); } else if (dateType == 'ATTRACTION_TO') { return _getCalendarDate('ATTRACTION_FROM'); } return null; }; DateTypeStore.flattenType = function(dateType) { var type = DateTypeStore[dateType]; if (!type) { return []; } if (!type.children) { return [dateType]; } return type.children.slice(0); }; DateTypeStore.getCorrespondingDateType = function(dateType) { switch(dateType) { case 'CHECKIN': return 'CHECKOUT'; case 'CHECKOUT': return 'CHECKIN'; case 'DEPARTURE': return 'RETURN'; case 'RETURN': return 'DEPARTURE'; case 'ATTRACTION_FROM': return 'ATTRACTION_TO'; case 'ATTRACTION_TO': return 'ATTRACTION_FROM'; case 'VPDEPARTURE': return 'VPRETURN'; case 'VPRETURN': return 'VPDEPARTURE'; default: return null; } }; return DateTypeStore; }); define('mixins/page-dates/picker-autoadvance-utils', [], function() { var exports = {}; exports.keepOverlayOpenOnSelection = function(target) { var overlayElmts = document.querySelectorAll(".ui_overlay"); for (var i = 0; i < overlayElmts.length; i++) { var overlayObj = overlayElmts[i].overlay; var source = overlayObj && overlayObj.sourceElement; if (source === target) { overlayObj.dontHideOnSelection = true; break; } } }; return exports; }); define('mixins/page-dates/picker-autoadvance', [ 'mixins/page-dates/DateTypeStore', 'mixins/page-dates/picker-autoadvance-utils', 'utils/domUtils' ], function( DateType, autoadvanceUtils, domUtils ) { 'use strict'; var _advancedToType = null; function apply(parentElement, autofillMissingDates, alwaysAdvanceFromStartDate) { var taPage = ta.page; taPage && taPage.on('dateSelected', function selected(target, dateType, date) { if (!domUtils.isOrContainsElement(document.body, parentElement)) { taPage.off('dateSelected', selected); return; } if (!target) { return; } if (!domUtils.isOrContainsElement(parentElement, target)) { return; } var otherType = DateType.getCorrespondingDateType(dateType); if (!otherType) { return; } var isStartDate = DateType.isStartDateType(dateType); var shouldAutoAdvance = !taPage.hasDates(otherType) || (alwaysAdvanceFromStartDate && isStartDate && dateType !== _advancedToType); if (shouldAutoAdvance) { if (autofillMissingDates && !taPage.hasDates(otherType) && Array.isArray(date)) { var autoDate = new Date(date[0].getFullYear(), date[0].getMonth(), date[0].getDate() + (isStartDate ? 1 : -1)); taPage.pushDates(null, otherType, [autoDate]); } var otherPicker = parentElement.querySelector('[data-datetype="' + otherType + '"]'); if (otherPicker) { _advancedToType = otherType; autoadvanceUtils.keepOverlayOpenOnSelection(target); setTimeout(taPage.gatherDates.bind(taPage, otherPicker)); } } }); } return { apply: apply }; }); define( 'mixins/page-dates/default-dates', [ 'ta', 'mixins/mixin', 'mixins/Events', 'mixins/page-dates/pop-calendar', 'mixins/page-dates/DateTypeStore', 'common/trackingStreams', 'vanillajs', 'ta/Core/TA.Event' ], function( ta, mixin, Events, PopCalendar, DateTypeStore, trackingStreams, vanillajs, taEvent ) { 'use strict'; var _currentCheckin , _currentCheckout , _datesWereDefaulted = false , _refreshLocalStorage = false , _localStorageTTL = 0 , _initComplete = false ; var HOTEL_DATE_TYPES = { beginType: 'CHECKIN', endType: 'CHECKOUT', range: 'STAYDATES' }; var ATTRACTION_DATE_TYPES = { beginType: 'ATTRACTION_FROM', endType: 'ATTRACTION_TO', range: 'ATTRACTIONRANGE' }; function init(options) { PopCalendar.init(options); _datesWereDefaulted = !!options.datesWereDefaulted; _refreshLocalStorage = !!options.refreshLocalStorage; _localStorageTTL = options.localStorageTTL; _initComplete = true; exports.emit("init"); } function onInit(callback) { if (typeof callback !== "function") { return; } if (_initComplete) { callback(); } else { exports.on("init", callback); } } function apply(parentElement, suppressAutoPop, rangeDatesTypeOverride) { var rangeDatesType = rangeDatesTypeOverride ? rangeDatesTypeOverride : 'STAYDATES'; if (!ta.page.usingUnifiedDates) { return; } if (!ta.page.hasDates(rangeDatesType)) { ta.page.clearDates(rangeDatesType); } _currentCheckin = ta.page.getDates(DateTypeStore.getStartDateType(rangeDatesType))[0]; _currentCheckout = ta.page.getDates(DateTypeStore.getEndDateType(rangeDatesType))[0]; var datePickerElement = parentElement.querySelector('[data-datetype="'+DateTypeStore.getStartDateType(rangeDatesType)+'"]'); ta.page.on('dateSelected', function handler(target, dateType, date) { var trackingEvent, hadDates = _currentCheckin && _currentCheckout, newCheckin = ta.page.getDates(rangeDatesType)[0], newCheckout = ta.page.getDates(rangeDatesType)[1]; if (parentElement.contains(target)) { if (!hadDates && ta.page.hasDates(rangeDatesType)) { trackingEvent = "undated_to_manually_dated"; } else if (newCheckin != _currentCheckin || newCheckout != _currentCheckout) { PopCalendar.setUserEnteredDates(); ta.page.off('datepickerRejected', _onDatepickerRejected); if (_datesWereDefaulted) { trackingEvent = "default_dated_to_manually_dated"; _datesWereDefaulted = false; } else { trackingEvent = "manually_dated_to_manually_dated"; } } _currentCheckin = newCheckin; _currentCheckout = newCheckout; if (trackingEvent) { var pickerLoc = ''; if (target && target.getAttribute('data-picker-location')) { pickerLoc = target.getAttribute('data-picker-location'); if (document.querySelector('#PERSISTENT_TRIP_SEARCH_BAR.fixed')) { pickerLoc += '_persistent'; } } trackingStreams.trackEvent("DATEPICKER", trackingEvent, pickerLoc); } } }); function _onDatepickerRejected(elmt) { if (PopCalendar.wasPoppedThisPageLoad()) { exports.emit('poppedCalendarDismissed', elmt); PopCalendar.setDismissedThisSession(); ta.page.off('datepickerRejected', _onDatepickerRejected); } } function load() { if (!datePickerElement) { return; } if (_datesWereDefaulted) { trackingStreams.trackEvent("DATEPICKER", "undated_to_default_dated"); } if (!suppressAutoPop) { var shouldPopFromDefault = PopCalendar.shouldPop(datePickerElement); if (shouldPopFromDefault || PopCalendar.shouldPopMetaMarketing()) { shouldPopFromDefault && exports.emit('popFromDefault'); ta.page.on('datepickerRejected', _onDatepickerRejected); PopCalendar.popCalendar(datePickerElement); } } } if (document.readyState === 'loading') { window.addEventListener('DOMContentLoaded', load); } else { load(); } taEvent.on('specialOfferClosed', function(){ if (!suppressAutoPop){ if (datePickerElement && PopCalendar.shouldPop(datePickerElement)){ PopCalendar.popCalendar(datePickerElement); } } }); } var exports = { init: init, onInit: onInit, apply: apply, usingDefaults: function() { return _datesWereDefaulted; }, shouldRefreshLocalStorage: function() { return _refreshLocalStorage; }, getLocalStorageTTL: function() { return _localStorageTTL; } }; return mixin(exports, new Events('popFromDefault')); }); require(['ta/prwidgets'], function(widgets) { var define = widgets.define.bind(widgets,'datepickers_desktop_horizontal_styleguide_icon','handlers',['handlers']); define(['widget', 'vanillajs', 'api-mod', 'ta/Core/TA.Event', 'mixins/page-dates/picker-autoadvance', 'mixins/page-dates/default-dates'], function(widget, vanilla, api, taEvent, pickerAutoadvance, DefaultDates) { 'use strict'; var _checkinElement = api.find('[data-datetype=CHECKIN]', widget.element) , _checkoutElement = api.find('[data-datetype=CHECKOUT]', widget.element) ; function _setDateLabel(target, date) { var label; var dateFormat = target.getAttribute('data-dateFormat'); if (!date) { label = target.getAttribute('data-emptyText'); } else { label = ta.i18n.formatDate(dateFormat, date); } api.find('.picker-inner .picker-label', target).firstChild.nodeValue = label; /* HOT-4599 */ } function _onDateSelected(target, dateType, date) { // Clean up if the widget is no longer in the document. if (!api.inDocument(widget.element)) { ta.page.removeListener('dateSelected', _onDateSelected); _checkinElement = null; _checkoutElement = null; return; } if (dateType === 'CHECKIN') { _setDateLabel(_checkinElement, date[0]); } else if (dateType === 'CHECKOUT') { _setDateLabel(_checkoutElement, date[0]); } else if (dateType === 'STAYDATES') { _setDateLabel(_checkinElement, date[0]); _setDateLabel(_checkoutElement, date[1]); } } /* HOT-8985 */ function _onDatePickerClick(elmt, defer_search) { if (!elmt) { return; } var calendarFlyout = elmt.getParent(".calendarFlyout"); if (calendarFlyout) { var deferred = calendarFlyout.deferred, // arbitrary property, set in DesktopStayDate. calendarWrapper = calendarFlyout.getElement('.calendarWrapper'); if (deferred && calendarWrapper) { deferred.reject(); ta.page.gatherDates(elmt, calendarWrapper, defer_search); return; } } ta.page.gatherDates(elmt, null, defer_search); } taEvent.queueForLoad(function() { ta.page.on('dateSelected', _onDateSelected); pickerAutoadvance.apply(widget.element); DefaultDates.apply(widget.element); }, 'datepicker widget handlers'); return { onDatePickerClick: _onDatePickerClick }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'document_cookie_banner','handlers',['handlers']); define([ 'placement', 'lib/jquery-amd', 'ta/util/Cookie', 'ta/Core/TA.Event', 'ta/popups/CookieSettingsPanel', 'common/Radio' ], function( placement, $, taCookie, taEvent, cookieSettingsPanel, Radio){ 'use strict'; taEvent.queueForAfterLoad(function(){ var $placement = $('#' + placement.id); $(document.body).prepend($placement); $placement.find('p span') .on('click', function(){ cookieSettingsPanel(); }); $placement.addClass('showing'); var smartbanner = $('#smartbanner'); if (smartbanner[0]) { $placement.addClass('smart-banner-top'); } $placement.css({ marginTop: -$placement.height() }).animate({marginTop: 0}, { duration: 'long', complete: function() { taEvent.fireEvent("showingCookieConsentBanner"); Radio('cookie-banner').emit('banner-shown'); } }); // Drop a cookie to signify that the banner has been shown to the user. // This cookie is checked on the server. taCookie.write('cookieconsent', '1', taCookie.ONE_HOUR); }, 'placement: document_cookie_consent'); }); });require(['ta/p13n/placements','ta/page','$prp/resp_hr_ad_wrapper/handlers'], function(placements, impl) { window.ta.plc_resp_hr_ad_wrapper_upper_block_0_handlers = placements.load('resp_hr_ad_wrapper','handlers.js', { 'name': 'resp_hr_ad_wrapper:upper_block', 'occurrence': 0, 'id': 'taplc_resp_hr_ad_wrapper_upper_block_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"contentUpdatedEvent":"reviewListUpdated","bumpDownForSocial":"true"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/resp_hr_ad_wrapper/handlers'], function(placements, impl) { window.ta.plc_resp_hr_ad_wrapper_lower_block_0_handlers = placements.load('resp_hr_ad_wrapper','handlers.js', { 'name': 'resp_hr_ad_wrapper:lower_block', 'occurrence': 0, 'id': 'taplc_resp_hr_ad_wrapper_lower_block_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"contentUpdatedEvent":"qaListUpdated"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/footer_banner_ad_billboard/handlers'], function(placements, impl) { window.ta.plc_footer_banner_ad_billboard_hotel_review_resp_0_handlers = placements.load('footer_banner_ad_billboard','handlers.es6', { 'name': 'footer_banner_ad_billboard:hotel_review_resp', 'occurrence': 0, 'id': 'taplc_footer_banner_ad_billboard_hotel_review_resp_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"footer_banner_ad_style":"billboardAd"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/unsupported_browser_messaging/handlers'], function(placements, impl) { window.ta.plc_unsupported_browser_messaging_0_handlers = placements.load('unsupported_browser_messaging','handlers.js', { 'name': 'unsupported_browser_messaging', 'occurrence': 0, 'id': 'taplc_unsupported_browser_messaging_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/facebook_autologin/handlers'], function(placements, impl) { window.ta.plc_facebook_autologin_0_handlers = placements.load('facebook_autologin','handlers.js', { 'name': 'facebook_autologin', 'occurrence': 0, 'id': 'taplc_facebook_autologin_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/document_cookie_banner/handlers'], function(placements, impl) { window.ta.plc_document_cookie_banner_0_handlers = placements.load('document_cookie_banner','handlers.js', { 'name': 'document_cookie_banner', 'occurrence': 0, 'id': 'taplc_document_cookie_banner_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav/handlers'], function(placements, impl) { window.ta.plc_global_nav_0_handlers = placements.load('global_nav','handlers.js', { 'name': 'global_nav', 'occurrence': 0, 'id': 'taplc_global_nav_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_links/handlers'], function(placements, impl) { window.ta.plc_global_nav_links_0_handlers = placements.load('global_nav_links','handlers.js', { 'name': 'global_nav_links', 'occurrence': 0, 'id': 'taplc_global_nav_links_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"geopillOnHome":false}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_dropdowns/handlers'], function(placements, impl) { window.ta.plc_global_nav_dropdowns_0_handlers = placements.load('global_nav_dropdowns','handlers.js', { 'name': 'global_nav_dropdowns', 'occurrence': 0, 'id': 'taplc_global_nav_dropdowns_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_inbox/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_inbox_empty_0_handlers = placements.load('global_nav_action_inbox','handlers.js', { 'name': 'global_nav_action_inbox:empty', 'occurrence': 0, 'id': 'taplc_global_nav_action_inbox_empty_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/masthead_search/handlers'], function(placements, impl) { window.ta.plc_masthead_search_empty_0_handlers = placements.load('masthead_search','handlers.js', { 'name': 'masthead_search:empty', 'occurrence': 0, 'id': 'taplc_masthead_search_empty_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {"typeahead_to_store":{"typeahead_new_location_label":"UUSI SIJAINTI","typeahead.aliases.flight_reviews":["lentoarvostelut","lentoyhtiöarvostelut"],"typeahead_throttle_requests":"true","typeahead.aliases.rental_cars":["Vuokra-autot","Autovuokraamot"],"typeahead_cruise_ships_enabled":"true","typeahead.aliases.activities":["Retket ja liput","Retket ja liput"],"typeahead.aliases.things_to_do":["Näe ja koe","Näe ja koe","nähtävyydet","aktiviteetit","tekemistä","nähtävää","Nähtävyydet","Turistinähtävyydet","Aktiviteetti","Nähtävyys","Mitä nähdä","Mihin suunnata","Missä käydä","Parhaat nähtävyydet","Parhaat nähtävät ja koettavat asiat","Parhaat turistinähtävyydet","Parhaat nähtävyydet","Suosituimmat nähtävyydet","Suosituimmat nähtävät ja koettavat asiat","Suosituimmat turistinähtävyydet","Suosituimmat nähtävyydet","Nähtävyyksien top 10","Nähtävien ja koettavien asioiden top 10","Turistinähtävyyksien top 10","Nähtävyyksien top 10"],"typeahead.enable_nearby":true,"typeahead_cruise_cruiselines_enabled":"false","typeahead_divClasses":null,"typeahead.scoped.cur_loc_denied":"Tripadvisor ei saanut lupaa sijaintiisi. Anna selaimelle ja Tripadvisorille lupa käyttää nykyistä sijaintiasi ja yritä uudelleen.","typeahead.scoped.cur_loc":"Lähellä","typeahead.aliases.travel_forums":["keskustelualue","keskustelualueet","Matkailukeskustelualue","Matkailua koskevat keskustelualueet"],"typeahead.aliases.travel_guides":["oppaat","kaupunkioppaat"],"typeahead.aliases.vacation_rentals":["loma-asunnot","loma-asunto","Airbnb","Loma-asunto","Loma-asunnot"],"typeahead.aliases.flights":["Lennot","Lento","Lento kohteeseen","lennon kohde","suorat lennot","business-luokan lennot","meno-paluulennot","lentoyhtiö ja lennot","lennot","halvat lennot","lennon lähtöpaikka","halvimmat lennot","pelkkä lento","yhdensuuntaiset lennot","suorat lennot","maan sisäiset lennot","lentolipun hinta","halvat lennot kohteeseen","lennot kohteeseen","lentoyhtiö ja lennot kohteeseen","business-luokan lennot kohteeseen","halvimmat lennot kohteeseen","suorat lennot kohteeseen","maan sisäiset lennot kohteeseen","suorat lennot kohteeseen","yhdensuuntaiset lennot kohteeseen","lentolippujen hinnat","lentolipun hinta","lentolippujen hinnat","lentolipun hinta kohteeseen","lentolippujen hinnat kohteeseen","lentolipun hinta kohteeseen","lentolippujen hinnat kohteeseen"],"typeahead_moved_label":"MUUTTANUT","typeahead_dual_search_options":{"geoID":186337,"bypassSearch":true,"staticTypeAheadOptions":{"minChars":3,"defaultValue":"Hae","injectNewLocation":true,"typeahead1_5":true,"geoBoostFix":true},"debug":false,"navSearchTypeAheadEnabled":true,"isMobileWeb":false,"geoInfo":{"geoId":186337,"geoName":"Liverpool","parentName":"Englanti","shortParentName":"Englanti","categories":{"GEO":{"url":"/Tourism-g186337-Liverpool_Merseyside_England-Vacations.html"},"HOTEL":{"url":"/Hotels-g186337-Liverpool_Merseyside_England-Hotels.html"},"ATTRACTION":{"url":"/Attractions-g186337-Activities-Liverpool_Merseyside_England.html"},"EATERY":{"url":"/Restaurants-g186337-Liverpool_Merseyside_England.html"},"FLIGHTS_TO":{"url":"/Flights-g186337-Liverpool_Merseyside_England-Cheap_Discount_Airfares.html"},"CAR_RENTAL_OFFICE":{"url":"/RentalCars_Review?detail=186337"}}}},"typeahead_closed_label":"SULJETTU","typeahead.scoped.all_of_trip":"Maailmanlaajuisesti","typeahead_attraction_activity_search":"false","typeahead.aliases.hotels":["hotellit","hotelli","majoittuminen","yöpymispaikat","yöpyminen","majoitus","majoituspaikat","hotelliarvostelut","Hotellit ja motellit","Parhaat hotellit","Parhaat majoituspaikat","Parhaat majoituspaikat","Parhaat hotellit ja motellit","Majoituspaikat","Majoituspaikka","Suosituimmat hotellit","Suosituimmat majoituspaikat","Suosituimmat majoituspaikat","Suosituimmat hotellit ja motellit","Hotellien top 10","Majoituspaikkojen top 10","Majoituspaikkojen top 10","Hotellien ja motellien top 10"],"typeahead.aliases.restaurants":["ruoka","ruokapaikat","syöminen","ruokailu","ravintolat","ravintola","Ruokailupaikka","Ruokapaikka","Missä ruokailla","Mitä ruoaksi","Parhaat ravintolat","Parhaat ruokailupaikat","Paras ruoka","Parhaat illallispaikat","Suosituimmat ravintolat","Suosituimmat ruokailupaikat","Suosituin ruoka","Suosituimmat illalliset","Ravintoloiden top 10","Ruokailupaikkojen top 10","Ruoan top 10","Illallispaikkojen top 10"],"typeahead.searchMore.v2":"Etsi kohdetta %","typeahead.searchSessionId":"09DA1BAC870666EDB5BF9572ED5B0BD91585397791707ssid"}}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/browser_mode_tracking/handlers'], function(placements, impl) { window.ta.plc_browser_mode_tracking_0_handlers = placements.load('browser_mode_tracking','handlers.js', { 'name': 'browser_mode_tracking', 'occurrence': 0, 'id': 'taplc_browser_mode_tracking_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_footer/handlers'], function(placements, impl) { window.ta.plc_global_footer_0_handlers = placements.load('global_footer','handlers.js', { 'name': 'global_footer', 'occurrence': 0, 'id': 'taplc_global_footer_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/qualtrics_survey/handlers'], function(placements, impl) { window.ta.plc_qualtrics_survey_0_handlers = placements.load('qualtrics_survey','handlers.js', { 'name': 'qualtrics_survey', 'occurrence': 0, 'id': 'taplc_qualtrics_survey_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/meta_click_tracker/handlers'], function(placements, impl) { window.ta.plc_meta_click_tracker_0_handlers = placements.load('meta_click_tracker','handlers.js', { 'name': 'meta_click_tracker', 'occurrence': 0, 'id': 'taplc_meta_click_tracker_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/masthead_h1/handlers'], function(placements, impl) { window.ta.plc_masthead_h1_hr_resp_0_handlers = placements.load('masthead_h1','handlers.js', { 'name': 'masthead_h1:hr_resp', 'occurrence': 0, 'id': 'taplc_masthead_h1_hr_resp_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/trip_planner_breadcrumbs/handlers'], function(placements, impl) { window.ta.plc_trip_planner_breadcrumbs_0_handlers = placements.load('trip_planner_breadcrumbs','handlers.js', { 'name': 'trip_planner_breadcrumbs', 'occurrence': 0, 'id': 'taplc_trip_planner_breadcrumbs_0', 'location_id': 192613, 'servletClass': 'com.TripResearch.servlet.hotels.hotelreview.HotelReviewServlet', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/prwidgets', 'ta/page'], function(prwidgets) { prwidgets.initWidgets(document); });