ที่ 75 จาก 159 ด้านโรงแรม ใน แนชวิลล์
{"BOOKING_FEATURES": ["IB_PRICES_OUTSIDE_ROOM_BUTTON","IB_STREAMLINED_SELECTED_ROOM","IB_HIDE_MSNBC_LARGEST_SITE_QUOTE","IB_SHOW_EMAIL_FOR_INSECURE_LOGIN","IB_EXIT_INTERRUPTER","RCMS_INLINE_ROOM_GRID_MAX_OCC","IB_SHOW_AMENITIES_AS_ICONS","IB_POST_BOOKING_LOGIN","IB_IRG_PERFORMANCE_METRICS","IB_IRG_MATCH_META","META_AIR","CHILDREN_SEARCH","IB_INLINE_ROOM_GRID","ATTRACTIONS_REMOVE_PAYMENT_ADDRESS_FIELDS","HR_IB_EXCLUDE_TAXES_AND_FEES","IB_TIME_OF_STAY_PAYMENT_TYPES_V3","IB_DW_CCNAME_WITH_AUTOCOMPLETE","IB_IRG_PERFORMANCE_METRICS_MOBILE","IBEX_HIGH_EQUITY_BRANDING","IB_PRICE_WINS_POST_TX","IB_BOOKING_FORM_FAVICON","STORED_CARDS","IB_PRICE_WINS_COPY","IB_URGENCY_BLOCK"] , "IMPRESSION_KEY": "dbd42648c0374b5aa9f778c40c235d69", "roomSelectionModel": {"partnerInfos":[],"multiplePartners":false,"polling":{"locationId":270544,"bookingSessionId":null,"detailedAvailabilityKey":null,"commerceContentIds":[34393201],"additionalContentIds":[],"pollCount":0,"checkin":{"day":28,"month":11,"year":2017},"checkout":{"day":29,"month":11,"year":2017},"adults":2,"child_rm_ages":"","rooms":1,"display_rooms":300,"entryPrice":164,"entryCurrency":"USD","complete":false,"formKey":"","showAllRooms":true,"genNewBookingSessionId":false,"winningProviderAtClick":"","selectedRoomKey":"","impressionKey":"dbd42648c0374b5aa9f778c40c235d69","navArea":null,"referringServlet":"Hotel_Review","highestMetaPrice":164,"lowestMetaPrice":164,"additionalPartner":false,"highestMetaPriceDisplay":164,"roomsToVerify":[],"clazz":null},"summary":null,"unavailable":false,"metaOffers":[],"mismatchCheckModel":null,"totalMediaCount":0,"hotelPhotos":[],"noticeHeaderMessage":null,"moreProviders":null,"lowestPricePartner":null,"showAllRooms":true,"isMetaCheaper":false,"isBookingLessThanOrEqualToMeta":null,"avgHistoricalPrice":0.0,"avgHistoricalDisplayPrice":null,"expressBookState":{"hasFullTravelerInfo":false,"hasReducedBillingInfo":false,"hasFullBillingInfo":false},"highestMetaPrice":164,"lowestMetaPrice":164,"highestMetaPriceDisplay":164,"hotelName":"Country Inn & Suites By Carlson, Nashville","hasSpecialTimeOfStayTaxes":false,"trackingTree":null,"trackingTreeId":null,"showPriceHoverTooltip":false,"trackingContext":"eyJzdGF0ZSI6IkhPVEVMX0FVQ1RJT04iLCJwIjoiSFJfTWFpbkNvbW1lcmNlIiwiaWRzIjp7IkJGSyI6ImRiZDQyNjQ4YzAzNzRiNWFhOWY3NzhjNDBjMjM1ZDY5IiwiQUlLIjoiNzZhZmM2ZTM2NjdiNGE5MDhhMzcxYzNjNjQ1NDdhYWQifSwiZW50cnlTZXJ2bGV0IjoiSG90ZWxfUmV2aWV3In0=","cheaperPricesExist":false,"enableLPF":false,"priceDropPercent":0,"canExpandRooms":false,"expandRoomsToAllPartners":false,"roomSelectionKey":null,"useSupplierDirectTreatment":false,"isSupplierDirect":false,"showProviderSeparator":false,"clazz":null,"isPriceDrawerEnabled":false,"seeMoreMessage":null,"seeMoreIFrameMessage":null,"isPricelineCom":false,"isMetaMarketingLandOnBookingFormEnabled":false}, "ibAvailability": true, "metaAvailability": true, "topOfferIsIB": false, "numHacTries": -1, "checkIn": "28/11/2017", "checkOut": "29/11/2017", "lowestPrice": "US$164", "hasDates": true, "hacComplete": false, "contentIdMappings": {"78864211":"OrbitzEWS","78327240":"PricelineIB","32612498":"Expedia","80119285":"AgodaIB","39673566":"CarlsonCountryInn","34443685":"Hotwire","53926893":"TravelocityEWS","34393201":"BookingCom","109273389":"HotelsCom2IB"}, "pollingEnabled": false, "preventScroll": false, "offerClickToken": null, "conditionalUpdate": false, "mightGetRooms": true, "divClasses": "ppr_rup ppr_priv_hr_inline_room_grid_hsx", "singlePartnerRoomGridWidget": {"containerClass":null,"containerAttributes":null,"widget":{"name":"ibex_room_grid_hsx","moduleList":["handlers","tracking"],"template":"ibex_room_grid_hsx__widget","divClasses":"prw_rup prw_ibex_room_grid_hsx","js":{"handlers":"(ta.prwidgets.getjs(this,'handlers'))","tracking":"(ta.prwidgets.getjs(this,'tracking'))"},"dust":{"sub_header":"ibex_room_grid_hsx__sub_header"}},"scriptFlags":null}, "multiPartnerRoomGridWidget": null, "mismatchMessage": {"containerClass":null,"containerAttributes":null,"widget":{"name":"ibex_mismatch_message","moduleList":["handler"],"template":"ibex_mismatch_message__widget","divClasses":"prw_rup prw_ibex_mismatch_message","js":{"handler":"(ta.prwidgets.getjs(this,'handler'))"},"dust":{}},"scriptFlags":null}, "maxRoomsToShow": 300, "isTablet": false, "roomGridRowWidget": {"containerClass":null,"containerAttributes":null,"widget":{"name":"ibex_room_grid_row_hsx","moduleList":[],"template":"ibex_room_grid_row_hsx__widget","divClasses":"prw_rup prw_ibex_room_grid_row_hsx","js":{},"dust":{"amenities":"ibex_room_grid_row_hsx__amenities","condition_col":"ibex_room_grid_row_hsx__condition_col","price_text":"ibex_room_grid_row_hsx__price_text","reservation_col":"ibex_room_grid_row_hsx__reservation_col"}},"scriptFlags":null}, "mismatchMessageLightbox": null, "deviceInfo": "OtherOS OtherBrowser", "bookOnTripAdvisor": "จองบน <img class=\"ibHeaderImg\" alt=\"TripAdvisor\" src=\"https:\/\/static.tacdn.com\/img2\/branding\/rebrand\/TA_logo_primary.png\"\/>"}
คำตอบจาก trublshuter, General Manager ของ Country Inn & Suites By Carlson, Nashvilleตอบกลับเมื่อ 25 พฤศจิกายน 2015
พนักงานช่วยเหลือดี ทำเลดี คุ้มราคา
คำตอบจาก ManagementTeamGM, Manager ของ Country Inn & Suites By Carlson, Nashvilleตอบกลับเมื่อ 2 ธันวาคม 2015
ห้องพักดีเพลงในหุบเขา
Denira W
ห้องสกปรกและพนักงานหยาบคาย
คำตอบจาก trublshuter, General Manager ของ Country Inn & Suites By Carlson, Nashvilleตอบกลับเมื่อ 14 พฤศจิกายน 2015
สะอาด สบาย และทำเลดี
คำตอบจาก ManagementTeamGM, Manager ของ Country Inn & Suites By Carlson, Nashvilleตอบกลับเมื่อ 4 พฤศจิกายน 2015
TripAdvisor ภูมิใจที่ได้ร่วมเป็นพันธมิตรกับ Carlson, Expedia, Priceline, Hotels.com, Booking.com, Travelocity, Hotwire, Orbitz, getaroom.com และ Cheap Tickets คุณจึงสามารถจองห้องพักที่ Country Inn & Suites By Carlson, Nashville ได้อย่างมั่นใจ ในแต่ละเดือน เราช่วยให้นักท่องเที่ยวนับล้านค้นหาโรงแรมที่เหมาะสำหรับทริปวันหยุดพักผ่อนหรือทริปการติดต่อธุรกิจด้วยส่วนลดและข้อเสนอสุดพิเศษที่ดีที่สุดเสมอ
").append(placementEl.find('.global-nav-no-refresh')); placementEl.html(response); placementEl.find('.global-nav-no-refresh').each(function(idx, el) { $(el).replaceWith(oldMenus.find('#' + el.getAttribute('id'))[0]); }); if (oldOverlay) { oldOverlay.hide('replace-el'); } }).bind(placementEl); var _getRequestOptionsForLoginRefresh = function() { return { // This should not be necessary, but for some reason placements // seems tightly coupled with the location store skipLocation: placement.location_id <= 0, returnTo: document.location.pathname + (document.location.search||'') + (document.location.hash||'') }; }; // When login state changes, request the updated global nav $(document).on('regOverlay:success', function() { placement.requestAJAXPlacement( _onSuccessLoginRefresh, null, _getRequestOptionsForLoginRefresh()); }); // When mousing over the global nav links, show their submenus placementEl.on('mouseenter', '.global-nav-links-container [data-element]', function(evt) { var elmt = $(this); var linkEl = elmt.find('a').first(); if (oldOverlay) { oldOverlay.hide('new-overlay'); } // Is there a submenu to show? var menuEl = placementEl.find(elmt.data('element')).clone(); if (!menuEl.length) { return; } var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/flyout', 'trjs!overlays/options/closeOnMouseAway', 'trjs!overlays/position', 'trjs!overlays/options/destroyOnHide' ]; require(reqs, function(Overlay, Flyout, CloseOnMouseAway, Position, DestroyOnHide) { var overlay = new Overlay(elmt[0], new Flyout(menuEl[0], 'global-nav-flyout global-nav-menu'), CloseOnMouseAway, Position.bottomRight([0, 1]), DestroyOnHide); overlay.domParent = placementEl.find('.global-nav-overlays-container')[0]; overlay.show(); // For tracking clicks to submenu links, we add an attribute to the link being hovered over so we can retrieve // the tracking prefix from the link's tracking-label attribute. linkEl.attr('data-active-menu-trigger', true); $(evt.currentTarget).find('.ui_tab').addClass('hovering'); overlay.on('hide', function() { // Remove attribute used for tracking linkEl.removeAttr('data-active-menu-trigger'); $(evt.currentTarget).find('.ui_tab').removeClass('hovering'); }); oldOverlay = overlay; }); }); // When mousing over a menu in the dropdown, open the submenu placementEl.on('mouseenter', '.expandSubItem', function(evt) { var elmt = $(this); // CX-2715 avoid opening a duplicate submenu if (elmt.hasClass('active')) { return; } elmt.addClass('active'); elmt.siblings('.expandSubItem').removeClass('active'); var submenuEl = elmt.find('.secondSubNav').clone(); var targetEl = elmt.parents('.ui_overlay'); var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/flyout', 'trjs!overlays/options/closeOnMouseOut', 'trjs!overlays/options/destroyOnHide' ]; require(reqs, function(Overlay, Flyout, CloseOnMouseOut, DestroyOnHide) { var overlay = new Overlay(elmt[0], new Flyout(submenuEl[0]), CloseOnMouseOut, DestroyOnHide); overlay.domParent = targetEl[0]; submenuEl.css('display', 'block'); overlay.show(); }); }); // If we're opening the more menu, add any elements that are hidden or collapsed due to space placementEl.on('mouseenter', '.global-nav-links-ellipsis', function(evt) { var elmt = $(this); if (oldOverlay) { oldOverlay.hide('new-overlay'); } var allEls = placementEl.find(".global-nav-links-container li"); var hiddenEls = allEls.filter(":hidden"); var collapsedEls = allEls.filter(function(idx, el) { return $(el).offset().top > allEls.offset().top; }); var elsToShow = $().add(hiddenEls).add(collapsedEls).clone(); var menuEl = placementEl.find('.global-nav-links-menu-more').clone(); menuEl.prepend(elsToShow); var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/flyout', 'trjs!overlays/options/closeOnMouseAway', 'trjs!overlays/position', 'trjs!overlays/options/destroyOnHide' ]; require(reqs, function(Overlay, Flyout, CloseOnMouseAway, Position, DestroyOnHide) { var overlay = new Overlay(elmt[0], new Flyout(menuEl[0], 'global-nav-flyout global-nav-menu'), CloseOnMouseAway, Position.bottomRight([0, 1]), DestroyOnHide); overlay.domParent = placementEl.find('.global-nav-overlays-container')[0]; overlay.show(); elmt.find('.ui_tab').addClass('hovering'); overlay.on('hide', function() { elmt.find('.ui_tab').removeClass('hovering'); }); oldOverlay = overlay; }); }); // Help Center MW Overlay placementEl.on('click', '#global-nav-HelpDesk', function (evt) { evt.preventDefault(); var sourceElem = this; var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/modal', 'trjs!overlays/options/closeOnEscape', 'trjs!overlays/position', 'trjs!overlays/options/closeOnDocClick', 'trjs!overlays/options/ajax', 'trcss!src/build/required/help_center_overlay' ]; require(reqs, function(Overlay, Modal, CloseOnEscape, Position, CloseOnDocClick, Ajax, styleSheetOK){ var overlay = new Overlay(sourceElem, [ Modal(null, '', 'help_center'), CloseOnEscape, Position.cssCentered(), CloseOnDocClick, Ajax("/uvpages/helpCenterOverlay.html") ]); overlay.show(); radio.emit('overlay-show'); }); }); // When clicking on my trips placementEl.on('click', '.masthead-saves', function(evt) { if (mastheadSavesApp) { if (oldOverlay) { oldOverlay.hide('new-overlay'); } mastheadSavesApp && mastheadSavesApp.destroy() && (mastheadSavesApp = null); require(['trjs!ta/Core/TA.Record'], function(taRecord) { taRecord.trackEventOnPage('TopNav', 'mytrips_dropdown_cancel'); }); } else { openMyTrips(false, false, evt.currentTarget); $(evt.currentTarget).find('.ui_icon').addClass('hovering'); } }); // My Trips - Remove through CX-2542 var openMyTrips = function(inCreateTripFlow, runTest3, elmt) { if (oldOverlay) { oldOverlay.hide('new-overlay'); } var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/flyout', 'trjs!overlays/options/closeOnDocClick', 'trjs!overlays/position', 'trjs!overlays/options/destroyOnHide', 'trjs!overlays/options/autoReposition', 'trjs!ta/Core/TA.Record' ]; require(reqs, function(Overlay, Flyout, CloseOnDocClick, Position, DestroyOnHide, AutoReposition, taRecord) { // Create a new overlay var overlay = new Overlay( $('.masthead-saves')[0], new Flyout('', 'global-nav-flyout global-nav-utility trips-flyout-container'), CloseOnDocClick.withoutTouchEvents, Position.bottomLeft([-20, -3]), DestroyOnHide, AutoReposition ); overlay.domParent = placementEl.find('.global-nav-overlays-container')[0]; overlay.show(); placementEl.find('.trips-flyout-container').addClass('hide-arrow'); // To make sure the overlay arrow is shown together with the masthead saves view oldOverlay = overlay; require(['trdust!masthead-saves-dust', 'trdust!styleguide-dust', 'trjs!masthead-saves', 'trcss!masthead-saves'], function(dustModule, module, styleSheetOK) { setTimeout(function () { mastheadSavesApp = new window.MastheadSavesApp(); mastheadSavesApp.start({ inCreateTripFlow: inCreateTripFlow, runTest3: runTest3 }); overlay.on('hide', function(evt) { mastheadSavesApp && mastheadSavesApp.destroy() && (mastheadSavesApp = null); taRecord.trackEventOnPage('TopNav', 'mytrips_dropdown_cancel'); if (elmt) { $(elmt).find('.ui_icon').removeClass('hovering'); } }); placementEl.find('.trips-flyout-container').removeClass('hide-arrow'); }, 0); }); }); }.bind(placementEl); // Profile Link: When clicking on a utility link, open the submenu, if one is available placementEl.on('click', '.global-nav-utility-activator', function(evt) { var elm = $(this); // Is there a submenu to show? var menuEl = placementEl.find(elm.data('element')).clone(); if (!menuEl.length) { return; } if (oldOverlay) { if (oldOverlay.sourceElement == this){ oldOverlay.isOpen() ? oldOverlay.hide('close') : oldOverlay.show(); return; // don't re-open the same overlay. } else { oldOverlay.hide('new-overlay'); } } // Create a new overlay menuEl = menuEl.clone(); var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/styles/flyout', 'trjs!overlays/options/closeOnDocClick', 'trjs!overlays/position', 'trjs!overlays/options/autoReposition' ]; require(reqs, function(Overlay, Flyout, CloseOnDocClick, Position, AutoReposition) { var overlay = new Overlay(elm[0], new Flyout(menuEl[0], 'global-nav-flyout global-nav-utility'), CloseOnDocClick, Position.bottomLeft([-20, -3]), AutoReposition); overlay.domParent = placementEl.find('.global-nav-overlays-container')[0]; overlay.show(); elm.addClass('menu-open'); $(evt.currentTarget).find('.ui_icon').addClass('hovering'); overlay.on('hide', function() { elm.removeClass('menu-open'); $(evt.currentTarget).find('.ui_icon').removeClass('hovering'); }); oldOverlay = overlay; }); }); // Trackng: Logo clicks placementEl.on('click', '.global-nav-logo', function() { require(['trjs!ta/Core/TA.Record'], function(taRecord) { taRecord.setEvtCookie('TopNav_' + window.pageServlet, 'click', 'TAlogo', 0, '/Home'); }); }); // Mobile Web Global Nav Persistent Icons function checkForPersistentIcons() { var offsetPosition = $(window).scrollTop(); var persistentIcons = $('.persistent-icons', placementEl); var navIcons = $('.global-nav-icons', persistentIcons); if (navIcons.length) { var logo = $('.global-nav-logo'); var pill = $('[data-placement-name="global_nav_geopill"]'); // A - Sideways default state: Logo and icons together, geo pill on second line // B - Sideways 1st scroll (down): Icons animate to geo pill, logo scrolls out of view // C - Sideways 2nd scroll (down): Icons locked to geo pill, all elements scroll out of view // // A - Internal default state: No logo, geo pill and icons on first line // B - Internal 1st scroll (down): Icons locked to geo pill, all elements scroll out of view // C - Internal 1st scroll (up): Icons animate to logo, logo scrolls into view // // Adjust icons to placements: Logo then Geopill when available if (pill.is(':visible')) { var calculatePlacementInView = placementEl.height() - offsetPosition; // Keep icons confined to scrollable area on DW & MW (avoids snap-into-view on MW) if (offsetPosition <= 0) { navIcons.css({ 'position': 'absolute', 'top': 0 }); } // As long as the icons are w/n the scrollable area, animate position of icons if (calculatePlacementInView > 0) { if (offsetPosition > 0 && offsetPosition <= 50) { navIcons.css({ 'position': 'absolute', 'top': offsetPosition, 'bottom': 'auto' }); } // When the icons reach the end of the scrollable area, lock them to the geo pill else if (calculatePlacementInView <= 50) { navIcons.css({ 'position': 'absolute', 'top': 'auto', 'bottom': 0 }); } } } } } // Auto scroll to desired position based on traffic type function positionSecondView() { var hideLogo = $('.second-view', placementEl); var offsetPosition = $(window).scrollTop(); var persistentIcons = $('.persistent-icons', placementEl); var navIcons = $('.global-nav-icons', persistentIcons); if (navIcons.length) { var area = $('.global-nav-mobile-web-rollout'); var logo = $('.global-nav-logo', area); var pill = $('[data-placement-name="global_nav_geopill"]'); logo.css({ 'display': 'block' }); if (hideLogo.length && pill.is(':visible')) { offsetPosition = persistentIcons.height() - logo.height(); window.scroll(0, offsetPosition); navIcons.css({ 'position': 'absolute', 'top': 'auto', 'bottom': 0 }); } } } // Global Nav Persistent Single-line Header function checkForPersistentGlobalNav() { var persistentGlobalNav = $('.global-nav-persistent', placementEl); if (persistentGlobalNav.length) { persistentGlobalNav.toggleClass('fixed', $(window).scrollTop() > placementEl.offset().top); } } // Default scroll position for responsive views positionSecondView(); $(window).scroll( function() { require(['trjs!utils/throttle'], function(throttle) { throttle(checkForPersistentIcons(), 0); throttle(checkForPersistentGlobalNav(), 100); }); }); return { checkForPersistentIcons: checkForPersistentIcons, checkForPersistentGlobalNav: checkForPersistentGlobalNav }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'vr_srp_listings','handlers',['handlers']); define(['placement', 'lib/jquery-amd', 'utils/ajax', 'ta/util/Error', 'utils/localstorage' ], function (placement, $, ajax, taError, localStorage ) { var ABANDONED_CART_INFO = "abandonedCart"; var _placement = $('#' + placement.id); var addAbandonedCartCell = function () { var abandonedCart = localStorage.get(ABANDONED_CART_INFO); if (abandonedCart) { ajax({ url: '/MetaPlacementAjax', data: { /* MetaPlacementAjax parameters */ placementName: 'vr_abandoned_cart_cell', skipLocation: true, assets: false, packagePrivateAssets: true, wrap: true, /* AbandonedCartCellRenderer parameters */ metaReferer: "SRP", geo: placement.location_id, // UrlArg.LOCATION_ID locationId: abandonedCart.locationId, // UrlArg.LOCATIONID checkIn: abandonedCart.checkIn, // UrlArg.CHECK_IN checkOut: abandonedCart.checkOut, // UrlArg.CHECK_OUT inquiryAdults: abandonedCart.inquiryAdults, // VacationRentalsAjax.PARAM_ADULTS numOfKids: abandonedCart.numOfKids // VRDetailUtil.PARAM_N_KIDS }, type: 'POST', evalScripts: false, success: function (data) { if (data.indexOf("vr_listing") < 0) { return; } var duplicateListing = $("#vrListing_" + abandonedCart.locationId); if (duplicateListing) { duplicateListing.closest(".vr_listing").remove(); } _placement.find(".vr_listing:eq(1)").after(data); }, error: function(e) { taError.record(e, 'Failed to retrieve abandoned cart cell'); } }); } }; addAbandonedCartCell(); return { }; });});require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'trip_planner_breadcrumbs','handlers',['handlers']); define(["placement", "ta/Core/TA.FireEvent"], function(placement, taEvent) { "use strict"; function updateContents(contentDiv) { var placementDiv = document.getElementById(placement.id); if(placementDiv) { placementDiv.innerHTML = contentDiv.innerHTML; } } taEvent.on("update-" + placement.name, updateContents); return { }; });});require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'masthead_search','handlers',['deferred/lateHandlers','handlers']); /* jshint newcap:false */ /** * Private javascript for masthead_search placement */ define(["placement", "ta/Core/TA.Store"], function (placement, taStore) { function prepareTypeaheadParameters() { 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]); } } } } } prepareTypeaheadParameters(); var options = taStore.retrieve("typeahead_dual_search_options"); if (document.activeElement === document.getElementById("GEO_SCOPED_SEARCH_INPUT")) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whereFocused({type: "dummy"}, document.activeElement); }); } else if (document.activeElement === document.getElementById("mainSearch")) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whatFocused({type: "dummy"}, document.activeElement); }); } return { getOptions: function () { return options; } }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'global_nav_links','handlers',['handlers']); /* jshint newcap:false */ define([ 'placement', 'lib/jquery-amd' ], function( placement, $ ) { 'use strict'; var placementEl = $('#' + placement.id); var globalNavMenus = $('[data-placement-name="global_nav_links"]'); // Tracking: Catch-all var _trackNavClick = function(elmt, category) { var trackingLabel = $(elmt).data('trackingLabel'); // Handle links to /# (Help Center) or links opening new window require(['trjs!ta/Core/TA.Record'], function(taRecord) { if(/\/#\s*$/.test(elmt.href) || elmt.target == '_blank') { taRecord.trackEventOnPage(category, 'click', trackingLabel); } else { taRecord.setEvtCookie(category, 'click', trackingLabel, 0, elmt.href); } }); }; var _trackReorderNavClick = function(elmt, category) { var reorderTrackingLabel = $(elmt).data('reorderTrackingLabel'); // Handle links to /# (Help Center) or links opening new window require(['trjs!ta/Core/TA.Record'], function(taRecord) { taRecord.trackEventOnPage(category, 'click', reorderTrackingLabel); }); }; globalNavMenus.on('click', 'a.global-nav-link[data-reorder-tracking-label]', function() { _trackReorderNavClick(this, 'TopNav'); }); // Tracking: Catches all of the non-submenu links that require tracking // Links only qualify if they have the data-tracking-label attribute. globalNavMenus.on('click', 'a.global-nav-link[data-tracking-label]', function() { _trackNavClick(this, 'TopNav'); }); // Tracking for links in submenus works by looking up the active-menu-trigger // (link that triggered the dropdown) and using it's tracking-label as a prefix globalNavMenus.on('click', 'a.subLink', function() { var triggerEl = $("[data-active-menu-trigger][data-tracking-label]", placementEl); var trackingLabel = triggerEl.data('trackingLabel') + "_sublink"; _trackNavClick(this, 'TopNav'); }); }); });require(['ta/prwidgets'], function(widgets) { var define = widgets.define.bind(widgets,'common_atf_header_bl','handlers',['handlers']); define(['widget', 'vanillajs', 'ta/common/Flyout', 'ta/Core/TA.Record', 'ta/util/Link', 'ta/Core/TA.Event', 'overlays/uiOverlay', 'ta/maps/opener'], function (widget, vanillajs, taFlyout, taRecord, taLink, taEvent, uiOverlay, mapsOpener) { var dataElem = document.querySelector('.blRow'); var long_address_event = 'bl_contact_long_address'; var email_event = 'bl_contact_email'; function _onWebLinkClicked(event, target) { if (!dataElem) { return; } var locId = dataElem.getAttribute('data-locid'); var targetHref = target.getAttribute('data-ahref'); var trackingKey = target.getAttribute('data-trackingkey') || 'URL_HOTEL'; var trackingEventName = target.getAttribute('data-eventname') || 'bl_contact_website'; var options = { 'aHref': targetHref, 'isAsdf': true, 'detailId': locId, 'newTab': true }; taLink.targetBlank(event, target, options); _fireTracking(target, trackingKey); // ADS-3384 fire event to track through remarketing store taEvent.fireEvent("onBLClick", event, locId); var ctx = { location_id: locId, bl_website: targetHref, bl_tracking_key: trackingKey }; taRecord.trackActionWithJson(trackingEventName, ctx); } function _onEmailClicked(event, target, encodedEmailAddress) { if (!dataElem) { return; } var locId = dataElem.getAttribute('data-locid'); var context = dataElem.getAttribute('data-context'); _fireTracking(target, "EMAIL"); var ctx = { location_id: locId }; taRecord.trackActionWithJson(email_event, ctx); if (encodedEmailAddress && (context === 'Attraction_Review')) { // mailto for /AR var decodedEmailAddress = ta.util.decoder.base64Decoder(encodedEmailAddress); window.location = 'mailto:' + decodedEmailAddress; } else { // show flyout for /HR taFlyout.showEmailHotelOverlay(locId, 'false', '' , ''); } } function _onMenuClicked(event, target) { _fireScrollEvents('TABS_MENU'); _fireTracking(target,"MENU"); } function _onAddressHovered(event, target) { if (target && target.scrollWidth > target.offsetWidth) { uiOverlay(event, target); } var ctx = { location_id: dataElem.getAttribute('data-locid') }; taRecord.trackImpressionWithJson(long_address_event, ctx); } function _onAddressClicked(event, target) { var mapOptions = {customFilters:[]}; var mapFilters = target.getAttribute('data-mapFilters'); mapFilters && (mapOptions.customFilters = mapFilters.split(',')); mapsOpener.open(2, null, null, mapOptions); taRecord.trackEventOnPage('BusinessListings', 'click', 'address'); var ctx = { location_id: dataElem.getAttribute('data-locid') }; taRecord.trackActionWithJson(long_address_event, ctx); } function _fireTracking(target, contactType) { var gaContext = dataElem.getAttribute('data-context'); var locId = dataElem.getAttribute('data-locid'); var column = target.getAttribute('data-column'); var gaAction = contactType+"|text|" + column + "||"; taRecord.trackEventOnPage(gaContext, gaAction, locId, 0, false); taRecord.trackEventOnPage('BusinessListings', 'BL_CLICK', 'BL_LINKS'); } function _fireScrollEvents(tabId) { var elm = document.getElementById(tabId); taEvent.fireEvent("HRTab_clickTab", elm, 300); //Event for /HR taEvent.fireEvent("TabHeader_clickTab", elm, 300); //Event for /R_R and /A_R } return { onAddressHovered: _onAddressHovered, onAddressClicked: _onAddressClicked, onWebLinkClicked: _onWebLinkClicked, onEmailClicked: _onEmailClicked, onMenuClicked: _onMenuClicked }; }); }); define('Logging', ['vanillajs'], function(vanilla) { var DEBUG_LEVEL = typeof IS_DEBUG !== 'undefined' && IS_DEBUG ? 4 : 1; var result = {}; var levels = ['error', 'warn', 'dir', 'info', 'debug']; for (var i=0; i< idx) { return; } if (typeof console === 'undefined' || !console[level] || !console[level].apply) { return; } console[level].apply(console, arguments); } })(level, i); } result.setLevel = function(newLevel) { DEBUG_LEVEL = newLevel; }; return result; }); define('common/DustRenderer', ['Logging'], function(Logging) { return function(template, data) { var dustGlobal = {}; if (require.defined('page-model')) { dustGlobal = require('page-model').DUST_GLOBAL; } else { dustGlobal = DUST_GLOBAL; } if (!template || !dust.cache[dustGlobal.LOCALE + template]) { throw new Error('Template is missing for ' + template); } var start = new Date().getTime(); var blob = dust.makeBase(dustGlobal).push(data); var output = ''; dust.render(dustGlobal.LOCALE + template, blob, function (err, out) { if (err) { throw err; } output = out; }); var totalTime = (new Date().getTime() - start); if (totalTime > 5) { Logging.warn('Template ' + template + ' took ' + totalTime + 'ms to render'); } return output; }; }); define('overlays/options/destroyOnHide', ['vanillajs'], function(vanilla){ return function() { this.hide = function(hideTrigger) { if (!this.container.overlay) { return; } delete this.container.overlay; this.domParent.removeChild( this.container ); this.emit('hide', { trigger: hideTrigger }); this.emit('destroy', { trigger: hideTrigger }); this.sourceElement = null; this.contentElement = null; return this; }; }; }); require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'global_nav_action_trips','handlers',['handlers']); /** * Created by huihongwang on 6/1/17. */ define([ 'placement', 'lib/jquery-amd', 'api-mod', 'page-model', 'common/Radio', 'ta/Core/TA.Record', 'utils/localstorage', 'common/DustRenderer', 'overlays/position', 'overlays/styles/flyout', 'overlays/options/destroyOnHide', 'overlays/options/autoReposition', 'overlays/options/fade' ], function( placement, $, api, pageModel, Radio, Tracking, Storage, DustRenderer, Position, Flyout, DestroyOnHide, AutoReposition, Fade ) { 'use strict'; var globalNavMenus = $('[data-placement-name="global_nav_menus"]'); var radio = Radio('global-nav'); var oldOverlay = null; var overlays = {}; var $root = $('#' + placement.id); var $testEl = $root.find('.my-trips-dropdown-test'); var $controlEl = $root.find('.my-trips-dropdown-control'); var $quickSaveEl = $root.find('.quick-save-test'); var OVERLAY_NAME = 'my-trips-dropdown-test-overlay'; var OVERALY_AUTOCLOSE_TIMEOUT = 7 * 60 * 1000; var STORAGE_TEST_KEY_PREFIX = 'my-trips-dropdown-test'; var STORAGE_CONTROL_KEY_PREFIX = 'my-trips-dropdown-control'; var STORAGE_SKIP_KEY = 'my-trips-dropdown-skip'; var STORAGE_QUICK_SAVE_KEY = 'my_trips_educational_flyout'; var csrf_token = require('page-model').JS_SECURITY_TOKEN; var servletName = require('page-model').session.pageServlet; var _getRecentLocations = function(onSuccess) { $.ajax({ type: 'GET', url: '/data/1.0/recent/locations', data: { limit: 21 }, beforeSend: function(xhr) { xhr.setRequestHeader('X-Requested-By', csrf_token); }, success: onSuccess }); }; var _getTripLists = function(onSuccess) { $.ajax({ type: 'GET', url: '/data/1.0/trips/list', data: { limit: 3 }, beforeSend: function(xhr) { xhr.setRequestHeader('X-Requested-By', csrf_token); }, success: onSuccess }); }; var _getTripItems = function(onSuccess) { $.ajax({ type: 'GET', url: '/data/1.0/trips/item', data: { limit: 2 }, beforeSend: function(xhr) { xhr.setRequestHeader('X-Requested-By', csrf_token); }, success: onSuccess }); }; var _isTimeWithin2Hours = function(time) { return (new Date().getTime() - time) < (2 * 60 * 60 * 1000); }; var _isTimeWithin30Days = function(time) { return (new Date().getTime() - time) < (30 * 24 * 60 * 60 * 1000); }; var _displayOverlay = function($contentElement) { var overlayMixins = [ new Flyout($contentElement[0], 'global-nav-flyout global-nav-utility my-trips-dropdown-test-flyout'), Position.bottomLeft([-20, -3]), DestroyOnHide, AutoReposition, Fade(Fade.SHORT, true, true) ]; $contentElement.on('click', '.ui_close_x', function() { radio.trigger('hide-overlays', OVERLAY_NAME); }); radio.trigger('show-overlay', OVERLAY_NAME, $('#' + placement.id).find('.masthead-saves')[0], overlayMixins, null); }; var _isOverlayOnPage = function() { // Detect if there is any existing overlay, notification popup or qualaroo survery on the page return $.find('.ui_notification_container').length || $.find('.ui_overlay').length || $.find('#qual_ol').length; }; var _showTest1IfNeeded = function(isInControl, storageKey) { // Current page is POI detail if (!/Hotel_Review|Attraction_Review|Restaurant_Review/.test(servletName)) { return; } _getRecentLocations(function(response) { if (response.data && response.data.length > 2 && _isTimeWithin2Hours(response.data[2].date)) { if (_isOverlayOnPage()) { Storage.set(STORAGE_SKIP_KEY, true); return; } if (!isInControl) { _displayOverlay($testEl); } Storage.set(storageKey, true); Tracking.trackEventOnPage(storageKey, "flyout_shown", servletName + "|recents_" + response.data.length, 0, false); } }); }; var _showTest2IfNeeded = function(isInControl, storageKey) { _getRecentLocations(function(response) { if (response.data && response.data.length >= 2 && !_isTimeWithin2Hours(response.data[1].date)) { if (_isOverlayOnPage()) { Storage.set(STORAGE_SKIP_KEY, true); return; } if (!isInControl) { var message = DustRenderer('saves_masthead_dropdown_test2_string', {numOfItems: response.data.length}); $testEl.find('.test-content').html(message); _displayOverlay($testEl); } Storage.set(storageKey, true); Tracking.trackEventOnPage(storageKey, "flyout_shown", servletName + "|recents_" + response.data.length, 0, false); } }); }; var _showTest3IfNeeded = function(isInControl, storageKey) { if (servletName === 'Hotel_Review') { return; } _getRecentLocations(function(response) { if (response.data && response.data.length >= 2 && !_isTimeWithin2Hours(response.data[1].date)) { var openMyTripsIfNeeded = function(isInControl, storageKey) { if (_isOverlayOnPage()) { Storage.set(STORAGE_SKIP_KEY, true); return; } Storage.set(storageKey, true); if (!isInControl) { // Tracking for test group is fired in the "My trips" dropdown radio.trigger('run-my-trips-test-3'); } else { Tracking.trackEventOnPage(storageKey, "flyout_shown", servletName + "|recents_" + response.data.length, 0, false); } }; if (require('page-model').session.user_id) { _getTripLists(function(response) { if (!response.data || response.data.length == 0) { openMyTripsIfNeeded(isInControl, storageKey); } }); } else { openMyTripsIfNeeded(isInControl, storageKey); } } }); }; var _showTestFlyout = function() { setTimeout(function() { if (Storage.has(STORAGE_SKIP_KEY)) { return; } if ($root.find('.test-container')) { var isTAReferrer = $root.find('.test-container').attr('data-is-ta-referrer'); } if ($testEl.length) { var testVersion = $testEl.attr('data-test-version'); var storageKey = STORAGE_TEST_KEY_PREFIX + testVersion; // Attempt to show the test flyout base on test version if (testVersion == '1' && !Storage.has(storageKey)) { _showTest1IfNeeded(false, storageKey); } else if (testVersion == '2' && !isTAReferrer && !Storage.has(storageKey)) { _showTest2IfNeeded(false, storageKey); } else if (testVersion == '3' && !isTAReferrer && !Storage.has(storageKey)) { _showTest3IfNeeded(false, storageKey); } } else if ($controlEl.length) { // The user could have seen overlay if he/she in test group if (!Storage.has(STORAGE_CONTROL_KEY_PREFIX + '1')) { _showTest1IfNeeded(true, STORAGE_CONTROL_KEY_PREFIX + '1'); } if (!Storage.has(STORAGE_CONTROL_KEY_PREFIX + '2') && !isTAReferrer) { _showTest2IfNeeded(true, STORAGE_CONTROL_KEY_PREFIX + '2'); } if (!Storage.has(STORAGE_CONTROL_KEY_PREFIX + '3') && !isTAReferrer) { _showTest3IfNeeded(true, STORAGE_CONTROL_KEY_PREFIX + '3'); } } }, 800); }; var _showQuickSaveFlyout = function() { setTimeout(function() { if (!_isOverlayOnPage() && $quickSaveEl.length > 0 && Storage.has(STORAGE_QUICK_SAVE_KEY) && !Storage.get(STORAGE_QUICK_SAVE_KEY) && api.scrollTop() == 0) { _displayOverlay($quickSaveEl); Storage.set(STORAGE_QUICK_SAVE_KEY, true); Tracking.trackEventOnPage(STORAGE_QUICK_SAVE_KEY, "flyout_shown", servletName, 0, false); } }, 1000); }; radio.on('hide-overlays', function(overlayName){ if (overlayName) { overlays[overlayName] && overlays[overlayName].hide('hide-overlay') && (overlays[overlayName] = null); } else { oldOverlay && oldOverlay.hide('replace-el'); } }); radio.on('show-overlay', function(overlayName, sourceEl, mixins, onSuccess) { oldOverlay && oldOverlay.hide('new-overlay'); var reqs = ['trjs!overlays/Overlay']; require(reqs, function(Overlay) { var overlay = new Overlay(sourceEl, mixins); overlay.domParent = globalNavMenus.find('.global-nav-overlays-container')[0]; overlay.show(); onSuccess && onSuccess(overlay); oldOverlay = overlay; overlayName && (overlays[overlayName] = overlay); }); }); radio.on('run-quick-save-test', function() { if (Storage.has(STORAGE_QUICK_SAVE_KEY)) { return; } _getTripItems(function(response) { if (response.data && (response.data.length <= 1 || !_isTimeWithin30Days(response.data[1].date))) { // Run the test if user hasn't saved in 30 days Storage.set(STORAGE_QUICK_SAVE_KEY, false); _showQuickSaveFlyout(); } }); }); if (Storage.enabled) { if (document.readyState === 'complete') { _showQuickSaveFlyout(); } else { $(window).ready(_showQuickSaveFlyout); } } }); });require(['commerce/impression-tracker'],function(impressionTracker){ impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_above_overview')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_below_overview')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_location_nearby_hotels')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_below_review')); }); 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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_cart/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_cart_0_handlers = placements.load('global_nav_action_cart','handlers.js', { 'name': 'global_nav_action_cart', 'occurrence': 0, 'id': 'taplc_global_nav_action_cart_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_trips/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_trips_0_handlers = placements.load('global_nav_action_trips','handlers.js', { 'name': 'global_nav_action_trips', 'occurrence': 0, 'id': 'taplc_global_nav_action_trips_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_profile/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_profile_0_handlers = placements.load('global_nav_action_profile','handlers.js', { 'name': 'global_nav_action_profile', 'occurrence': 0, 'id': 'taplc_global_nav_action_profile_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', '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_0_handlers = placements.load('masthead_search','handlers.js', { 'name': 'masthead_search', 'occurrence': 0, 'id': 'taplc_masthead_search_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {"typeahead_to_store":{"typeahead_new_location_label":"ตำแหน่งที่ตั้งใหม่","typeahead_divClasses":null,"typeahead.aliases.travel_forums":["ฟอรั่ม","ฟอรั่ม","ฟอรั่มจากนักท่องเที่ยว","ที่แสดงความคิดเห็นจากนักท่องเที่ยว"],"typeahead.aliases.travel_guides":["คู่มือ","คู่มือท่องเที่ยวในเมือง"],"typeahead.aliases.flight_reviews":["รีวิวเที่ยวบิน","รีวิวสายการบิน"],"typeahead.aliases.vacation_rentals":["การเช่าบ้านพักตากอากาศ","การเช่าบ้านพักตากอากาศ","Airbnb","บ้านพักตากอากาศให้เช่า","บ้านพักตากอากาศให้เช่า"],"typeahead_throttle_requests":"true","typeahead.aliases.flights":["เที่ยวบิน","เที่ยวบิน","เที่ยวบินไปยัง","เที่ยวบินไปยัง","เที่ยวบินตรง","เที่ยวบินชั้นธุรกิจ","เที่ยวบินขากลับ","เที่ยวบินจากสายการบิน","เที่ยวบิน","เที่ยวบินราคาถูก","เที่ยวบินจาก","เที่ยวบินที่ถูกที่สุด","เฉพาะเที่ยวบิน","เที่ยวบินเที่ยวเดียว","เที่ยวบินตรง","เที่ยวบินในประเทศ","ราคาตั๋วเครื่องบิน","เที่ยวบินราคาถูกไปยัง","เที่ยวบินไปยัง","เที่ยวบินจากสายการบินไปยัง","เที่ยวบินชั้นธุรกิจไปยัง","เที่ยวบินที่ถูกที่สุดไปยัง","เที่ยวบินตรงไปยัง","เที่ยวบินในประเทศไปยัง","เที่ยวบินตรงไปยัง","เที่ยวบินเที่ยวเดียวไปยัง","ราคาตั๋วเครื่องบิน","ราคาตั๋วเครื่องบิน","ราคาตั๋วเครื่องบิน","ราคาตั๋วเครื่องบินไปยัง","ราคาตั๋วเครื่องบินไปยัง","ราคาตั๋วเครื่องบินไปยัง","ราคาตั๋วเครื่องบินไปยัง"],"typeahead_moved_label":"ย้ายแล้ว","typeahead_dual_search_options":{"geoID":55229,"bypassSearch":true,"staticTypeAheadOptions":{"minChars":3,"defaultValue":"ค้นหา","injectNewLocation":true,"typeahead1_5":true,"geoBoostFix":true},"debug":false,"navSearchTypeAheadEnabled":true,"isMobileWeb":false,"geoInfo":{"geoId":55229,"geoName":"แนชวิลล์","parentName":"สหรัฐอเมริกา","shortParentName":"สหรัฐอเมริกา","categories":{"GEO":{"url":"/Tourism-g55229-Nashville_Davidson_County_Tennessee-Vacations.html"},"HOTEL":{"url":"/Hotels-g55229-Nashville_Davidson_County_Tennessee-Hotels.html"},"ATTRACTION":{"url":"/Attractions-g55229-Activities-Nashville_Davidson_County_Tennessee.html"},"EATERY":{"url":"/Restaurants-g55229-Nashville_Davidson_County_Tennessee.html"},"FLIGHTS_TO":{"url":"/Flights-g55229-Nashville_Davidson_County_Tennessee-Cheap_Discount_Airfares.html"}}}},"typeahead_closed_label":"ปิด","typeahead.scoped.all_of_trip":"ทั่วโลก","typeahead_attraction_activity_search":"false","typeahead.aliases.hotels":["โรงแรม","โรงแรม","ที่พัก","ที่พัก","ที่พัก","ที่พัก","ที่พัก","รีวิวโรงแรม","โรงแรมและโมเตล","โรงแรมที่ดีที่สุด","สถานที่พักที่ดีที่สุด","ที่พักที่ดีที่สุด","โรงแรมและโมเตลที่ดีที่สุด","ที่พัก","สถานที่พัก","โรงแรมยอดนิยม","สถานที่พักยอดนิยม","ที่พักยอดนิยม","โรงแรมและโมเตลยอดนิยม","โรงแรม 10 อันดับสูงสุด","สถานที่พัก 10 อันดับสูงสุด","ที่พัก 10 อันดับสูงสุด","โรงแรมและโมเตล 10 อันดับสูงสุด"],"typeahead.aliases.things_to_do":["สถานที่ท่องเที่ยว","กิจกรรมน่าสนใจ","สถานที่ท่องเที่ยว","กิจกรรม","กิจกรรม","การเที่ยวชมทิวทัศน์","สถานที่ท่องเที่ยว","สถานที่ท่องเที่ยว","กิจกรรม","สถานที่ท่องเที่ยว","สิ่งที่ควรเยี่ยมชม","ที่ที่ควรไป","ที่ที่ควรเที่ยว","สถานที่ท่องเที่ยวที่ดีที่สุด","กิจกรรมน่าสนใจที่ดีที่สุด","สถานที่ท่องเที่ยวที่ดีที่สุด","การเที่ยวชมที่ดีที่สุด","สถานที่ท่องเที่ยวยอดนิยม","กิจกรรมน่าสนใจยอดนิยม","สถานที่ท่องเที่ยวยอดนิยม","การเที่ยวชมยอดนิยม","สถานที่ท่องเที่ยว 10 อันดับสูงสุด","กิจกรรมน่าสนใจ 10 อันดับสูงสุด","สถานที่ท่องเที่ยว 10 อันดับสูงสุด","การเที่ยวชม 10 อันดับสูงสุด"],"typeahead.aliases.restaurants":["อาหาร","ที่กิน","ภัตตาคาร","บริการอาหาร","ร้านอาหาร","ร้านอาหาร","สถานที่กิน","ร้านอาหาร","ที่กิน","สิ่งที่ควรกิน","ร้านอาหารที่ดีที่สุด","สถานที่กินที่ดีที่สุด","อาหารที่ดีที่สุด","ห้องอาหารที่ดีที่สุด","ร้านอาหารยอดนิยม","สถานที่กินยอดนิยม","อาหารยอดนิยม","ห้องอาหารยอดนิยม","ร้านอาหาร 10 อันดับสูงสุด","สถานที่กิน 10 อันดับสูงสุด","อาหาร 10 อันดับสูงสุด","ห้องอาหาร 10 อันดับสูงสุด"],"typeahead.searchMore.v2":"ค้นหาคำว่า \"%\"","typeahead.searchSessionId":"845BA457F57EC1CDE5CC91CF8555E90D1511042898544ssid"}}, '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_geopill/handlers'], function(placements, impl) { window.ta.plc_global_nav_geopill_0_handlers = placements.load('global_nav_geopill','handlers.js', { 'name': 'global_nav_geopill', 'occurrence': 0, 'id': 'taplc_global_nav_geopill_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/GeoSearch","handlers"], 'params': {"searchSessionId":"845BA457F57EC1CDE5CC91CF8555E90D1511042898633ssid"}, '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_header/handlers'], function(placements, impl) { window.ta.plc_location_detail_header_hotels_0_handlers = placements.load('location_detail_header','handlers.js', { 'name': 'location_detail_header:hotels', 'occurrence': 0, 'id': 'taplc_location_detail_header_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"featAnimPortalUrl":"https://www.tripadvisor.com/blog/animal-welfare-education-portal/","isHotelReview":true,"animTrackingPageProperty":"Attractions","animTrackingPageActionPrefix":"Hotel_ReviewRedesign","animalAttraction":false}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/saves_cta_highlights/handlers'], function(placements, impl) { window.ta.plc_saves_cta_highlights_0_handlers = placements.load('saves_cta_highlights','handlers.js', { 'name': 'saves_cta_highlights', 'occurrence': 0, 'id': 'taplc_saves_cta_highlights_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hsx_special_messaging/handlers'], function(placements, impl) { window.ta.plc_hsx_special_messaging_HotelReview_0_handlers = placements.load('hsx_special_messaging','handlers.js', { 'name': 'hsx_special_messaging:HotelReview', 'occurrence': 0, 'id': 'taplc_hsx_special_messaging_HotelReview_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_atf_north_star_traveler_info_nostalgic/handlers'], function(placements, impl) { window.ta.plc_hr_atf_north_star_traveler_info_nostalgic_0_handlers = placements.load('hr_atf_north_star_traveler_info_nostalgic','handlers.js', { 'name': 'hr_atf_north_star_traveler_info_nostalgic', 'occurrence': 0, 'id': 'taplc_hr_atf_north_star_traveler_info_nostalgic_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_north_star_v1_meta/handlers'], function(placements, impl) { window.ta.plc_hr_north_star_v1_meta_0_handlers = placements.load('hr_north_star_v1_meta','handlers.js', { 'name': 'hr_north_star_v1_meta', 'occurrence': 0, 'id': 'taplc_hr_north_star_v1_meta_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_persistent_tabs_header/handlers'], function(placements, impl) { window.ta.plc_location_persistent_tabs_header_0_handlers = placements.load('location_persistent_tabs_header','handlers.js', { 'name': 'location_persistent_tabs_header', 'occurrence': 0, 'id': 'taplc_location_persistent_tabs_header_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"dealInactiveClass":"book_now","dealInactiveTab":"TABS_ROOMS","eventPrefix":"hr"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_top_right_cta_first_chevron_hsx/handlers'], function(placements, impl) { window.ta.plc_hr_top_right_cta_first_chevron_hsx_0_handlers = placements.load('hr_top_right_cta_first_chevron_hsx','handlers.js', { 'name': 'hr_top_right_cta_first_chevron_hsx', 'occurrence': 0, 'id': 'taplc_hr_top_right_cta_first_chevron_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels_above_overview/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_above_overview_0_handlers = placements.load('hr_btf_similar_hotels_above_overview','handlers.js', { 'name': 'hr_btf_similar_hotels_above_overview', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_above_overview_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"trackingName":"xsell_hr_abovereviews_BV","pivotPriority":"1","crossSellPivotType":"similar_hotels","noCommerce":false,"geoId":55229,"maxRequests":12,"geoPopIndexCount":159}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hotel_detail_overview_responsive/handlers'], function(placements, impl) { window.ta.plc_hotel_detail_overview_responsive_0_handlers = placements.load('hotel_detail_overview_responsive','handlers.js', { 'name': 'hotel_detail_overview_responsive', 'occurrence': 0, 'id': 'taplc_hotel_detail_overview_responsive_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/ibex_room_details_lightbox/room_details_lightbox'], function(placements, impl) { window.ta.plc_ibex_room_details_lightbox_0_room_details_lightbox = placements.load('ibex_room_details_lightbox','room_details_lightbox.js', { 'name': 'ibex_room_details_lightbox', 'occurrence': 0, 'id': 'taplc_ibex_room_details_lightbox_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/book_now_button","trcss!deferred/book_on_header","trcss!deferred/room_details_lightbox","handlers","room_details_lightbox"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/ibex_room_details_lightbox/handlers'], function(placements, impl) { window.ta.plc_ibex_room_details_lightbox_0_handlers = placements.load('ibex_room_details_lightbox','handlers.js', { 'name': 'ibex_room_details_lightbox', 'occurrence': 0, 'id': 'taplc_ibex_room_details_lightbox_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/book_now_button","trcss!deferred/book_on_header","trcss!deferred/room_details_lightbox","handlers","room_details_lightbox"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels_below_overview/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_below_overview_0_handlers = placements.load('hr_btf_similar_hotels_below_overview','handlers.js', { 'name': 'hr_btf_similar_hotels_below_overview', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_below_overview_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"trackingName":"xsell_hr_abovereviews_BV","pivotPriority":"2","crossSellPivotType":"similar_hotels","noCommerce":false,"geoId":55229,"maxRequests":12,"geoPopIndexCount":159}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/tooltips'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_tooltips = placements.load('hr_inline_room_grid_hsx','tooltips.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RateVerificationView'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RateVerificationView = placements.load('hr_inline_room_grid_hsx','RateVerificationView.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/bookingflow'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_bookingflow = placements.load('hr_inline_room_grid_hsx','bookingflow.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/pollingparamsfactory'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_pollingparamsfactory = placements.load('hr_inline_room_grid_hsx','pollingparamsfactory.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/pollingdatautils'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_pollingdatautils = placements.load('hr_inline_room_grid_hsx','pollingdatautils.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/handlers'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_handlers = placements.load('hr_inline_room_grid_hsx','handlers.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/PollingInitiator'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_PollingInitiator = placements.load('hr_inline_room_grid_hsx','PollingInitiator.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RateVerificationController'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RateVerificationController = placements.load('hr_inline_room_grid_hsx','RateVerificationController.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RoomListController'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RoomListController = placements.load('hr_inline_room_grid_hsx','RoomListController.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/roomlistmodel'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_roomlistmodel = placements.load('hr_inline_room_grid_hsx','roomlistmodel.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/viewcontroller'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_viewcontroller = placements.load('hr_inline_room_grid_hsx','viewcontroller.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/roomlistconfig'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_roomlistconfig = placements.load('hr_inline_room_grid_hsx','roomlistconfig.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_two_column/handlers'], function(placements, impl) { window.ta.plc_location_detail_two_column_top_hotels_0_handlers = placements.load('location_detail_two_column','handlers.js', { 'name': 'location_detail_two_column:top_hotels', 'occurrence': 0, 'id': 'taplc_location_detail_two_column_top_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_reviews_container/handlers'], function(placements, impl) { window.ta.plc_location_reviews_container_hotels_0_handlers = placements.load('location_reviews_container','handlers.js', { 'name': 'location_reviews_container:hotels', 'occurrence': 0, 'id': 'taplc_location_reviews_container_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_review_filter_controls/handlers'], function(placements, impl) { window.ta.plc_location_review_filter_controls_hotels_0_handlers = placements.load('location_review_filter_controls','handlers.js', { 'name': 'location_review_filter_controls:hotels', 'occurrence': 0, 'id': 'taplc_location_review_filter_controls_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_review_keyword_search/handlers'], function(placements, impl) { window.ta.plc_location_review_keyword_search_hotels_0_handlers = placements.load('location_review_keyword_search','handlers.js', { 'name': 'location_review_keyword_search:hotels', 'occurrence': 0, 'id': 'taplc_location_review_keyword_search_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_reviews_list/handlers'], function(placements, impl) { window.ta.plc_location_reviews_list_hotels_0_handlers = placements.load('location_reviews_list','handlers.js', { 'name': 'location_reviews_list:hotels', 'occurrence': 0, 'id': 'taplc_location_reviews_list_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/prodp13n_hr_sur_reviews_no_results/handlers'], function(placements, impl) { window.ta.plc_prodp13n_hr_sur_reviews_no_results_1_handlers = placements.load('prodp13n_hr_sur_reviews_no_results','handlers.js', { 'name': 'prodp13n_hr_sur_reviews_no_results', 'occurrence': 1, 'id': 'taplc_prodp13n_hr_sur_reviews_no_results_1', 'location_id': 270544, 'servletName': 'Hotel_Review','servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_0_handlers = placements.load('hr_btf_similar_hotels','handlers.js', { 'name': 'hr_btf_similar_hotels', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {"trackingName":"xsell_hr_belowreviews_BV","noCommerce":false,"maxRequests":12,"geoPopIndexCount":159,"geoId":55229}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_about/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_about_0_handlers = placements.load('hr_btf_north_star_about','handlers.js', { 'name': 'hr_btf_north_star_about', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_about_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_photos/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_photos_0_handlers = placements.load('hr_btf_north_star_photos','handlers.js', { 'name': 'hr_btf_north_star_photos', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_photos_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_two_column/handlers'], function(placements, impl) { window.ta.plc_location_detail_two_column_bottom_hotels_0_handlers = placements.load('location_detail_two_column','handlers.js', { 'name': 'location_detail_two_column:bottom_hotels', 'occurrence': 0, 'id': 'taplc_location_detail_two_column_bottom_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_nearby/handlers'], function(placements, impl) { window.ta.plc_location_nearby_hotels_0_handlers = placements.load('location_nearby','handlers.js', { 'name': 'location_nearby:hotels', 'occurrence': 0, 'id': 'taplc_location_nearby_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/placement","handlers"], 'params': {"trackingName":"location_nearby:hotels_BV","noCommerce":false,"geoId":55229,"maxRequests":12,"geoPopIndexCount":159}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_qa/handlers'], function(placements, impl) { window.ta.plc_location_qa_hotels_0_handlers = placements.load('location_qa','handlers.js', { 'name': 'location_qa:hotels', 'occurrence': 0, 'id': 'taplc_location_qa_hotels_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_room_tips/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_room_tips_0_handlers = placements.load('hr_btf_north_star_room_tips','handlers.js', { 'name': 'hr_btf_north_star_room_tips', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_room_tips_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_claim_listing/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_claim_listing_0_handlers = placements.load('hr_btf_north_star_claim_listing','handlers.js', { 'name': 'hr_btf_north_star_claim_listing', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_claim_listing_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', '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': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/h_hr_refresh_rates_prompt/handlers'], function(placements, impl) { window.ta.plc_h_hr_refresh_rates_prompt_0_handlers = placements.load('h_hr_refresh_rates_prompt','handlers.js', { 'name': 'h_hr_refresh_rates_prompt', 'occurrence': 0, 'id': 'taplc_h_hr_refresh_rates_prompt_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/popper","trcss!deferred/prompt","handlers"], 'params': {"scroll_to_top":"true"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/safari_private_tracking/handlers'], function(placements, impl) { window.ta.plc_safari_private_tracking_0_handlers = placements.load('safari_private_tracking','handlers.js', { 'name': 'safari_private_tracking', 'occurrence': 0, 'id': 'taplc_safari_private_tracking_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/h_hr_refresh_rates_prompt/handlers'], function(placements, impl) { window.ta.plc_h_hr_refresh_rates_prompt_tracking_0_handlers = placements.load('h_hr_refresh_rates_prompt','handlers.js', { 'name': 'h_hr_refresh_rates_prompt:tracking', 'occurrence': 0, 'id': 'taplc_h_hr_refresh_rates_prompt_tracking_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/popper","trcss!deferred/prompt","handlers"], 'params': {"tracking_only":"true"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/enable_cpm_content/handlers'], function(placements, impl) { window.ta.plc_enable_cpm_content_0_handlers = placements.load('enable_cpm_content','handlers.js', { 'name': 'enable_cpm_content', 'occurrence': 0, 'id': 'taplc_enable_cpm_content_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/maps_meta_block/handlers'], function(placements, impl) { window.ta.plc_maps_meta_block_0_handlers = placements.load('maps_meta_block','handlers.js', { 'name': 'maps_meta_block', 'occurrence': 0, 'id': 'taplc_maps_meta_block_0', 'location_id': 270544, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/prwidgets', 'ta/page'], function(prwidgets) { prwidgets.initWidgets(document); }); /* ]]> */