PageSourceSearch

https://www.gghotel.co.uk/rooms

html gghotel.co.uk collected 2026-09-29 09:56:01 UTC 71,410 bytes, 416 lines download raw bytes

1<!DOCTYPE html> <html itemscope itemtype="https://schema.org/WebPage" lang="en" data-page-type="rooms"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1"><title>Hotel Rooms &amp; Suites | Glasgow Grosvenor Hotel | Glasgow Grosvenor Hotel</title> <link rel="preconnect" href="https://fonts.profitroom.com" crossorigin> <link rel="preconnect" href="https://wa-uploads.profitroom.com"> <link rel="preconnect" href="https://www.googletagmanager.com"> 
1<script>
2    window.dataLayer = window.dataLayer || [];
3    function gtag(){dataLayer.push(arguments);}
4    gtag('consent', 'default', {
5        'ad_storage': 'denied',
6        'ad_user_data': 'denied',
7        'ad_personalization': 'denied',
8        'analytics_storage': 'denied',
9        'functionality_storage': 'denied',
10        'personalization_storage': 'denied',
11        'security_storage': 'granted',
12        'wait_for_update': 2500
13    });
14</script>
14 
14<script>
15window.LazyScriptLoader = (function() {
16    const loaded = new Set();
17    let triggered = false;
18    const queue = [];
19
20    function loadScript(id, callback, checkConsent) {
21        // Skip if already loaded
22        if (loaded.has(id)) return;
23        loaded.add(id);
24
25        // Check consent if needed
26        if (checkConsent && typeof checkConsent === 'function') {
27            if (!checkConsent()) return;
28        }
29
30        // Execute callback
31        if (typeof callback === 'function') {
32            callback();
33        }
34    }
35
36    function processQueue() {
37        if (triggered) return;
38        triggered = true;
39
40        // Remove all event listeners
41        ['scroll', 'click', 'touchstart', 'mousemove', 'keydown'].forEach(event => {
42            document.removeEventListener(event, processQueue);
43        });
44
45        // Process all queued scripts
46        queue.forEach(item => {
47            loadScript(item.id, item.callback, item.checkConsent);
48        });
49    }
50
51    function register(id, callback, checkConsent) {
52        queue.push({ id, callback, checkConsent });
53    }
54
55    // Set up event listeners
56    function init() {
57        const options = { once: true, passive: true };
58
59        ['scroll', 'click', 'touchstart', 'mousemove', 'keydown'].forEach(event => {
60            document.addEventListener(event, processQueue, options);
61        });
62
63        // Fallback after 5 seconds
64        if (!navigator.userAgent.includes("Lighthouse")) {
65            setTimeout(processQueue, 5000);
66        }
67
68        // If page is already scrolled, load immediately
69        if (window.scrollY > 0 || document.documentElement.scrollTop > 0) {
70            processQueue();
71        }
72    }
73
74    // Initialize when DOM is ready
75    if (document.readyState === 'loading') {
76        document.addEventListener('DOMContentLoaded', init);
77    } else {
78        init();
79    }
80
81    // Public API
82    return {
83        register: register,
84        load: processQueue // Manual trigger
85    };
86})();
87
88// Initialize dataLayer early
89window.dataLayer = window.dataLayer || [];
90</script>
90 
90<script>
91LazyScriptLoader.register('gtm', function() {
vendor: 410 bytes, lines 91-100
91
92            (function(w,d,s,l,i){
93        w[l]=w[l]||[];
94        w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
95        var f=d.getElementsByTagName(s)[0],
96            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
97        j.async=true;
98        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
99        f.parentNode.insertBefore(j,f);
100    })(window,document,'script','dataLayer','
100GTM-M8DR5J8
vendor: 13 bytes, lines 100-102
100');
101    
102    
102window.dataLayer.push({
103        'templateCode': 'glasgowgrosvenorhotel'
104                    });
105});
106</script>
106 
106<script>
107LazyScriptLoader.register('gtm-pr', function() {
vendor: 402 bytes, lines 107-116
107
108    (function(w,d,s,l,i){
109        w[l]=w[l]||[];
110        w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
111        var f=d.getElementsByTagName(s)[0],
112            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
113        j.async=true;
114        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
115        f.parentNode.insertBefore(j,f);
116    })(window,document,'script','dataLayer','
116GTM-WTRG5G6
vendor: 4 bytes, line 116
116');
117});
118</script>
118 
118<script>
119LazyScriptLoader.register('ga', function() {
120    const script = document.createElement('script');
121    script.src = 'https://www.googletagmanager.com/gtag/js?id=G-6E3K3S91QV';
122    script.async = true;
123    script.onload = function() {
124        
vendor: 159 bytes, lines 124-127
124window.dataLayer = window.dataLayer || [];
125        function gtag(){dataLayer.push(arguments);}
126        gtag('js', new Date());
127                gtag('config', '
127G-6E3K3S91QV
vendor: 16 bytes, lines 127-128
127');
128            
128};
129    document.head.appendChild(script);
130}, function() {
131    // Check consent for analytics cookies
132            if (typeof CookieMonster === 'undefined') return false;
133        const consent = window.beAcceptedCookiePolicies || '[]';
134        return Array.isArray(consent) && consent.indexOf('analytics') !== -1;
135});
136</script>
136 <link rel="preload" href="https://fonts.profitroom.com/cormorant-garamond/websites/300-400-600.css" as="style"> <link rel="stylesheet" href="https://fonts.profitroom.com/cormorant-garamond/websites/300-400-600.css" media="print" onload="this.media='all'"> <link rel="stylesheet" href="/templates/glasgowgrosvenorhotel/0.3790eb79.css"><link rel="stylesheet" href="/templates/glasgowgrosvenorhotel/app.6feda7a4.css"> <link rel="preload" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/767x880/17082741056012_glasgowgrosvenordeluxeroom02.jpg" as="image" media="(max-width: 767px)"> <link rel="preload" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1023x680/17082741056012_glasgowgrosvenordeluxeroom02.jpg" as="image" media="(max-width: 1023px)"> <link rel="preload" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1366x780/17082741056012_glasgowgrosvenordeluxeroom02.jpg" as="image" media="(max-width: 1366px)"> <link rel="preload" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1920x870/17082741056012_glasgowgrosvenordeluxeroom02.jpg" as="image" media="(min-width: 1366.01px)"> <link rel="canonical" href="https://www.gghotel.co.uk/rooms"/> <link rel="alternate" href="https://www.gghotel.co.uk/rooms" hreflang="en"> <link rel="icon" type="image/png" sizes="16x16" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/17091319022503/favicon16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/17091319022503/favicon32x32.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/17091319022503/favicon180x180.png"> <meta name="format-detection" content="telephone=no"> <meta name="google" content="notranslate"><meta name="description" content="Explore our comfortable rooms and suites at the Glasgow Grosvenor Hotel. From classic doubles to the King One Bedroom Suite — book direct for the best price."><meta property="og:title" content="Hotel Rooms &amp; Suites | Glasgow Grosvenor Hotel"> <meta property="og:description" content="Explore our comfortable rooms and suites at the Glasgow Grosvenor Hotel. From classic doubles to the King One Bedroom Suite — book direct for the best price."> <meta property="og:image" content="https://r.profitroom.pl/glasgowgrosvenorhotel/images/202201201108580.grosvenor_hotel1.jpg"> <meta name="google-site-verification" content="wB8XvTNSvbl1oPnvw496xe8U5qsbOS7U4GYRuBGNlo8" />
vendor: 114 bytes, line 136
136 <script data-cookie-consent="analytics" type="text/plain" async src="https://www.googletagmanager.com/gtag/js?id=
136AW-11561738546
vendor: 12 bytes, line 136
136"></script> 
136<script data-cookie-consent="analytics" type="text/plain" >
137  
vendor: 134 bytes, lines 137-141
137window.dataLayer = window.dataLayer || [];
138  function gtag(){dataLayer.push(arguments);}
139  gtag('js', new Date());
140
141  gtag('config', '
141AW-11561738546
vendor: 4 bytes, line 141
141');
142</script>
142 <meta name="google-site-verification" content="QcjmCPOdtKiMQNjlrKOGc_h_3aDCl7tjKD0iKNpC87c" /> </head> <body class="wa-site site-body wa-headings-color--h wa-paragraph-font wa-global-heading page-rooms en " data-page-id="965b7c73-ca36-4470-9c5e-1847972c84e7" data-site-id="10432" >
vendor: 68 bytes, line 142
142 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
142GTM-M8DR5J8
vendor: 83 bytes, line 142
142" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
142<div class="smoothscroll-container js-smoothscroll-container"> <div class="smoothscroll-container__inner"> <style type="text/css"> .wa-primary-color {color: #216D4C} .wa-primary-color--hover:hover {color: #216D4C} .wa-primary-color--before::before {color: #216D4C} .wa-primary-color--is-active.is-active {color: #216D4C} .wa-primary-border-color {border-color: #216D4C} .wa-primary-border-color--hover:hover {border-color: #216D4C} .wa-primary-border-color--before::before {border-color: #216D4C} .wa-primary-border-color--after::after {border-color: #216D4C} .wa-primary-border-top-color--after::after {border-top-color: #216D4C} .wa-primary-border-bottom-color--before::before {border-bottom-color: #216D4C} .wa-primary-border-bottom-color--after::after {border-bottom-color: #216D4C} .wa-primary-border-color--is-active.is-active {border-color: #216D4C} .wa-primary-background-color {background-color: #216D4C} .wa-primary-background-color--before::before {background-color: #216D4C} .wa-primary-background-color--after::after {background-color: #216D4C} .wa-primary-background-color--hover:hover {background-color: #216D4C} .wa-primary-background-color--is-active--before.is-active::before {background-color: #216D4C} .wa-button-link-primary::after {background-color: #216D4C} .wa-button-link-primary::before {background-color: #216D4C} .swiper-pagination-bullet {background-color: #216D4C} .t-content a:not([href^='tel:']):not([href^='mailto:']):not(.wa-button-link-primary):not(.navigation__subnav-link):not([href$='.pdf']):not([href$='.PDF']) {color:#216D4C} .t-content a[href$='.pdf']::before {color:#216D4C} .wa-secondary-color {color: #F6C296} .wa-secondary-color--is-active.is-active {color: #F6C296} .wa-secondary-color--after::after {color: #F6C296} .wa-secondary-color--hover:hover {color: #F6C296} .wa-secondary-color--before::before {color: #F6C296} .wa-secondary-border-color {border-color: #F6C296} .wa-secondary-border-color--before::before {border-color: #F6C296} .wa-secondary-border-color--after::after {border-color: #F6C296} .wa-secondary-border-color--hover:hover {border-color: #F6C296} .wa-secondary-border-color--hover--before:hover::before {border-color: #F6C296} .wa-secondary-background-color {background-color: #F6C296} .wa-secondary-background-color--before::before {background-color: #F6C296} .wa-secondary-background-color--after::after {background-color: #F6C296} .wa-secondary-background-color--hover:hover {background-color: #F6C296} .wa-secondary-background-color--before--hover::before:hover {background-color: #F6C296} .wa-secondary-background-color--is-active--before.is-active::before {background-color: #F6C296} .wa-secondary-background-color--hover--before:hover::before {background-color: #F6C296} .wa-secondary-background-color--hover--after:hover::after {background-color: #F6C296} .wa-headline-font { font-family: Cormorant Garamond !important} .wa-paragraph-font { font-family: Glacial Indifference !important} .wa-subheadline-font {font-family: Cormorant Garamond} </style> <header class="site-top js-check-scroll js-site-top"> <div class="site-top__main"> <div class="site-top__left"> <div class="site-top__socials site-top__bordered-item"> <div class="socials socials--header"> <ul class="socials__list socials__list--header"> <li class="socials__item socials__item--header"> <a href="https://www.facebook.com/glasgowgrosvenorhotel" rel="nofollow" title="facebook" class="socials__link socials__link--header " target="_blank"> <span class="socials__icon socials__icon--facebook icon icon-facebook "></span> <span class="sr-only">facebook</span> </a> </li> <li class="socials__item socials__item--header"> <a href="https://www.instagram.com/glasgowgrosvenorhotel/" rel="nofollow" title="instagram" class="socials__link socials__link--header " target="_blank"> <span class="socials__icon socials__icon--instagram icon icon-instagram "></span> <span class="sr-only">instagram</span> </a> </li> </ul> </div> </div> </div> <div class="site-top__center"> <div class="site-top__navigation site-top__bordered-item"> <nav class="nav-primary-hld"> <div class="nav-primary-split"> <ul class="nav-primary-split__part nav-primary-split__part--left"> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/the-hotel" > <span class="nav-primary-split__text " data-menu-page="3550375">The Hotel </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link is-active " href="/rooms" > <span class="nav-primary-split__text " data-menu-page="4293629">Rooms </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/offers" > <span class="nav-primary-split__text " data-menu-page="3836973">
142Offers </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/loyalty-club-glasgow-grosvenor-hotel-free-to-join" > <span class="nav-primary-split__text " data-menu-page="4602133">Loyalty </span> </a> </li> </ul> <div class="nav-primary-split__logo-hld"> <a class="nav-primary-split__logo" aria-label="Glasgow Grosvenor Hotel - Homepage" href="/" data-menu-page="4303705"> <img fetchpriority="high" width="160" height="162" src="/templates/glasgowgrosvenorhotel/images/logo-svg.svg" alt="logo Glasgow Grosvenor Hotel"> </a> </div> <ul class="nav-primary-split__part nav-primary-split__part--right"> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/events" > <span class="nav-primary-split__text " data-menu-page="4107115">Events </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/festive-event-programme" > <span class="nav-primary-split__text " data-menu-page="4594409">Festive Parties </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/dining" > <span class="nav-primary-split__text " data-menu-page="4107151">Dining </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/gift-vouchers" > <span class="nav-primary-split__text " data-menu-page="3550359">Vouchers </span> </a> </li> <li class="nav-primary-split__item"> <a class="nav-primary-split__link " href="/contact-us" > <span class="nav-primary-split__text " data-menu-page="3550371">Contact </span> </a> </li> </ul> </div> </nav> </div> <div class="site-top__logo-hld"> <a class="site-top__logo" aria-label="Glasgow Grosvenor Hotel - Homepage" href="/" data-menu-page="4303705"> <img fetchpriority="high" width="160" height="162" src="/templates/glasgowgrosvenorhotel/images/logo-svg.svg" alt="logo Glasgow Grosvenor Hotel"> </a> </div> </div> <div class="site-top__right"> <div class="site-top__language site-top__bordered-item"> <div class="lang-dropdown lang-dropdown--header"> <div class="lang-dropdown__current"> <span class="text">EN</span> </div> </div> </div> <div class="site-top__hamburger"> <div class="site-top__hamburger"> <button class="hamburger js-toggle-menu"> <span class="hamburger__icon-hld"> <span class="hamburger__icon"> <span></span> <span></span> <span></span> </span> </span> <span class="hamburger__text">Menu</span> </button> </div> </div> </div> </div> </header> <header class=" site-top-scroll js-scroll-header js-check-mobile-scroll js-site-top-mobile js-site-top-scroll"> <div class="site-top-scroll__main l-wrapper"> <div class="site-top-scroll__left"> <a class="site-top-scroll__logo" href="/" data-menu-page="4303705"> <img width="40" height="47" class="js-lazy" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="/templates/glasgowgrosvenorhotel/images/sygnet-svg--white.svg" alt="logo Glasgow Grosvenor Hotel"> </a> <div class="site-top-scroll__language"> <div class="lang-dropdown lang-dropdown--header"> <div class="lang-dropdown__current"> <span class="text">EN</span> </div> </div> </div> </div> <div class="site-top-scroll__right"> <div class="site-top-scroll__navigation"> <nav class="nav-primary-hld"> <ul class="nav-primary"> <li class="nav-primary__item"> <a class="nav-primary__link " href="/the-hotel" > <span class="nav-primary__text " data-menu-page="3550375">The Hotel </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link is-active " href="/rooms" > <span class="nav-primary__text " data-menu-page="4293629">Rooms </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/offers" > <span class="nav-primary__text " data-menu-page="3836973">Offers </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/loyalty-club-glasgow-grosvenor-hotel-free-to-join" > <span class="nav-primary__text " data-menu-page="4602133">Loyalty </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/events" > <span class="nav-primary__text " data-menu-page="4107115">Events </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/festive-event-programme" > <span class="nav-primary__text " data-menu-page="4594409">Festive Parties </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/dining" > <span class="nav-primary__text " data-menu-page="4107151">Dining </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/gift-vouchers" > <span class="nav-primary__text " data-menu-page="3550359">Vouchers </span> </a> </li> <li class="nav-primary__item"> <a class="nav-primary__link " href="/contact-us" > <span class="nav-primary__text " data-menu-page="3550371">Contact </span> </a> </li> </ul> </nav> </div> <button class="site-top-scroll__booking-btn site-btn wa-secondary-border-color--hover wa-secondary-color--hover js-open-upper js-open-upper"> <span class="text ">Book online</span> </button> <div class="site-top-scroll__hamburger"> <button class="hamburger js-toggle-menu"> <span class="hamburger__icon-hld"> <span class="hamburger__icon"> <span></span> <span></span> <span></span> </span> </span> <span class="hamburger__text">Menu</span> </button> </div> </div> </div> </header> <div class="slide-menu js-navigation"> <div class="slide-menu__outer"> <div class="slide-menu__top"> <div class="slide-menu__top-left"> <div class="slide-menu__lang"> <div class="lang-dropdown lang-dropdown--slide-menu"> <div class="lang-dropdown__current"> <span class="text">EN</span> </div> </div> </div> </div> <div class="slide-menu__top-right"> <button class="slide-menu-icon js-toggle-menu"> <span class="slide-menu-icon__icon-hld"> <span class="slide-menu-icon__icon"> <span></span> <span></span> </span> </span> </button> </div> </div> <div class="slide-menu__inner"> <nav class="slide-menu__menu"> <ul class="slide-menu__ul js-nav-animation"> <li class="slide-menu__li navigation__li--homepage"> <a class="slide-menu__link wa-headline-font " href="/"> <span class="text">Homepage</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/the-hotel" > <span class="text">The Hotel</span> </a> </li> <li class="slide-menu__li is-active wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/rooms" > <span class="text">Rooms</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/offers" > <span class="text">Offers</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/loyalty-club-glasgow-grosvenor-hotel-free-to-join" > <span class="text">Loyalty</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/events" > <span class="text">Events</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/festive-event-programme" > <span class="text">Festive Parties</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/dining" > <span class="text">Dining</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/gift-vouchers" > <span class="text">Vouchers</span> </a> </li> <li class="slide-menu__li wa-secondary-color--is-active wa-secondary-color--hover"> <a class="slide-menu__link wa-headline-font" href="/contact-us" > <span class="text">Contact</span> </a> </li> </ul> </nav> </div> <div class="slide-menu__bottom"> <div class="slide-menu__bottom-inner"> <div class="slide-menu__socials"> <div class="socials socials--slide-menu"> <ul class="socials__list socials__list--slide-menu"> <li class="socials__item socials__item--slide-menu"> <a href="https://www.facebook.com/glasgowgrosvenorhotel" rel="nofollow" title="facebook" class="socials__link socials__link--slide-menu " target="_blank"> <span class="socials__icon socials__icon--facebook icon icon-facebook "></span> <span class="sr-only">facebook</span> </a> </li> <li class="socials__item socials__item--slide-menu"> <a href="https://www.instagram.com/glasgowgrosvenorhotel/" rel="nofollow" title="instagram" class="socials__link socials__link--slide-menu " target="_blank"> <span class="socials__icon socials__icon--instagram icon icon-instagram "></span> <span class="sr-only">instagram</span> </a> </li> </ul> </div> </div> </div> </div> </div> </div> <div data-component-id='27853713' > <section class="banner js-banner-slider-holder" > <div class="slider-video"> <div class="slider-video__inner swiper-container js-banner-slider"> <div class="swiper-wrapper"> <div class="slider-video__background cvr-pic swiper-slide"> <picture class="cvr-pic"> <source srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/767x880/17082741056012_glasgowgrosvenordeluxeroom02.jpg" media="(max-width: 767px)"> <source srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1023x680/17082741056012_glasgowgrosvenordeluxeroom02.jpg" media="(max-width: 1023px)"> <source srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1366x780/1
1427082741056012_glasgowgrosvenordeluxeroom02.jpg" media="(max-width: 1366px)"> <img class="cvr-pic__img" src="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1920x870/17082741056012_glasgowgrosvenordeluxeroom02.jpg" alt="image" fetchpriority="high"> </picture> </div> <div class="slider-video__background cvr-pic swiper-slide"> <picture class="cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 767px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/767x880/17144906372547_classicguestroom2.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1023px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1023x680/17144906372547_classicguestroom2.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1366px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1366x780/17144906372547_classicguestroom2.jpg"> <img class="js-lazy cvr-pic__img" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1920x870/17144906372547_classicguestroom2.jpg" alt="image"> </picture> </div> <div class="slider-video__background cvr-pic swiper-slide"> <picture class="cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 767px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/767x880/17082741118572_glasgowgrosvenordeluxeroom07.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1023px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1023x680/17082741118572_glasgowgrosvenordeluxeroom07.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1366px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1366x780/17082741118572_glasgowgrosvenordeluxeroom07.jpg"> <img class="js-lazy cvr-pic__img" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1920x870/17082741118572_glasgowgrosvenordeluxeroom07.jpg" alt="image"> </picture> </div> <div class="slider-video__background cvr-pic swiper-slide"> <picture class="cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 767px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/767x880/17144907601146_familyroomv3.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1023px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1023x680/17144907601146_familyroomv3.jpg"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" media="(max-width: 1366px)" data-srcset="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1366x780/17144907601146_familyroomv3.jpg"> <img class="js-lazy cvr-pic__img" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/1920x870/17144907601146_familyroomv3.jpg" alt="image"> </picture> </div> </div> </div> </div> <div class="banner__holder js-fadeup-banner"> <div class="hero "> <div class="hero__content"> <h1 class="hero__title wa-headline-font t-hero-title" > Guest Rooms </h1> <div class="hero__subtitle t-hero-subtitle wa-subheadline-font" > Relaxing stay in a historic hotel </div> </div> <div class="site-panel js-site-panel-month" data-month-name-1="jan" data-month-name-2="feb" data-month-name-3="mar" data-month-name-4="apr" data-month-name-5="may" data-month-name-6="jun" data-month-name-7="jul" data-month-name-8="aug" data-month-name-9="sep" data-month-name-10="oct" data-month-name-11="nov" data-month-name-12="dec"> <div class="site-panel__inner"> <div class="site-panel__box site-panel__box--arrival js-checkin-box "> <div class="site-panel__input-title"> Arrival </div> <div class="site-panel__box-inner"> <span class="site-panel-input wa-secondary-color--hover"> <div class="site-panel-input__date"> 28.09.2026 </div> <div class="site-panel-input__btn"> <span class="icon icon-triangle-down"></span> </div> </span>
142 <input type="hidden" class="js-input-checkin" name="checkin" value="28.09.2026"> </div> </div> <div class="site-panel__box site-panel__box--departure js-checkout-box"> <div class="site-panel__input-title"> Departure </div> <div class="site-panel__box-inner"> <span class="site-panel-input wa-secondary-color--hover"> <div class="site-panel-input__date"> 29.09.2026 </div> <div class="site-panel-input__btn"> <span class="icon icon-triangle-down"></span> </div> </span> <input type="hidden" class="js-input-checkout" name="checkout" value="29.09.2026"> </div> </div> <div class="site-panel__box site-panel__box--guests"> <div class="site-panel__input-title"> Adults </div> <div class="site-panel__box-inner"> <div class="site-panel__guests-hld wa-secondary-color--hover"> <span class="site-panel__change-number js-number-occupancy">2</span> <div class="site-panel__occupancy-controls"> <div class="site-panel__control-arrow site-panel__control-arrow--right js-add-occupancy"> <span class="icon icon-triangle-up"></span> </div> <div class="site-panel__control-arrow site-panel__control-arrow--left js-subtract-occupancy"> <span class="icon icon-triangle-down"></span> </div> </div> </div> <input class="js-value-occupancy js-input-occupancy" type="hidden" name="numguests" value="2"> </div> </div> <div class="site-panel__box site-panel__box--reserve-btn"> <button class="site-panel__button site-btn wa-secondary-border-color--hover wa-secondary-color--hover js-open-upper"> <span class="text wa-paragraph-font">Book online</span> </button> </div> </div> </div> </div> </div> <div class="panel-mobile-three"> <div class="panel-mobile-three__col"> <a class="panel-mobile-three__link" href="/offers"> <span class="text">Offers</span> </a> </div> <div class="panel-mobile-three__col"> <button class="site-btn panel-mobile-three__booking-btn js-open-upper"> <span class="text wa-paragraph-font"> Book online </span> </button> </div> <div class="panel-mobile-three__col"> <a class="panel-mobile-three__link" href="/gallery"> <span class="text">Gallery</span> </a> </div> </div> </section> </div> <div data-component-id='27853715' > <section class="l-section l-section--intro-text"> <div class="l-wrapper "> <div class="intro-text"> <div class="intro-text__content t-section-paragraph t-section-paragraph--big" > <p>The Rooms & Suites at the Glasgow Grosvenor Hotel epitomise sophistication, offering an unparalleled experience in the heart of the city. Each meticulously designed space combines classic elegance with modern amenities, providing a haven of comfort for all travellers.</p> </div> </div> </div> </section> </div> <section class="l-section l-section--rooms-listing"> <div class="l-wrapper"> <div class="rooms-listing__wrap"> <div class="rooms-listing js-filter__load-box"> <div class="loader-box"> <div class="loader-box__loader"> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> <div class="wa-secondary-background-color--after"></div> </div> </div> <div class="rooms-listing__holder"> <a href="https://www.gghotel.co.uk/rooms/double-guest-room" data-menu-page="3836965" class="room-item-horizontal room-item-horizontal--listing js-filter__load-item " data-category="" aria-label="Double Guest Room see details"> <div class="room-item-horizontal__inner "> <div class="room-item-horizontal__img-box "> <div class="room-item-ribbon-hld room-item-ribbon-hld--photo ribbon-hld"> <div class="room-item-ribbon ribbon " style="background-color: #A8A091;"> <span class="text "> Bestseller </span> </div> </div> <div class="room-item-horizontal__img-outer js-room-item-hld "> <picture class="room-item-horizontal__img-hld cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-srcset="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201119080.grosvenor_doubleguestroom1.jpg"/> <img id="room-img-50721" class="room-item-horizontal__img cvr-pic__img js-lazy " src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201119080.grosvenor_doubleguestroom1.jpg" alt="Double Guest Room"> </picture> </div> </div> <div class="room-item-horizontal__text-box "> <div class="room-item-horizontal__title-hld"> <h2 class="room-item-horizontal__title t-section-title t-section-title--small wa-headline-font" role="presentation"> Double Guest Room </h2> </div> <div class="room-item-horizontal__special-info "> <div class="room-item-horizontal__special-info-item "> <span class="icon icon-os" aria-hidden="true"></span> <div class="room-item-horizontal__special-info-text"> <span class="text t-content wa-subheadline-font t-section-subtitle"> Maximum 2 Guests </span> </div> </div> </div> <div class="room-item-horizontal__description t-content t-section-paragraph"> LCD TV, WiFi, work desk and chair Experience a comfortable stay in this stylish room, wit... </div> <div class="room-item-horizontal__buttons "> <button class='room-item-horizontal__booking-btn room-item-horizontal__booking-btn--detail
142s section-btn wa-primary-background-color--before wa-primary-background-color--after' tabindex="-1" aria-hidden="true"> <span class="text " >see the details</span> </button> </div> </div> </div> </a> <a href="https://www.gghotel.co.uk/rooms/double-deluxe-room" data-menu-page="3836967" class="room-item-horizontal room-item-horizontal--listing js-filter__load-item " data-category="" aria-label="Double Deluxe Room see details"> <div class="room-item-horizontal__inner "> <div class="room-item-horizontal__img-box "> <div class="room-item-horizontal__img-outer js-room-item-hld "> <picture class="room-item-horizontal__img-hld cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-srcset="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201116370.grosvenor_doubledeluxe1.jpg"/> <img id="room-img-50723" class="room-item-horizontal__img cvr-pic__img js-lazy " src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201116370.grosvenor_doubledeluxe1.jpg" alt="Double Deluxe Room"> </picture> </div> </div> <div class="room-item-horizontal__text-box "> <div class="room-item-horizontal__title-hld"> <h2 class="room-item-horizontal__title t-section-title t-section-title--small wa-headline-font" role="presentation"> Double Deluxe Room </h2> </div> <div class="room-item-horizontal__special-info "> <div class="room-item-horizontal__special-info-item "> <span class="icon icon-os" aria-hidden="true"></span> <div class="room-item-horizontal__special-info-text"> <span class="text t-content wa-subheadline-font t-section-subtitle"> Maximum 2 Guests </span> </div> </div> </div> <div class="room-item-horizontal__description t-content t-section-paragraph"> Botanic Gardens view, period feature windows, more space, LCD TV, WiFi Take in charming v... </div> <div class="room-item-horizontal__buttons "> <button class='room-item-horizontal__booking-btn room-item-horizontal__booking-btn--details section-btn wa-primary-background-color--before wa-primary-background-color--after' tabindex="-1" aria-hidden="true"> <span class="text " >see the details</span> </button> </div> </div> </div> </a> <a href="https://www.gghotel.co.uk/rooms/two-double-bed-family-room" data-menu-page="3836969" class="room-item-horizontal room-item-horizontal--listing js-filter__load-item " data-category="" aria-label="Two Double Bed Family Room see details"> <div class="room-item-horizontal__inner "> <div class="room-item-horizontal__img-box "> <div class="room-item-horizontal__img-outer js-room-item-hld "> <picture class="room-item-horizontal__img-hld cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-srcset="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201121470.grosvenor_familiyroom1.jpg"/> <img id="room-img-50725" class="room-item-horizontal__img cvr-pic__img js-lazy " src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201121470.grosvenor_familiyroom1.jpg" alt="Two Double Bed Family Room"> </picture> </div> </div> <div class="room-item-horizontal__text-box "> <div class="room-item-horizontal__title-hld"> <h2 class="room-item-horizontal__title t-section-title t-section-title--small wa-headline-font" role="presentation"> Two Double Bed Family Room </h2> </div> <div class="room-item-horizontal__special-info "> <div class="room-item-horizontal__special-info-item "> <span class="icon icon-os" aria-hidden="true"></span> <div class="room-item-horizontal__special-info-text"> <span class="text t-content wa-subheadline-font t-section-subtitle"> Maximum 4 Guests </span> </div> </div> </div> <div class="room-item-horizontal__description t-content t-section-paragraph"> 2 double beds, more space, high floor, city view, larger bathroom, LCD TV, complimentary W... </div> <div class="room-item-horizontal__buttons "> <button class='room-item-horizontal__booking-btn room-item-horizontal__booking-btn--details section-btn wa-primary-background-color--before wa-primary-background-color--after' tabindex="-1" aria-hidden="true"> <span class="text " >see the details</span> </button> </div> </div> </div> </a> <a href="https://www.gghotel.co.uk/rooms/king-one-bedroom-suite" data-menu-page="3836971" class="room-item-horizontal room-item-horizontal--listing js-filter__load-item " data-category="" aria-label="King One Bedroom Suite see details"> <div class="room-item-horizontal__inner "> <div class="room-item-horizontal__img-box "> <div class="room-item-horizontal__img-outer js-room-item-hld "> <picture class="room-item-horizontal__img-hld cvr-pic"> <source srcset="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-srcset="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201125550.grosvenor_suite3.jpg"/> <img id="room-img-50727" class="room-item-horizontal__img cvr-pic__img js-lazy " src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="https://r.profitroom.com/glasgowgrosvenorhotel/images/rooms/202201201125550.grosvenor_suite3.jpg" alt="King One Bedroom Suite"> </picture> </div> </div> <div class="room-item-horizontal__text-box "> <div class="room-item-horizontal__title-hld"> <h2 class="room-item-horizontal__title t-section-title t-section-title--small wa-headline-font" role="presentation"> King One Bedroom Suite </h2> </div> <div class="room-item-horizontal__special-info "> <div class="room-item-horizontal__special-info-item "> <span class="icon icon-os" aria-hidden="true"></span> <div class="room-item-horizontal__special-info-text"> <span class="text t-content wa-subheadline-font t-section-subtitle"> Maximum 2 Guests </span> </div> </div> </div> <div class="room-item-horizontal__description t-content t-section-paragraph"> Separate living/dining area, sofa, city view, bathrobes, complimentary water and wifi Exp... </div> <div class="room-item-horizontal__buttons "> <button class='room-item-horizontal__booking-btn room-item-horizontal__booking-btn--detail
142s section-btn wa-primary-background-color--before wa-primary-background-color--after' tabindex="-1" aria-hidden="true"> <span class="text " >see the details</span> </button> </div> </div> </div> </a> </div> </div> </div> </div> </section> <div data-component-id='27853717' > <section class="l-section l-section--highlighters"> <div class="l-wrapper"> <div class="highlighters__decor"> <img class="cvr-pic__img js-lazy" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="/templates/glasgowgrosvenorhotel/images/decor-2.svg" alt=""> </div> <h2 class="highlighters__title t-section-title wa-headline-font" > thank you for your booking </h2> <div class="highlighters__item-list " > <div class="highlighters__item highlighters__item--count-3 highlighters__item--count-3 "> <div data-component-id='27853719' > <div class="highlighters-item highlighters-item--count-3"> <div class="highlighters-item__top-holder"> <div class="highlighters-item__icon-hld " > <span class="highlighters-item__icon icon glasgowgrosvenorhotel-icon-percent " aria-hidden="true"></span> </div> <p class="highlighters-item__title wa-subheadline-font" > Lowest price </p> </div> <div class="highlighters-item__description t-section-paragraph" > <p>Only on our website</p> </div> </div> </div> </div> <div class="highlighters__item highlighters__item--count-3 highlighters__item--count-3 "> <div data-component-id='27853721' > <div class="highlighters-item highlighters-item--count-3"> <div class="highlighters-item__top-holder"> <div class="highlighters-item__icon-hld " > <span class="highlighters-item__icon icon glasgowgrosvenorhotel-icon-card " aria-hidden="true"></span> </div> <p class="highlighters-item__title wa-subheadline-font" > Confirmation </p> </div> <div class="highlighters-item__description t-section-paragraph" > <p>Immediate confirmation</p> </div> </div> </div> </div> <div class="highlighters__item highlighters__item--count-3 highlighters__item--count-3 "> <div data-component-id='27853723' > <div class="highlighters-item highlighters-item--count-3"> <div class="highlighters-item__top-holder"> <div class="highlighters-item__icon-hld " > <span class="highlighters-item__icon icon glasgowgrosvenorhotel-icon-security " aria-hidden="true"></span> </div> <p class="highlighters-item__title wa-subheadline-font" > Security </p> </div> <div class="highlighters-item__description t-section-paragraph" > <p>Security of transactions</p> </div> </div> </div> </div> </div> </div> </section> </div> <footer> <div class="footer-with-newsletter"> <div class="footer-with-newsletter__top l-wrapper"> <div class="footer-with-newsletter__col footer-with-newsletter__col--info"> <div class="footer-with-newsletter__adress-hld"> <div class="footer-with-newsletter__adress wa-subheadline-font t-footer-title"> <div class="footer-with-newsletter__adress-row"> <span class="text"> 1-9 Grosvenor Terrace </span> </div> <div class="footer-with-newsletter__adress-row"> <span class="text"> G12 0TA </span> <span class="text"> Glasgow </span> <span class="text"> GB </span> </div> </div> <div class="footer-with-navigation__find-us"> <div data-component-id='17291083' > <div class="footer-with-newsletter__link"> <a class="footer-navigation__link footer-navigation__link--underline" href='https://maps.app.goo.gl/XRWunVFUKk9gaG6z6' target='_blank' > <span > Find us </span> </a> </div> </div> </div> </div> <div class="footer-with-newsletter__navigation-hld"> <div data-component-id='17291037' > <div class="footer-navigation"> <ul class="footer-navigation__list" > <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/offers"> Offers </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/gallery"> Gallery </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link is-active" href="/rooms"> Rooms </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/dining"> Dining </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/gift-vouchers">
142 Vouchers </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/events"> Events </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/attractions"> Attractions </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/contact-us"> Contact </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/guest-reviews"> Guest Reviews </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/terms-conditions"> Terms &amp; Conditions </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/17388524621113_Environmental%20Sustainability%20Policy%20Glasgow%20Grosvenor%20Hotel.pdf"> Sustainability </a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="https://wa-uploads.profitroom.com/glasgowgrosvenorhotel/17483625218732_Accessibility-guide.pdf"> Accessibility </a> </li> </ul> </div> </div> </div> </div> <div class="footer-with-newsletter__col footer-with-newsletter__col--nav-first"> <div class="footer-with-newsletter__contact"> <div class="footer-with-newsletter__contact-hld"> <a class="footer-with-newsletter__link footer-with-newsletter__link--email wa-subheadline-font t-footer-title" href="mailto:[email protected]" title="[email protected]"> <span class="text">[email protected]</span> </a> <a class="footer-with-newsletter__link footer-with-newsletter__link--contact" href="tel:+441413398811"> <span class="icon icon-phone"></span> <span class="text">+441413398811</span> </a> </div> <div class="footer-with-newsletter__socials-hld"> <div class="socials socials--footer"> <ul class="socials__list socials__list--footer"> <li class="socials__item socials__item--footer"> <a href="https://www.facebook.com/glasgowgrosvenorhotel" rel="nofollow" title="facebook" class="socials__link socials__link--footer wa-primary-color" target="_blank"> <span class="socials__icon socials__icon--facebook icon icon-facebook wa-primary-color"></span> <span class="sr-only">facebook</span> </a> </li> <li class="socials__item socials__item--footer"> <a href="https://www.instagram.com/glasgowgrosvenorhotel/" rel="nofollow" title="instagram" class="socials__link socials__link--footer wa-primary-color" target="_blank"> <span class="socials__icon socials__icon--instagram icon icon-instagram wa-primary-color"></span> <span class="sr-only">instagram</span> </a> </li> </ul> </div> </div> </div> <div class="footer-with-newsletter__newsletter-hld"> <div class="newsletter js-newsletter-holder" data-token="/contact/token" data-request="/contact/newsletter?lang=en" data-policy-title="Confirm sending the form" data-policy-info="By clicking the &quot;CONFIRM&quot; button, you agree to the processing of your personal data in order to process your inquiry" data-button-confirm="Confirm" data-button-cancel="Cancel" data-success-title="Confirm your registration" data-success-info="Check your mail. We have sent you a message asking you to confirm your e-mail address." data-server-error-title="Server error" data-server-error-info="Sorry, we can&#039;t process this application right now, reapply later" data-token-error-title="Problem occurred" data-token-error-info="Please send the form again" data-spam-error-title="Spam detected" data-spam-error-info="The message has not been sent" data-valid-error-title="The form contains errors" data-valid-error-field="Field" data-not-valid-email="has an invalid format" data-cannot-empty="shouldn&#039;t be empty" data-connect-error="Connection error has occurred" data-already-added-text="This e-mail address already subscribes to the newsletter." data-already-added-error-title="newsletter.already_added_error_title" data-captcha-error-title="Captcha validation failed" data-captcha-error-setup="Captcha is not set up correctly. Please contact the site administrator." data-captcha-error-validation="Captcha validation failed. Please try again." data-consent-url="/contact/newsletter/consent?lang=en" > <div class="newsletter__text-box"> <span class="newsletter__title t-footer-title wa-subheadline-font"> <div class="text">Subscribe to our newsletter</div> </span> </div> <div class="newsletter__form-box"> <form class="newsletter-form js-newsletter-form" action="#"> <div class="newsletter-form__inner"> <input class="js-newsletter__value newsletter-form__input wa-paragraph-font" type="email" name="email" data-name="E-mail" placeholder="Enter your e-mail*" required> <input class="js-newsletter__value newsletter-form__input" type="text" name="name321" placeholder="name" value="" autocomplete="off"> <button class="newsletter-form__button" type="submit" name="submit" aria-label="Sign up"> <span class="icon icon-arrow-2"></span> </button> </div> </form> </div> </div> </div> <div class="footer-with-newsletter__bottom"> <div class="footer-with-newsletter__row-bottom-left"> <div class="footer-with-newsletter__copy">&copy;
142 Copyright 2023, 7 Hospitality Management Ltd.</div> <div data-component-id='17291041' > <div class="footer-navigation footer-navigation--bottom"> <ul class="footer-navigation__list footer-navigation__list--horizontal" > <li class="footer-navigation__item"> <a class="footer-navigation__link footer-navigation__link--underline " href="/privacy-policy"> Privacy Policy</a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link footer-navigation__link--underline manageCookieSettings" style="cursor:pointer;" onclick="openCookieModal();">Cookies settings</a> </li> </ul> </div> </div> <span class="created__info"> <span class="created__text">Created by: </span> <a class="created__link" href="https://www.profitroom.com" target="_blank" rel="nofollow"> <span class="icon icon-profitroom wa-primary-color"></span> </a> </span> </div> <div class="footer-with-newsletter__row-bottom-right"> <a class="footer-with-newsletter__logo" href="/" data-menu-page="4303705"> <img width="40" height="47" class="js-lazy" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="/templates/glasgowgrosvenorhotel/images/sygnet-svg.svg" alt="logo Glasgow Grosvenor Hotel"> </a> <img width="60" height="75" class="footer-with-newsletter__logo green-tourism-silver js-lazy" src="/templates/glasgowgrosvenorhotel/images/img-blank.gif" data-src="/templates/glasgowgrosvenorhotel/images/Green-tourism-silver.jpg" alt="logo"/> </div> </div> </div> </div> </div> </footer> </div> </div> 
142<script>
143    /* Global helper for inline JS (twig templates, onclick handlers) to get consent params */
144    window.__getConsentData = function() {
145        if (!window.__cookieMonster || !window.__cookieMonster.getConsentParams) return {};
146        var consentParams = window.__cookieMonster.getConsentParams();
147        if (!consentParams) return {};
148        var params = new URLSearchParams(consentParams);
149        var result = {};
150        var tcf = params.get('tcf');
151        var cs = params.get('cs');
152        if (tcf) result.tcf = tcf;
153        if (cs) result.cs = cs;
154        return result;
155    };
156
157    /* CRITICAL: 100+ footer templates call openCookieModal() via onclick handlers */
158    /* e.g. <a class="manageCookieSettings" onclick="openCookieModal()"> */
159    window.openCookieModal = function() {
160        if (window.__cookieMonster) {
161            window.__cookieMonster.displaySettings();
162        }
163    };
164
165    /* NOTE: v1 acceptOnlyRequiredCookies() and _acceptCookiesPolicy() are NOT reimplemented.
166       cookie-monster v2 Accept/Reject buttons handle the full consent pipeline internally
167       (writes all 3 cookies, updates GCM, dispatches events). The v1 setConsent() only writes
168       the legacy cookie and would create inconsistent state. */
169
170    /* Fires when: (1) returning visitor — consent loaded from cookies during render()
171                   (2) new consent — user clicks Accept/Reject/Save in cookie-monster UI */
172    document.addEventListener('cookie-monster:cookie-exists', function() {
173        var consent = window.__cookieMonster ? window.__cookieMonster.getConsent() : '';
174        var categories = consent ? consent.split(',') : [];
175
176        /* Synchronous global for hotel scripts that check window.beAcceptedCookiePolicies */
177        window.beAcceptedCookiePolicies = categories;
178
179        /* localStorage compat for cross-tab sync indication (v1 uses `acceptedCategories` key) */
180        try {
181            localStorage.setItem('cookiesManager', JSON.stringify({ acceptedCategories: categories }));
182        } catch(e) {}
183
184        /* Push to GTM dataLayer — matches BE7/Upper6 format for cross-product consistency.
185           v1 only pushed {event, cookieConsentCategory}; v2 adds consentState, tcfString,
186           compactConsent (same as BE7 determineDataForCookieConsent) */
187        window.dataLayer = window.dataLayer || [];
188        var dataLayerEntry = {
189            'event': 'cookieConsent',
190            'cookieConsentCategory': categories
191        };
192        if (window.__cookieMonster) {
193            /* Per-vendor consent state (e.g. {"755": {"1": true, "2": false}}) */
194            var consentState = window.__cookieMonster.getConsentState ? window.__cookieMonster.getConsentState() : null;
195            if (consentState) {
196                dataLayerEntry.consentState = consentState;
197            }
198            /* TCF string + compact consent for cross-domain transfer */
199            var consentParams = window.__cookieMonster.getConsentParams ? window.__cookieMonster.getConsentParams() : null;
200            if (consentParams) {
201                var params = new URLSearchParams(consentParams);
202                var tcf = params.get('tcf');
203                var cs = params.get('cs');
204                if (tcf) dataLayerEntry.tcf = tcf;
205                if (cs) dataLayerEntry.cs = cs;
206            }
207        }
208        window.dataLayer.push(dataLayerEntry);
209
210        /* Activate scripts gated by consent category */
211        loadScriptsForConsent(categories);
212
213        /* Dispatch events for hotel scripts.
214           v1 sends CustomEvent with detail.acceptedCategories — must match */
215        window.dispatchEvent(new CustomEvent('success-save-cookies', {
216            detail: { acceptedCategories: categories }
217        }));
218        window.dispatchEvent(new CustomEvent('load-cookies'));
219
220        /* Legacy GA activation hook (some hotel templates define window.activateGA) */
221        if (typeof window.activateGA === 'function') {
222            window.activateGA();
223        }
224    });
225
226    /* Activate type="text/plain" scripts that match accepted consent categories.
227       Hotels use this pattern: 
227<script type="text/plain" data-cookie-consent="marketing" src="...">
228       When marketing category is accepted, the script is cloned as type="text/javascript" to execute. */
229    function loadScriptsForConsent(acceptedCategories) {
230        var scripts = document.querySelectorAll('script[data-cookie-consent][type="text/plain"]');
231        scripts.forEach(function(script) {
232            var category = script.getAttribute('data-cookie-consent');
233            if (acceptedCategories.indexOf(category) !== -1) {
234                var newScript = document.createElement('script');
235                /* Copy ALL attributes from original (async, defer, data-*, id, crossorigin, etc.) */
236                Array.from(script.attributes).forEach(function(attr) {
237                    newScript.setAttribute(attr.name, attr.value);
238                });
239                /* Override type from "text/plain" to "text/javascript" to enable execution */
240                newScript.type = 'text/javascript';
241                /* Copy inline content if no src */
242                if (!script.src) {
243                    newScript.textContent = script.textContent;
244                }
245                script.parentNode.insertBefore(newScript, script.nextSibling);
246                script.parentNode.removeChild(script);
247            }
248        });
249    }
250
251    /* Necessary scripts are strictly-necessary (GDPR) — they must run for every visitor
252       without consent. cookie-monster v2 lazy-inits on first user interaction, so the
253       cookie-monster:cookie-exists handler above can't be relied on to activate them.
254       Activate them here as soon as the DOM is ready, independent of consent state.
255       Once converted to text/javascript they no longer match loadScriptsForConsent's
256       [type="text/plain"] selector, so there is no double execution. */
257    function activateNecessaryScripts() {
258        loadScriptsForConsent(['necessary']);
259    }
260
261    if (document.readyState === 'loading') {
262        document.addEventListener('DOMContentLoaded', activateNecessaryScripts);
263    } else {
264        activateNecessaryScripts();
265    }
266</script>
266 <link rel="stylesheet" href="/cookie-monster/legacy.css?v=v3.41.22" media="print" onload="this.media='all'"> 
266<script src="/cookie-monster/legacy.js?v=v3.41.22" defer></script>
266 <style> .cm-container { --cm-primary-color: #216D4C; --cm-primary-hover: #216D4C; } </style> 
266<script>
267    window.addEventListener('load', function() {
268
269        const init = () => {
270            if (window.__cookieMonster) return;
271            if (typeof CookieMonster !== 'undefined') {
272                window.__cookieMonster = new CookieMonster(
273                    "glasgowgrosvenorhotel",
274                    {
275                        locale: "en",
276                        legalName: "Nicol\u0027s\u0020Worsteds\u0020Limited",
277                                                mode: "config",
278                        vendorConfig: {"siteKey":"glasgowgrosvenorhotel","gvlVersion":172,"categories":["necessary","analytics","marketing"],"vendors":[{"id":646,"name":"Profitroom","category":"analytics","gvlId":null,"policyUrl":"https:\/\/profitroom.com\/privacy-policy","isRequired":true,"purposes":[1,2,7,8,10]}],"purposes":{"1":{"category":"necessary","name":"Store and\/or access information on a device","description":"Cookies, device or similar online identifiers (e.g. login-based identifiers, randomly assigned identifiers, network based identifiers) together with other information (e.g. browser type and information, language, screen size, supported technologies etc.) can be stored or read on your device to recognise it each time it connects to an app or to a website, for one or several of the purposes presented here."},"2":{"category":"marketing","name":"Use limited data to select advertising","description":"Advertising presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type or which content you are (or have been) interacting with (for example, to limit the number of times an ad is presented to you)."},"3":{"category":"marketing","name":"Create profiles for personalised advertising","description":"Information about your activity on this service (such as forms you submit, content you look at) can be stored and combined with other information about you (for example, information from your previous activity on this service and other websites or apps) or similar users. This is then used to build or improve a profile about you (that might include possible interests and personal aspects). Your profile can be used (also later) to present advertising that appears more relevant based on your possible interests by this and other entities."},"4":{"category":"marketing","name":"Use profiles to select personalised advertising","description":"Advertising presented to you on this service can be based on your advertising profiles, which can reflect your activity on this service or other websites or apps (like the forms you submit, content you look at), possible interests and personal aspects."},"5":{"category":"marketing","name":"Create profiles to personalise content","description":"Information about your activity on this service (for instance, forms you submit, non-advertising content you look at) can be stored and combined with other information about you (such as your previous activity on this service or other websites or apps) or similar users. This is then used to build or improve a profile about you (which might for example include possible interests and personal aspects). Your profile can be used (also later) to present content that appears more relevant based on your possible interests, such as by adapting the order in which content is shown to you, so that it is even easier for you to find content that matches your interests."},"6":{"category":"marketing","name":"Use profiles to select personalised content","description":"Content presented to you on this service can be based on your content personalisation profiles, which can reflect your activity on this or other services (for instance, the forms you submit, content you look at), possible interests and personal aspects. This can for example be used to adapt the order in which content is shown to you, so that it is even easier for you to find (non-advertising) content that matches your interests."},"7":{"category":"analytics","name":"Measure advertising performance","description":"Information regarding which advertising is presented to you and how you interact with it can be used to determine how well an advert has worked for you or other users and whether the goals of the advertising were reached. For instance, whether you saw an ad, whether you clicked on it, whether it led y
278ou to buy a product or visit a website, etc. This is very helpful to understand the relevance of advertising campaigns."},"8":{"category":"analytics","name":"Measure content performance","description":"Information regarding which content is presented to you and how you interact with it can be used to determine whether the (non-advertising) content e.g. reached its intended audience and matched your interests. For instance, whether you read an article, watch a video, listen to a podcast or look at a product description, how long you spent on this service and the web pages you visit etc. This is very helpful to understand the relevance of (non-advertising) content that is shown to you."},"9":{"category":"marketing","name":"Understand audiences through statistics or combinations of data from different sources","description":"Reports can be generated based on the combination of data sets (like user profiles, statistics, market research, analytics data) regarding your interactions and those of other users with advertising or (non-advertising) content to identify common characteristics (for instance, to determine which target audiences are more receptive to an ad campaign or to certain contents)."},"10":{"category":"analytics","name":"Develop and improve services","description":"Information about your activity on this service, such as your interaction with ads or content, can be very helpful to improve products and services and to build new products and services based on user interactions, the type of audience, etc. This specific purpose does not include the development or improvement of user profiles and identifiers."},"11":{"category":"marketing","name":"Use limited data to select content","description":"Content presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type, or which content you are (or have been) interacting with (for example, to limit the number of times a video or an article is presented to you)."}},"specialFeatures":{"1":{"category":"marketing","name":"Use precise geolocation data","description":"With your acceptance, your precise location (within a radius of less than 500 metres) may be used in support of the purposes explained in this notice."},"2":{"category":"marketing","name":"Identify devices based on information actively requested","description":"With your acceptance, certain characteristics specific to your device might be requested and used to distinguish it from other devices (such as the installed fonts or plugins, the resolution of your screen) in support of the purposes explained in this notice."}},"consentTextOverrides":{"necessary":null,"marketing":null,"analytics":null,"main":null}},
279                                            }
280                );
281
282                const defaultDisabledParams = {
283                    setDefaults: false,
284                };
285
286                window.__cookieMonster.render(defaultDisabledParams);
287            }
288        };
289
290        ['mouseover', 'scroll', 'touchstart', 'resize'].forEach(e => window.addEventListener(e, init, {once: true}));
291    });
292</script>
292 
292<script id="translations-data" type="application/json">
293	{
294	        "prevSlide": "Previous slide",
295	        "nextSlide": "Next slide",
296	        "paginationNext": "Slide to number",
297	        "firstSlide": "First slide",
298	        "lastSlide": "Last slide",
299	        "contrastActivate": "Activate high contrast mode",
300	        "contrastDeactivate": "Deactivate high contrast mode",
301	        "changeTheContrast": "a11y.change_the_contrast",
302			"contrastMode": "High contrast mode",
303	        "moreInformations": "More"
304	    }
305</script>
305 
305<script src="/templates/glasgowgrosvenorhotel/runtime.a97fdb09.js"></script>
305<script src="/templates/glasgowgrosvenorhotel/0.03ed5290.js"></script>
305<script src="/templates/glasgowgrosvenorhotel/app.4c0bc4c6.js"></script>
305 
305<script src="/templates/glasgowgrosvenorhotel/mixpicker/locale/en.min.js"></script>
305 
305<script defer src="//open.upperbooking.com/glasgowgrosvenorhotel/Booking.min.js?locale=en"></script>
305 
305<script>
306    document.addEventListener('DOMContentLoaded', function () {
307
308        if (window.matchMedia("(max-width: 768px)").matches) {
309            return;
310        };
311
312        const today = new Date();
313        const tomorrow = new Date();
314        tomorrow.setDate(today.getDate() + 1);
315
316        const formatDateWithZero = (str) => {
317            return String(str).padStart(2, '0');
318        };
319
320        const formatDate = (date) => {
321            const day = formatDateWithZero(date.getDate());
322            const month = formatDateWithZero(date.getMonth() + 1);
323            const year = date.getFullYear();
324            return `${day}.${month}.${year}`;
325        };
326
327        const getMonthName = (date) => {
328            const monthIndex = date.getMonth();
329            if (monthTranslations.length > 0) {
330                return monthTranslations[monthIndex];
331            } else {
332                return formatDateWithZero(date.getMonth() + 1);
333            }
334        };
335
336        const calcDatePatternSeparator = (inputValue) => {
337            if (inputValue.length === 0) return '';
338            const lastChar = inputValue.charAt(inputValue.length - 1);
339
340            return /\p{L}|\p{N}|\s/u.test(lastChar) ? '' : lastChar;
341        };
342
343        const updateDate = (input, boxSelector, date) => {
344            const box = input.closest(boxSelector);
345            if (!box) return;
346
347            const useShortYear = box.hasAttribute('data-short-year');
348            input.value = formatDate(date);
349
350            const dayElement = box.querySelector('.js-input-hld__day-number');
351            const monthElement = box.querySelector('.js-input-hld__month');
352            const yearElement = box.querySelector('.js-input-hld__year');
353
354            if (dayElement)
355                dayElement.textContent = formatDateWithZero(date.getDate()) + calcDatePatternSeparator(dayElement.textContent);
356
357            if (monthElement)
358                monthElement.textContent = getMonthName(date) + calcDatePatternSeparator(monthElement.textContent);
359
360            if (yearElement) {
361                yearElement.textContent = (useShortYear ? String(date.getFullYear()).slice(-2) : date.getFullYear()) + calcDatePatternSeparator(yearElement.textContent);
362            }
363        };
364
365        const panelElement = document.querySelector('.js-site-panel-month');
366        const monthTranslations = [];
367
368        if (panelElement && document.documentElement.lang !== 'ar') {
369            for (let i = 1; i <= 12; i++) {
370                const monthName = panelElement.getAttribute(`data-month-name-${i}`) ||
371                                panelElement.querySelector(`[data-month-name-${i}]`)?.getAttribute(`data-month-name-${i}`);
372
373                if (monthName) {
374                    monthTranslations.push(monthName);
375                } else {
376                    break;
377                }
378            }
379        };
380
381        const checkinInputs = document.querySelectorAll('.js-input-checkin');
382        const checkoutInputs = document.querySelectorAll('.js-input-checkout');
383
384        checkinInputs.forEach((input) => {
385            updateDate(input, '.js-checkin-box', today);
386        });
387
388        checkoutInputs.forEach((input) => {
389            updateDate(input, '.js-checkout-box', tomorrow);
390        });
391    });
392</script>
392 <link rel="stylesheet" href="/templates/glasgowgrosvenorhotel/icon-packages/glasgowgrosvenorhotel-icon/style.4ca10e2a.css"> 
392<script type="application/ld+json">
393            {"@context":"https:\/\/schema.org","@type":"Hotel","name":"Glasgow Grosvenor Hotel","url":"https:\/\/www.gghotel.co.uk\/rooms","address":{"@type":"PostalAddress","streetAddress":"1-9 Grosvenor Terrace","addressLocality":"Glasgow","postalCode":"G12 0TA","addressCountry":"GB"},"geo":{"@type":"GeoCoordinates","latitude":55.8779297,"longitude":-4.2912426},"telephone":"+441413398811","email":"[email protected]","image":"https:\/\/r.profitroom.pl\/glasgowgrosvenorhotel\/images\/202201201108580.grosvenor_hotel1.jpg","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/glasgowgrosvenorhotel\/images\/202201201134300.grosvenor_logo1.jpg"}}
394        </script>
394 
394<script type="application/ld+json">
395            {"@context":"https:\/\/schema.org","@type":"ItemList","url":"https:\/\/www.gghotel.co.uk\/rooms","numberOfItems":4,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"HotelRoom","name":"Double Guest Room","url":"https:\/\/www.gghotel.co.uk\/rooms\/double-guest-room","description":"LCD TV, WiFi, work desk and chair\r\nExperience a comfortable stay in this stylish room, with one double bed. Unwind and watch ...","image":"https:\/\/r.profitroom.com\/glasgowgrosvenorhotel\/images\/rooms\/202201201119080.grosvenor_doubleguestroom1.jpg","occupancy":{"@type":"QuantitativeValue","maxValue":2,"minValue":1}}},{"@type":"ListItem","position":2,"item":{"@type":"HotelRoom","name":"Double Deluxe Room","url":"https:\/\/www.gghotel.co.uk\/rooms\/double-deluxe-room","description":"Botanic Gardens view, period feature windows, more space, LCD TV, WiFi\r\nTake in charming views of the Botanic Gardens from th...","image":"https:\/\/r.profitroom.com\/glasgowgrosvenorhotel\/images\/rooms\/202201201116370.grosvenor_doubledeluxe1.jpg","occupancy":{"@type":"QuantitativeValue","maxValue":2,"minValue":1}}},{"@type":"ListItem","position":3,"item":{"@type":"HotelRoom","name":"Two Double Bed Family Room","url":"https:\/\/www.gghotel.co.uk\/rooms\/two-double-bed-family-room","description":"2 double beds, more space, high floor, city view, larger bathroom, LCD TV, complimentary WiFi\r\nWith two double beds, this roo...","image":"https:\/\/r.profitroom.com\/glasgowgrosvenorhotel\/images\/rooms\/202201201121470.grosvenor_familiyroom1.jpg","occupancy":{"@type":"QuantitativeValue","maxValue":4,"minValue":1},"additionalProperty":[{"@type":"PropertyValue","name":"Maximum extra beds","value":1}]}},{"@type":"ListItem","position":4,"item":{"@type":"HotelRoom","name":"King One Bedroom Suite","url":"https:\/\/www.gghotel.co.uk\/rooms\/king-one-bedroom-suite","description":"Separate living\/dining area, sofa, city view, bathrobes, complimentary water and wifi\r\nExperience the ultimate stay in this s...","image":"https:\/\/r.profitroom.com\/glasgowgrosvenorhotel\/images\/rooms\/202201201125550.grosvenor_suite3.jpg","occupancy":{"@type":"QuantitativeValue","maxValue":2,"minValue":1}}}]}
396        </script>
396 
396<script>
vendor: 327 bytes, lines 396-400
396(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
397new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
398j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
399'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
400})(window,document,'script','dataLayer','
400GTM-T446LDBK
vendor: 3 bytes, line 400
400');
400</script>
vendor: 68 bytes, line 400
400 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
400GTM-T446LDBK
vendor: 83 bytes, line 400
400" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
400<script>
401
402    dataLayer.push({'sitekey': 'glasgowgrosvenorhotel'});
403
404</script>
404 
404<script>
405
406document.addEventListener('DOMContentLoaded', () => {
407
408var script = document.createElement('script');
409
410    script.src = 'https://profitroom-livechat.fra1.digitaloceanspaces.com/widget-loader.js?siteKey=glasgowgrosvenorhotel';
411
412    document.head.appendChild(script);
413
414})
415
416</script>
416 </body> </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.