PageSourceSearch

https://www.apogeehotel.co.za/events

html apogeehotel.co.za collected 2026-09-30 16:52:56 UTC 93,469 bytes, 658 lines download raw bytes

1<!DOCTYPE html> <html itemscope itemtype="https://schema.org/WebPage" lang="en" data-page-type="events"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1"><title>Hotel Events in Pretoria | Apogee Boutique Hotel &amp; Spa</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"> <link rel="stylesheet" href="/templates/paris/9.e0239737.css"><link rel="stylesheet" href="/templates/paris/app.94fce9b0.css"> 
vendor: 1,642 bytes, lines 1-3
1<script>
2    !function(e){var n;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var t=window.Cookies,o=window.Cookies=e();o.noConflict=function(){return window.Cookies=t,o}}}(function(){function f(){for(var e=0,n={};e<arguments.length;e++){var t=arguments[e];for(var o in t)n[o]=t[o]}return n}function a(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function e(u){function c(){}function t(e,n,t){if("undefined"!=typeof document){"number"==typeof(t=f({path:"/"},c.defaults,t)).expires&&(t.expires=new Date(1*new Date+864e5*t.expires)),t.expires=t.expires?t.expires.toUTCString():"";try{var o=JSON.stringify(n);/^[\{\[]/.test(o)&&(n=o)}catch(e){}n=u.write?u.write(n,e):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=encodeURIComponent(String(e)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var r="";for(var i in t)t[i]&&(r+="; "+i,!0!==t[i]&&(r+="="+t[i].split(";")[0]));return document.cookie=e+"="+n+r}}function n(e,n){if("undefined"!=typeof document){for(var t={},o=document.cookie?document.cookie.split("; "):[],r=0;r<o.length;r++){var i=o[r].split("="),c=i.slice(1).join("=");n||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var f=a(i[0]);if(c=(u.read||u)(c,f)||a(c),n)try{c=JSON.parse(c)}catch(e){}if(t[f]=c,e===f)break}catch(e){}}return e?t[e]:t}}return c.set=t,c.get=function(e){return n(e,!1)},c.getJSON=function(e){return n(e,!0)},c.remove=function(e,n){t(e,"",f(n,{expires:-1}))},c.defaults={},c.withConverter=e,c}(function(){})});
3</script>
3 
3<script>
4
5    function matchConsent(val, accepted) {
6        return accepted.find(el => el === val);
7    }
8
9    function googleConsentModeMapping(consents, acceptedConsents, state) {
10        
11        function gtag(){dataLayer.push(arguments);}
12        
13        let consObj = {}
14
15        Object.entries(consents).forEach(entry => {
16            const [key, value] = entry;
17            consObj[key] = (matchConsent(value, acceptedConsents) === value) ? 'granted' : 'denied';
18        });
19        
20        gtag('consent', state, consObj);
21    
22    } 
23
24    function initGTMLayer(window) {
25        window.dataLayer = window.dataLayer || [];
26        function gtag(){dataLayer.push(arguments);}
27
28        gtag('consent', 'default', {
29            'ad_storage': 'denied',
30            'ad_user_data': 'denied',
31            'ad_personalization': 'denied',
32            'analytics_storage': 'denied',
33            'security_storage': 'granted',
34            'functionality_storage': 'denied',
35            'personalization_storage': 'denied',
36            'wait_for_update': 2500
37        });
38        
39        var jsonCookiesPolicy = Cookies.get("_CookiesPolicyAccepted");
40
41        if (typeof jsonCookiesPolicy !== "undefined") {
42
43            var cookiesPolicy = JSON.parse(jsonCookiesPolicy);
44
45            window.dataLayer.push({
46                'cookieConsentCategory': cookiesPolicy
47            });
48
49             googleConsentModeMapping({
50                "ad_storage": "marketing",
51                "ad_user_data": "marketing",
52                "ad_personalization": "marketing",
53                "analytics_storage": "analytics",
54                "security_storage": "necessary",
55                "functionality_storage": "necessary",
56                "personalization_storage": "marketing"
57            }, cookiesPolicy, 'update');
58
59            window.beAcceptedCookiePolicies = cookiesPolicy;
60
61        }
62    }
63    initGTMLayer(window);
64</script>
64 
64<script>
vendor: 375 bytes, lines 64-68
64(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
65                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
66            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
67            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
68        })(window,document,'script','dataLayer','
68GTM-NK32DJ9F
vendor: 3 bytes, line 68
68');
68</script>
68 
68<script>
vendor: 359 bytes, lines 68-72
68(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
69          new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
70        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
71        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
72      })(window,document,'script','dataLayer','
72GTM-WTRG5G6
vendor: 3 bytes, line 72
72');
72</script>
72 
72<script>
73    window.dataLayer = window.dataLayer || [];
74    window.dataLayer.push({
75        'templateCode': 'paris'
76                    });
77</script>
77 <link rel="preload" href="https://fonts.profitroom.com/playfairdisplay/websites/400-600-700.css" as="style"> <link rel="stylesheet" href="https://fonts.profitroom.com/playfairdisplay/websites/400-600-700.css" media="print" onload="this.media='all'"> <link rel="preload" href="https://fonts.profitroom.com/opensans/websites/300-400-600-700.css" as="style"> <link rel="stylesheet" href="https://fonts.profitroom.com/opensans/websites/300-400-600-700.css" media="print" onload="this.media='all'"> <style> #cookieWarning { z-index: 9999999999; position: fixed; bottom: 0; right: 0; left: 0; top: 0; width: 100%; background: rgba(0, 0, 0, .5) !important; color: #141416; text-shadow: none; line-height: 20px; padding: 0 !important; transform: translateY(-200vh); will-change: transform; transition: transform 0.01s; transition-delay: 0s; visibility: hidden; } #cookieWarning.preview { transform: translateY(0); transition-delay: 1.4s; visibility: visible; } #cookieWarning .cookieContent { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0 auto; padding: 25px 40px 35px; font-size: 0; width: 670px; background-color: #fff; box-sizing: border-box; } #cookieWarning .cookieContent .cookieContentItem.description { font-size: 13px; line-height: 1.7; text-align: left; } [dir='rtl'] #cookieWarning .cookieContent .cookieContentItem.description { text-align: right; } #cookieWarning .cookieContent .cookieContentItem.actions { margin-top: 30px; text-align: right; } #cookieWarning .cookieContent .cookiePrivacy { text-decoration: underline; color: inherit; } .cookieBtn:first-child { margin-right: 30px; } [dir='rtl'] .cookieBtn:first-child { margin-left: 30px; margin-right: 0; } .cookieBtn:nth-child(2) { margin-right: 20px; } [dir='rtl'] .cookieBtn:nth-child(2) { margin-left: 20px; margin-right: 0; } .cookieBtn--underline { position: relative; background: transparent; border: 0; padding: 0 0 7px 0; overflow: hidden; color: #141416; } .cookieBtn--underline:hover::after { transform: translatex(0); } .cookieBtn--underline::before { content: ''; position: absolute; right: 0; bottom: 0; left: 0; z-index: -1; background: #938767; height: 1px; opacity: 0.8; } .cookieBtn--underline::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; background: #938767; height: 1px; transform: translatex(-100%); transition: transform 0.3s; } .cookieBtn--underline .content { font-size: 13px; font-weight: 600; } .cookieBtn--outline { background: transparent; padding: 15px 35px; border: 1px solid #938767; border-radius: 2px; color: #141416; transition: all 0.3s; } .cookieBtn--outline:hover { background-color: #938767; color: #fff; } .cookieBtn--outline .content { font-size: 13px; font-weight: 600; } .cookieBtn--normal { position: relative; background: transparent; background: #938767; padding: 15px 35px; border: 1px solid #938767; border-radius: 2px; color: #fff; transition: all 0.3s; } .cookieBtn--normal .content { font-size: 13px; font-weight: 600; } .cookieBtn--normal::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #0c292c; } .cookieBtn--normal::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #fff; opacity: 0; transition: opacity 0.3s; } .cookieBtn--normal .content { position: relative; z-index: 1; } .cookieBtn--normal:hover::after { opacity: 0.2; } #cookieWarning .manageCookieSettings, #cookieWarning .cookiePolicies { display: inline-block; background-color: transparent; color: #141416; font-weight: 400; text-decoration: underline; cursor: pointer; padding: 0; border: none; } #cookieWarning .cookiePolicies:focus-visible { outline: -webkit-focus-ring-color auto 1px; } @media (max-width: 767px) { #cookieWarning .cookieContent { width: 90%; } } @media (max-width: 480px) { #cookieWarning .cookieContent .cookieContentItem.actions { margin-top: 20px; text-align: center; } #cookieWarning .cookieContent .cookieContentItem.description { max-height: 250px; overflow: scroll; } #cookieWarning .cookieContent p { line-height: 1.5; } #cookieWarning .cookieContent { padding: 10px 25px 25px; } .cookieBtn:nth-child(2) { margin-right: 0; } .cookieBtn:nth-child(3) { margin-top: 20px; } } @media (max-width: 375px) { .cookieBtn:first-child { align-self: center; margin-right: 0; margin-bottom: 20px; }
77 #cookieWarning .cookieContent .cookieContentItem.actions { display: flex; flex-direction: column; } } @media (max-width: 360px) { #cookieWarning .cookieContent { padding: 15px; } #cookieWarning .cookieContent p { margin-top: 0; } #cookieWarning .cookieContent .cookieContentItem.description { font-size: 12px; } #cookieWarning .cookieContent .cookieContentItem.actions { margin-top: 15px; } .cookieBtn:first-child { margin-bottom: 15px; } .cookieBtn:nth-child(3) { margin-top: 15px; } .cookieBtn--underline .content, .cookieBtn--outline .content, .cookieBtn--normal .content { font-size: 12px; } } @media (max-width: 320px) { .cookieBtn--outline, .cookieBtn--normal { padding-top: 12px; padding-bottom: 12px; } } @media (max-width: 320px) and (max-height: 480px) { #cookieWarning .cookieContent { width: 100%; } } #cookie-privacy-iframe { z-index: 99999; position: fixed; top: 20px; bottom: 20px; left: 5%; right: 5%; overflow: auto; display: none; box-shadow: 0 0 0 5px rgba(0, 0, 0, .5); background-color: rgba(0, 0, 0, .5); } #cookie-privacy-iframe .cookie-privacy-iframe-inner { width: 100%; height: 100%; position: relative; } #cookie-privacy-iframe iframe { border: 0; background-color: #fff; width: 100%; height: 100%; overflow: auto; } .custom-close-popup { position: absolute; opacity: 0.8; cursor: pointer; width: 39px; height: 39px; background: #000; color: #FFF; text-align: center; right: 0; top: 0; } .custom-close-popup:hover { opacity: 1; } .custom-close-popup:after, .custom-close-popup:before { content: ''; position: absolute; top: 6px; right: 18px; width: 3px; height: 26px; border-radius: 2px; background-color: #fff; } .custom-close-popup:before { transform: rotate(45deg); } .custom-close-popup:after { transform: rotate(-45deg); } </style><style> body.active-cookies-modal { overflow: hidden; padding-right: 15px; } body.site-body.active-cookies-modal #cookieWarning { right: 15px; width: auto !important; } body.site-body.active-cookies-modal .site-top { right: 15px; width: auto; } .cookies-modal, .cookies-modal *, .cookies-modal *:before, .cookies-modal *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .cookies-modal { will-change: visibility, opacity; position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow-y: auto; overflow-x: hidden; z-index: 9999999999; visibility: hidden; opacity: 0; transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); background-color: rgba(0, 0, 0, 0.4); } .cookies-modal__table { width: 100%; height: 100%; display: table; table-layout: fixed; } .cookies-modal__cell { display: table-cell; vertical-align: middle; width: 100%; } .cookies-modal--active { visibility: visible; opacity: 1; } .cookies-modal__dialog { max-width: 835px; padding: 1.2rem; margin: 0 auto; } .cookies-modal__content { will-change: transform, opacity; position: relative; padding: 40px 50px 30px; background: #fff; background-clip: padding-box; box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.4); opacity: 0; } .cookies-modal__content--active { opacity: 1; } .cookies-modal__header { font-size: 18px; padding: 10px 0 20px; color: #000; font-weight: 900; } .cookies-modal__section { padding: 10px 0; } .cookies-modal__checkbox { padding: 0 15px 0 0; } [dir='rtl'] .cookies-modal__checkbox { padding: 0 0 0 15px; } .cookies-modal__checkbox label { position: relative; display: flex; gap: 18px; font-size: 14px; line-height: 20px; font-weight: 400; } .cookies-modal__checkbox label input { position: absolute; width: 20px; height: 20px; } .cookies-modal__checkbox label span { font-size: 14px; font-weight: 400; line-height: 1.4285714286em; display: block; position: relative; min-height: 20px; padding: 0 0 0 20px; cursor: pointer; } .cookies-modal__checkbox label span:before, .cookies-modal__checkbox label span:after { content: ''; position: absolute; left: 0; top: 0; height: 20px; width: 20px; border-color: #bdbdbd; } .cookies-modal__checkbox label span:before { background-color: #fff; border: 2px rgba(0, 0, 0, 0.5) solid; border-radius: 2px; transition: background .3s ease; } .cookies-modal__checkbox label span:after { position: absolute; top: 5px; display: flex; content: ''; background: #000; width: 14px; height: 7px; left: 3px; border-bottom: solid 2px #ffffff; border-left: solid 2px #ffffff; background: none; transform: rotate(-45deg) scale(0); transition: transform .1s ease, opacity .1s ease; transform-origin: center center; z-index: 1; } .cookies-modal__checkbox label input:checked ~ span:before { border-color: #6c7a30; background: #6c7a30; } .cookies-modal__checkbox label input:disabled ~ span:before { border-color: #bdbdbd !important; background: #bdbdbd !important; } .cookies-modal__checkbox label input:checked ~ span:after { opacity: 1; transform: rotate(-45deg) scale(.8); } .cookies-modal__text { font-size: 14px; line-height: 1.79; color: #000; padding-left: 39px; } .cookies-modal__text strong { line-height: 20px; display: block; } .cookies-modal__text p { margin: 10px 0; font-weight: 300; } .cookies-modal__close { position: absolute; opacity: 0.8; cursor: pointer; width: 39px; height: 39px; background: #000; color: #FFF; text-align: center; right: 0; top: 0; border: none; } .cookies-modal__close:hover { opacity: 1; } .cookies-modal__close:after, .cookies-modal__close:before { content: ''; position: absolute; top: 11px; right: 18px; width: 2px; height: 18px; border-radius: 2px; background-color: #fff; } .cookies-modal__close:before { transform: rotate(45deg); } .cookies-modal__close:after { transform: rotate(-45deg); } .cookies-modal__submit { /*float: right;*/ } .cookies-modal__section--action { display: flex; justify-content: flex-end; padding-bottom: 0; } [dir='rtl'] .cookies-modal__section--action { flex-direction: row-reverse; } .cookies-modal__notification { margin-right: 22px; display: none; } .cookies-modal__notification-text { font-size: 13px; line-height: 36px; background-color: #e1e1e1; border-radius: 2px; opacity: 0.7; color: #141416; margin-top: 5px; padding: 0 20px; position: relative; } .cookies-modal__notification-text::after { top: 10px; position: absolute; right: -6px; width: 0; height: 0; content: ''; border-style: solid; border-width: 8px 0 8px 6px; border-color: transparent transparent transparent #e1e1e1; } .cookies-modal__notification-text--success { background-color: #6c7a30; color: #fff; } .cookies-modal__notification-text--success::after { border-color: transparent transparent transparent #6c7a30; } .cookies-modal__submit button { height: 46px; padding: 0 20px; border-radius: 2px; background-color: #6c7a30; display: inline-block; font-size: 16px; border: 0; color: #fff; cursor: pointer; -webkit-filter: brightness(100%); -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; } .cookies-modal__submit button:hover { -webkit-filter: brightness(90%); } @media (max-width: 960px) { .cookies-modal__section--action { justify-content: center; } .cookies-modal__content { padding: 40px 20px 20px; } body.active-cookies-modal { padding-right: 0; } body.site-body.active-cookies-modal #cookieWarning { right: 0; } body.site-body.active-cookies-modal .site-top { right: 0; } .cookies-modal__submit, .cookies-modal__submit button { width: 100%; } } @media (max-width: 375px) { .cookies-modal__notification-text { padding: 10px; line-height: 1.6; } .cookies-modal__submit button { font-size: 14px; } .cookies-modal__dialog { padding: 15px; } .cookies-modal__content { padding: 40px 15px 15px; } } </style> <style> #cookieWarning .cookieBtn--underline::before { background: #A48A64; } #cookieWarning .cookieBtn--underline::after { background: #A48A64; } #cookieWarning .cookieBtn--outline { border-color: #A48A64; } #cookieWarning .cookieBtn--outline:hover { background-color: #A48A64; } #cookieWarning .cookieBtn--normal { border-color: #A48A64; } #cookieWarning .cookieBtn--normal::before { background: #A48A64; } .cookies-modal__notification-text--success { background-color: #A48A64; } .cookies-modal__notification-text--success::after { border-color: transparent transparent transparent #A48A64; } .cookies-modal__submit button { background-color: #A48A64; } .cookies-modal__checkbox label input:checked ~ span:before { border-color: #A48A64; background: #A48A64 } </style> <link rel="canonical" href="https://www.apogeehotel.co.za/events"/> <link rel="alternate" href="https://www.apogeehotel.co.za/events" hreflang="en"> <meta name="format-detection" content="telephone=no"> <meta name="google" content="notranslate"><meta name="description" content="Discover upcoming events and exclusive spa specials at Apogee Boutique Hotel &amp; Spa in Pretoria. Book now to experience our Serenity Escape and Mother&#039;s Day celebrations."><meta property="og:title" content="Hotel Events in Pretoria"> <meta property="og:description" content="Discover upcoming events and exclusive spa specials at Apogee Boutique Hotel &amp; Spa in Pretoria. Book now to experience our Serenity Escape and Mother&#039;s Day celebrations."> <meta property="og:image" content="https://r.profitroom.pl/apogeeboutiquehotelspa/images/202506251030050.Screenshot_2025_06_25_at_10.29.56.png"> <style type="text/css"> .site-top__logo { background-color: transparent; } </style> <meta name="google-site-verification" content="MQryXVANTG_8NPt64NY4Wtv_DTUDsLCPjmknuo97Ipw" /> </head> <body class="wa-site site-body wa-headings-color--h wa-paragraph-font wa-global-heading page-events en page-events w
77a-paragraph-font wa-global-heading" data-page-id="6a10350b-cf23-4b78-866c-dbaa834522ee" data-site-id="13302" >
vendor: 68 bytes, line 77
77 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
77GTM-NK32DJ9F
vendor: 83 bytes, line 77
77" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
77<style type="text/css"> :root {--wa-primary-color: #A48A64} .wa-background-primary-color {background-color: #A48A64} .wa-background-primary-color--hovered:hover {background-color: #A48A64} .wa-primary-background-color--hover:hover {background-color: #A48A64} .wa-primary-color--hover-text:hover .text {color: #A48A64} .wa-primary-color--is-active--text.is-active .text {color: #A48A64} .wa-primary-color {color: #A48A64} .wa-primary-color--hovered:hover {color: #A48A64;} .wa-primary-color--active.is-active {color: #A48A64;} .wa-primary-color--mail-hovered a[href^='mailto']:hover {color: #A48A64} .wa-border-primary-color {border: 1px solid #A48A64; color: #A48A64; } .wa-primary-border-color {border-color: #A48A64; } .wa-border-bottom-primary-color {border-bottom: 2px solid #A48A64;} .t-content ul li:before, .t-content ul.c-sidebar li:before {background-color: #A48A64} .filters-horizontal__item.is-active .icon, .filters-horizontal__item:hover .icon, .filters-horizontal__item.is-active .label, .filters-horizontal__item:hover .label {color: #A48A64;} .t-content a:not(.contact-btn, .wa-button-link-primary):focus, .t-content a:not(.contact-btn, .wa-button-link-primary):hover {color: #A48A64;} .menu-icon span, .close-icon::after, .close-icon::before {background-color: #A48A64;} .calendar-filters__button--active {color: #A48A64; border-color: #A48A64} .listing-item__more .text::before, .calendar-filters__button::before {background-color: #A48A64} .wa-background-primary-color--hover:hover {background-color: #A48A64} .wa-primary-color .swiper-pagination-bullet-active {background: #A48A64;} .wa-primary-border-color--input-focus input:focus {border-color: #A48A64} .wa-primary-border-color--textarea-focus textarea:focus {border-color: #A48A64} .wa-primary-border-color--select-focus select:focus {border-color: #A48A64} .wa-form-border-color {border-color: #A48A64} .t-content a.wa-button-link-primary {border-color: #A48A64;} .t-content a.wa-button-link-primary:hover {background-color: #A48A64; color: white;} .wa-background-primary-color--before::before {background-color: #A48A64} .wa-primary-border-color--is-active.is-active {border-color: #A48A64} .wa-primary-background-color-dots--hover:hover .dot {background-color: #A48A64} .wa-primary-color--is-active.is-active {color: #A48A64} .wa-primary-background-color--before::before {background-color: #A48A64} .photo-text-tabs__tab.is-active {color: #A48A64} .photo-text-tabs__tab.is-active {border-color: #A48A64} .photo-text-tabs__tab {border-color: #A48A64} .photo-text-tabs__tab:before {background-color: #A48A64} .wa-primary-border-top-color--after::after {border-top-color: #A48A64} .wa-secondary-color {color: #859388 !important} .wa-secondary-color--hover:hover {color: #859388 !important} .wa-secondary-background-color {background-color: #859388 !important} .wa-secondary-background-color--is-active--before.is-active:before {background-color: #859388} .wa-link-icon-secondary-color a::before {color: #859388} .wa-secondary-color--mail-hovered a[href^='mailto']:hover {color: #859388} .wa-background-secondary-color {background-color: #859388} .wa-secondary-border-top-color--after::after {border-top-color: #859388} .wa-headline-font { font-family: Playfair Display !important} .wa-paragraph-font { font-family: Open Sans !important} .wa-global-heading h1, h2, h3, h4, h5, h6 { font-family: Playfair Display} .contact-box__text strong { font-family: Playfair Display} </style> <a class="skip-link js-scroll-to" href="#main-content" data-scroll-to="#main-content" data-scroll-px="-150px">Skip to main content</a> <header class="site-top hide-on-768 js-scroll-header js-site-top js-site-header"> <div class="contact-info"> <div class="contact-info__box"> <div class="contact-info__left"> <a class="tel" href="tel:0127860740"> <span aria-hidden="true" class="icon icon-phone1"></span> <span class="u-sr-only">Call us:</span> <span>0127860740</span> </a> <a class="mail" href="mailto:[email protected]"> <span aria-hidden="true" class="icon icon-mail1"></span> <span class="u-sr-only">Write to us:</span> <span>[email protected]</span> </a> </div> <div class="contact-info__right"> <ul class="socials socials--header"> <li class="socials__item"> <a href="https://www.facebook.com/ApogeeBoutiqueHotel?_rdc=2&amp;_rdr#" rel="nofollow" class="socials__link is-facebook" target="_blank"> <span class="socials__icon socials__icon--facebook icon icon-facebook-filled"></span> <span class="u-sr-only">facebook</span> </a> </li> <li class="socials__item"> <a href="https://www.linkedin.com/company/apogee-boutique-hotel-and-spa" rel="nofollow" class="socials__link is-linkedin" target="_blank"> <span class="socials__icon socials__icon--linkedin icon icon-linkedin-filled"></span> <span class="u-sr-only">linkedin</span> </a> </li> <li class="socials__item"> <a href="https://www.instagram.com/apogeeboutiquehotelandspa/#" rel="nofollow" class="socials__link is-instagram" target="_blank"> <span class="socials__icon socials__icon--instagram icon icon-instagram-filled"></span> <span class="u-sr-only">instagram</span> </a> </li> </ul> </div> </div> </div> <div class="l-wrapper--wither site-top__main"> <div class="site-top__left"> <a class="site-top__logo" href="/" data-logo="true" style="transform: scale(1)"> <img class="site-logo" src="https://r.profitroom.pl/apogeeboutiquehotelspa/images/202505291108370.1.png" alt="Apogee Boutique Hotel &amp; Spa Homepage"/> </a> </div> <div class="site-top__right"> <nav class="nav-primary-hld" aria-label="Main menu"> <ul class="nav-primary js-nav" role="menu"> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/hotel" > <span class="nav-primary__text" data-menu-page="3712383"> About us </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/rooms" > <span class="nav-primary__text" data-menu-page="3589133"> Accommodation </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top is-active "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/events" > <span class="nav-primary__text" data-menu-page="3712369"> Events </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/offers-promotions" > <span class="nav-primary__text" data-menu-page="3712367"> Offers &amp; Promotions </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/dining" > <span class="nav-primary__text" data-menu-page="4463565"> Dining </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/conferences" > <span class="nav-primary__text" data-menu-page="4148243">
77 Conferences </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/wellness-spa" > <span class="nav-primary__text" data-menu-page="4148217"> Wellness &amp; Spa </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/gallery" > <span class="nav-primary__text" data-menu-page="3712365"> Gallery </span> </a> </li> <li role="presentation" class="nav-primary__item wa-primary-color--hovered wa-primary-color--active js-nav-item js-nav-item-top "> <span class="nav-primary__item-line wa-background-primary-color"></span> <a class="nav-primary__link js-nav-link" role="menuitem" href="/contact" > <span class="nav-primary__text" data-menu-page="3712363"> Contact Us </span> </a> </li> </ul> <button class="site-panel__button site-btn js-open-upper wa-background-primary-color scoll-only-btn"> <span class="text">Book online</span> </button> </nav> </div> </div> </header> <button class="a11y js-a11y-contrast" aria-label="High contrast mode" data-label-on="Deactivate high contrast mode" data-label-off="Activate high contrast mode"> <span class="icon icon-wcag-contrast-icon js-contrast-off" aria-hidden="true"></span> <span class="icon icon-wcag-eye-on js-contrast-on" style="display: none;" aria-hidden="true"></span> </button> <header class="site-top-mobile flex-on-768 js-site-top js-site-top-mobile"> <div class="site-top-mobile__logo-hld"> <a class="site-top-mobile__logo" data-menu-page="4588865" href="/"> <img class="site-logo" data-menu-page="4588865" src="https://r.profitroom.pl/apogeeboutiquehotelspa/images/202505291108370.1.png" alt="Apogee Boutique Hotel &amp; Spa"/> </a> </div> <div class="site-top-mobile__col site-top-mobile__col--left site-top-mobile__signet-hld"> <a class="site-top-mobile__signet" data-menu-page="4588865" href="/"> <img class="site-logo" data-menu-page="4588865" src="https://r.profitroom.pl/apogeeboutiquehotelspa/images/202505291108370.1.png" alt="Apogee Boutique Hotel &amp; Spa"/> </a> </div> <div class="site-top-mobile__col site-top-mobile__col--center site-top-mobile__booking-btn-hld "> <button class="site-top-mobile__booking-btn js-open-upper wa-background-primary-color wa-primary-color-text-depends-background"> Book online </button> </div> <div class="site-top-mobile__col site-top-mobile__col--right site-top-mobile__btn-hld"> <button class="site-top-mobile__btn js-toggle-menu" aria-label="Hamburger, opens menu"> <span class="text">MENU</span> <span class="icon-hld" aria-hidden="true"> <span class="menu-icon"> <span></span> <span></span> <span></span> </span> <span class="close-icon"></span> </span> </button> </div> </header> <main id="main-content" data-gjs-type="wrapper" tabindex="-1"> <div data-component-id='24317639' > <section id="banners" class="l-section banners banners--medium" data-gjs-type="media" > <div class="slider-video"> <div class="slider-video__inner"> <div class="slider-video__background"> <picture class="cvr-pic"> <source type="image/webp" srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/768x1024/17485090869469_.fathersdayjune20218.webp" media="(max-width: 767px)"> <source srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/768x1024/17485090869469_fathersdayjune20218.jpg" media="(max-width: 767px)"> <source type="image/webp" srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/1366x768/17485090869469_.fathersdayjune20218.webp" media="(max-width: 1366px)"> <source srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/1366x768/17485090869469_fathersdayjune20218.jpg" media="(max-width: 1366px)"> <source type="image/webp" srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/1920x1080/17485090869469_.fathersdayjune20218.webp"/> <img class="cvr-pic__img" src="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/1920x1080/17485090869469_fathersdayjune20218.jpg" alt="image" fetchpriority="high"> </picture> </div> </div> </div> <div class="hero hero--medium hero--not-on-home"> <div class="hero__titles"> <h1 class="hero__title hero__main wa-headline-font" > Events at Apogee Hotel </h1> <nav aria-label="breadcrumbs"> <ul class="breadcrumb "> <li class="breadcrumb__item wa-content-color "> <a href="/">Homepage</a> <span class="icon icon-arrow-bold-right" aria-hidden="true"></span> </li> <li class="breadcrumb__item wa-content-color active"> <span aria-current="Events">Events</span> </li> </ul> </nav> </div> </div> <div data-component-id='28310241' > <div class="site-panel-hld"><div class="site-panel"><div class="dates-hld"><button type="button" aria-label="Arrival" class="date-hld date-hld--arrival js-checkin-box wa-primary-color--hovered"><span class="date-hld__title wa-paragraph-font">Arrival</span><span class="date-hld__day-number date-hld__day-number--checkin js-date-hld__day-number wa-headline-font">29</span><span class="date-hld__month-and-year"><span class="date-hld__month js-date-hld__month">09-</span><span class="date-hld__year js-date-hld__year">2026</span></span>
77<input type="hidden" class="js-input-checkin" id="checkin-value" name="checkin" value="29.09.2026"></button><button type="button" aria-label="Departure" class="date-hld date-hld--departure js-checkout-box wa-primary-color--hovered"><span class="date-hld__title wa-paragraph-font">Departure</span><span class="date-hld__day-number js-date-hld__day-number wa-headline-font">30</span><span class="date-hld__month-and-year"><span class="date-hld__month js-date-hld__month">09-</span><span class="date-hld__year js-date-hld__year">2026</span></span><input type="hidden" class="js-input-checkout" name="checkout" value="30.09.2026"></button></div><button class="site-panel__btn site-btn js-open-upper js-gtag wa-background-primary-color wa-primary-color-text-depends-background"><span class="text">Book online</span></button></div></div> </div> <button class="banners__control banners__control--video banner-control" data-video-controls="banner-video" data-text-play="Play video" data-text-pause="Pause video" aria-pressed="false"> <span class="u-sr-only">Play video</span> <span class="icon" aria-hidden="true"></span> </button> <button class="banners__control banners__control--slider banner-control" data-slider-controls="banner-slider" data-text-play="Resume slider autoplay" data-text-pause="Stop slider autoplay" aria-pressed="false"> <span class="u-sr-only">Stop slider autoplay</span> <span class="icon icon-pause" aria-hidden="true"></span> </button> </section> </div><div data-component-id='24317641' > <section class="l-section is-paddington"> <div class="l-wrapper"> <h2 class="t-section-title wa-headline-font" >Upcoming Events</h2> </div> </section> </div><div data-component-id='24317643' > <section class="l-section"> <div class="events-listing l-wrapper"> <div class="events-listing__content js-event-filterable-box"> <a href="https://www.apogeehotel.co.za/events/spring-spa-special" data-menu-page="4446451" aria-label="Spring Spa Special - Read more" class="listing-item js-event-filterable" data-year=2026 data-month=09><div class="listing-item__left-column"><img class="listing-item__img js-lazy" src="/templates/paris/images/img-blank.gif" data-src="https://r.profitroom.net/apogeeboutiquehotelspa/images/posts/thumbs/240x240/c98e5455-1786-4d84-b842-d23dfec75626.jpg?updated=2026-09-01_12-50" alt=""></div><article class="listing-item__right-column"><header class="listing-item__header"><h2 class="listing-item__heading wa-headline-font"> Spring Spa Special </h2><div class="listing-item__date "><strong><span class="event-item__date-from">01.09.2026</span><span class="event-item__date-to"> - 30.09.2026</span></strong></div></header><div class="listing-item__text"> Every September, we hand the treatment menu over to you. Our Spring Spa Special is exactly what it sounds like -... </div><footer><span class="listing-item__more wa-primary-color"><span class="text">Read more</span></span></footer></article></a> <a href="https://www.apogeehotel.co.za/events/the-chef-s-table-menu-september-edition-at-tribute" data-menu-page="4427103" aria-label="The Chef&#039;s Table Menu | September Edition at Tribute - Read more" class="listing-item js-event-filterable" data-year=2026 data-month=09><div class="listing-item__left-column"><img class="listing-item__img js-lazy" src="/templates/paris/images/img-blank.gif" data-src="https://r.profitroom.net/apogeeboutiquehotelspa/images/posts/thumbs/240x240/90d13967-9532-49fc-b95e-0ba539d1b9a2.jpg?updated=2026-08-28_10-37" alt=""></div><article class="listing-item__right-column"><header class="listing-item__header"><h2 class="listing-item__heading wa-headline-font"> The Chef&#039;s Table Menu | September Edition at Tribute </h2><div class="listing-item__date "><strong><span class="event-item__date-from">01.09.2026</span><span class="event-item__date-to"> - 30.09.2026</span></strong></div></header><div class="listing-item__text"> Dates: 1 – 30 September 2026Location: Tribute Restaurant, Apogee Boutique Hotel &amp;amp; Spa, Waterkloof RidgeEvery... </div><footer><span class="listing-item__more wa-primary-color"><span class="text">Read more</span></span></footer></article></a> <a href="https://www.apogeehotel.co.za/events/dancing-in-the-moonlight-apogee-matric-dance-packages" data-menu-page="4278260" aria-label="Dancing in the Moonlight — Apogee Matric Dance Packages - Read more" class="listing-item js-event-filterable" data-year=2026 data-month=08><div class="listing-item__left-column"><img class="listing-item__img js-lazy" src="/templates/paris/images/img-blank.gif" data-src="https://r.profitroom.net/apogeeboutiquehotelspa/images/posts/thumbs/240x240/703852be-9e90-4cfe-8ccb-53853987a564.jpg?updated=2026-07-31_13-26" alt=""></div><article class="listing-item__right-column"><header class="listing-item__header"><h2 class="listing-item__heading wa-headline-font"> Dancing in the Moonlight — Apogee Matric Dance Packages </h2><div class="listing-item__date "><strong><span class="event-item__date-from">01.08.2026</span><span class="event-item__date-to"> - 31.08.2027</span></strong></div></header><div class="listing-item__text"> Dancing in the Moonlight — Matric Dance PackagesAn all-year matric dance experience at Apogee Boutique Hotel &amp;am... </div><footer><span class="listing-item__more wa-primary-color"><span class="text">Read more</span></span></footer></article></a> </div> <aside class="events-listing__sidebar"> <div class="event-filters js-event-filters-hld event-filters"> <div class="event-filters__year event-filters__heading"> 2026 </div> <ul class="event-filters__list"> <li class="event-filters__item js-event-filters-item event-filters__item" data-year=2026 data-month=09> <span aria-label="2026 September" role="button" tabindex="0" aria-pressed="false">September (2)</span> </li> <li class="event-filters__item js-event-filters-item event-filters__item" data-year=2026 data-month=08> <span aria-label="2026 August" role="button" tabindex="0" aria-pressed="false">August (1)</span> </li> </ul> <button class="event-filters__btn event-filters__show-all wa-primary-color wa-border-primary-color wa-background-primary-color--hover js-event-filters-btn" aria-pressed="false"> <span class="text event-filters__button"> Show all </span> </button> </div> </aside> </div> </section> </div> </main> <div data-component-id='19779875' > <section class="l-section l-section--newsletter" > <div class="l-wrapper"> <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 invali
77d 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__img-hld"> <picture class="newsletter__img cvr-pic__img"> <source srcset="/templates/paris/images/img-blank.gif" media="(max-width: 768px)" data-srcset="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/768x678/17436658374097_0d583271-3d97-41f9-8fed-3a5e9e3016e1.JPG" /> <img src="/templates/paris/images/img-blank.gif" alt="Spacious luxury suite lounge with plush sofas, coffee tables, columns, king bed with floral headboard, fireplace, minibar" class="cvr-pic__img js-lazy" data-src="https://wa-uploads.profitroom.com/apogeeboutiquehotelspa/1140x700/17436658374097_0d583271-3d97-41f9-8fed-3a5e9e3016e1.JPG" /> </picture> </div> <div class="newsletter__text-box"> <div class="newsletter__text-box-inner"> <h2 class="newsletter__title wa-headline-font"> Subscribe to the newsletter </h2> <div class="newsletter__description t-content"> Be the first to know about the latest events, offers and promotions! </div> <form class="newsletter-form js-newsletter-form wa-primary-border-color--input-focus" action="#" aria-label="Subscribe to the newsletter"> <div class="newsletter-form__inner"> <label class="u-sr-only" for="newsletter-email">E-mail</label> <input id="newsletter-email" class="js-newsletter__value newsletter-form__input" type="email" name="email" data-name= "E-mail" placeholder="E-mail*" required> <label for="name321nwsl" class="u-sr-only">name321</label> <input id="name321nwsl" class="js-newsletter__value newsletter-form__input" type="text" name="name321" placeholder="name" value="" autocomplete="off"> <button class="newsletter-form__button site-btn wa-background-primary-color" type="submit" name="submit"> <span class="text"> Sign up </span> </button> </div> </form> </div> </div> </div> </div> </section> </div> <footer class="site-footer"> <button class="scroll-to-top scroll-up-btn js-scroll-start"> <span class="icon icon-arrow-normal-up" aria-hidden="true"></span> <span class="u-sr-only">Scroll to the top of the page</span> </button> <div class="site-footer__top "> <div class="l-wrapper l-wrapper--footer"> <div class="site-footer__row"> <div class="site-footer__col site-footer__col--left"> <span class="t-item-title t-item-title--white footer-title wa-headline-font">Address</span> <div class="footer-address__line"> <span>212 Johann Rissik Drive</span><br/> <span>0181</span> <span> Pretoria</span> </div> </div> <div class="site-footer__col site-footer__col--center"> <span class="t-item-title t-item-title--white footer-title wa-headline-font">Contact</span> <div class="footer-address__line"> <a href="tel:0127860740"> <span class="u-sr-only">Call us:</span> <span>0127860740</span> </a> <a href="mailto:[email protected]" title="[email protected]"> <span class="u-sr-only">Write to us:</span> <span>[email protected]</span> </a> </div> </div> <div class="site-footer__col site-footer__col--right"> <span class="t-item-title t-item-title--white footer-title wa-headline-font">Social media</span> <div class="site-footer__social-hld"> <ul class="socials socials--footer"> <li class="socials__item"> <a href="https://www.facebook.com/ApogeeBoutiqueHotel?_rdc=2&amp;_rdr#" class="socials__link is-facebook" target="_blank"> <span class="socials__icon socials__icon--facebook icon icon-facebook-filled"></span> <span class="u-sr-only">facebook</span> </a> </li> <li class="socials__item"> <a href="https://www.linkedin.com/company/apogee-boutique-hotel-and-spa" class="socials__link is-linkedin" target="_blank"> <span class="socials__icon socials__icon--linkedin icon icon-linkedin-filled"></span> <span class="u-sr-only">linkedin</span> </a> </li> <li class="socials__item"> <a href="https://www.instagram.com/apogeeboutiquehotelandspa/#" class="socials__link is-instagram" target="_blank"> <span class="socials__icon socials__icon--instagram icon icon-instagram-filled"></span> <span class="u-sr-only">instagram</span> </a> </li> </ul> </div> </div> </div> </div> </div> <div data-component-id='19779877' > <div class="site-footer__middle"> <div class="l-wrapper l-wrapper--footer"> <nav class="footer-navigation" aria-label="footer_menu" > <ul class="footer-navigation__list"> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/" >Homepage</a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/rooms" >Accommodation</a> </li> <li class="footer-navigation__item"> <a class="footer-navigation__link " href="/privacy" >Privacy</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="/conferences" >Conferences</a> </li> </ul> </nav> </div> </div> </div> <div class="site-footer__bottom"> <div class="l-wrapper l-wrapper--footer"> <div class="site-footer__row">
77 <div class="site-footer__col site-footer__col--bottom-left"> <div class="created-hld"> <span class="created-hld__text"> <span>&copy;</span> <span> Apogee Boutique Hotel &amp; Spa </span> <span>2026</span> </span> <button class="manageCookieSettings wa-paragraph-font" onclick="openCookieModal();">Cookies settings</button> </div> </div> <div class="site-footer__col site-footer__col--bottom-right"> <div class="copy-hld"> <div> <span class="created-hld__text">created by</span> <a class="created-hld__link" href="https://www.profitroom.com" rel="nofollow" target="_blank" aria-label="Link to Profitroom website"> <span class="icon icon-profitroom" aria-hidden="true"></span> </a> </div> </div> </div> </div> </div> </div> </footer> <div class="mobile-nav js-mobile-nav" aria-hidden="true"> <nav aria-label="Mobile menu" class="mobile-nav__inner"> <ul class="mobile-nav__list"> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/hotel" > <span class="mobile-nav__text" data-menu-page="3712383">About us</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/rooms" > <span class="mobile-nav__text" data-menu-page="3589133">Accommodation</span> </a> </li> <li class="mobile-nav__li is-active "> <a class="mobile-nav__link" href="/events" > <span class="mobile-nav__text" data-menu-page="3712369">Events</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/offers-promotions" > <span class="mobile-nav__text" data-menu-page="3712367">Offers &amp; Promotions</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/dining" > <span class="mobile-nav__text" data-menu-page="4463565">Dining</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/conferences" > <span class="mobile-nav__text" data-menu-page="4148243">Conferences</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/wellness-spa" > <span class="mobile-nav__text" data-menu-page="4148217">Wellness &amp; Spa</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/gallery" > <span class="mobile-nav__text" data-menu-page="3712365">Gallery</span> </a> </li> <li class="mobile-nav__li "> <a class="mobile-nav__link" href="/contact" > <span class="mobile-nav__text" data-menu-page="3712363">Contact Us</span> </a> </li> </ul> </nav> <div class="mobile-nav__bottom"> <a href="https://www.google.com/maps/search/?api=1&query=-25.7896595,28.2320775" rel="nofollow" class="mobile-nav__map" target="_blank"> <span class="icon icon-offer-attractions"></span> <span class="label">Show on the map</span> </a> </div> </div> <div id="cookieWarning" role="dialog" aria-modal="true" tabindex="-1" aria-label="Cookie policy window"> <div id="cookieAnnouncement" aria-live="assertive" role="alert" class="u-sr-only"></div> <div class="cookieContent"> <div class="cookieContentItem description" id="cookies-modal-text"> <p class="wa-paragraph-font"> <p><br></p><p style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px 0px 10px; -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; color: rgb(51, 51, 51); display: block; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px; -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; color: rgb(51, 51, 51); display: inline !important; vertical-align: baseline; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none;">
77To provide the best possible service, this website uses cookies stored in your browser. Detailed information about the purposes of their use — including analytics, content personalisation, and advertising — can be found in our </span><a href="https://suite.profitroom.com/en/13302/consents-management/%7B%7Bprivacy_policy_link%7D%7D" style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px; background-color: rgb(255, 255, 255); text-decoration: none; color: rgb(0, 76, 255); -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal;"></a><a target="_blank" href="https://www.apogeehotel.co.za/privacy" style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px; background-color: rgb(255, 255, 255); text-decoration: none; color: rgb(0, 76, 255); -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal;"></a><a href="https://www.apogeehotel.co.za/privacy">Privacy Policy</a><span style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px; -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; color: rgb(51, 51, 51); display: inline !important; vertical-align: baseline; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none;">. By clicking “Accept all,” you consent to the use of technologies such as cookies and to the processing of your personal data, such as your IP address and cookie identifiers, by Apogee Boutique Hotel & Spa, 212 Johann Rissik Drive, 0181 Pretoria, for analytics and marketing purposes — including tailoring ads to your preferences and measuring their effectiveness. You can manage or change your consent at any time by going to the cookie settings.</span></p><p style="box-sizing: border-box; background-repeat: no-repeat; padding: 0px; margin: 0px 0px 10px; -webkit-user-drag: none; overflow: visible; font-family: &quot;Helvetica Neue&quot;; font-size: 13px; color: rgb(51, 51, 51); display: block; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Privacy Policy:&nbsp;https://www.apogeehotel.co.za/privacy&nbsp;</p> </p> </div> <div class="cookieContentItem actions"> <button class="cookieBtn cookieBtn--underline" type="button" onclick="openCookieModal();return false;"> <span class="content wa-paragraph-font">Cookies settings</span> </button> <button class="cookieBtn cookieBtn--outline" type="button" onclick="acceptOnlyRequiredCookies();return false;"> <span class="content wa-paragraph-font">Reject</span> </button> <button class="cookieBtn cookieBtn--normal js-cookieBtn-focus" type="button" onclick="_acceptCookiesPolicy();return false;"> <span class="content wa-paragraph-font">Accept all</span> </button> </div> </div> </div> <div id="cookies-modal" class="cookies-modal"> <div class="cookies-modal__table" role="dialog" aria-modal="true" aria-live="assertive" aria-label="Manage privacy settings"> <div class="cookies-modal__cell"> <div class="cookies-modal__dialog"> <div class="cookies-modal__content"> <form action="#" id="cookies-privacy-settings"> <div class="cookies-modal__header wa-headline-font"> Manage privacy settings</div> <div class="cookies-modal__section"> <div class="cookies-modal__checkbox"> <label for="necessary-cookies"> <input type="checkbox" value="necessary" checked="" name="necessary-cookies" aria-label="Essential cookies" aria-description="Ensure the site functions safely and correctly — enable log-in, bookings and fraud-detection features. These cookies cannot be disabled. Legal basis: Art. 6 (1) (b) GDPR (performance of a contract)." disabled="" id="necessary-cookies"> <span></span> <strong class="wa-headline-font">Essential cookies </strong> </label> </div> <div class="cookies-modal__text"> <p class="wa-paragraph-font"> Ensure the site functions safely and correctly — enable log-in, bookings and fraud-detection features. These cookies cannot be disabled. Legal basis: Art. 6 (1) (b) GDPR (performance of a contract). </p> </div> </div> <div class="cookies-modal__section"> <div class="cookies-modal__checkbox"> <label for="analytics-cookies"> <input type="checkbox" value="analytics" name="analytics-cookies" id="analytics-cookies" aria-label="Analytics cookies" aria-description="Help us measure traffic and improve the service so it better meets users’ needs. Legal basis: Art. 6 (1) (a) GDPR (consent)."> <span></span> <strong class="wa-headline-font">
77Analytics cookies</strong> </label> </div> <div class="cookies-modal__text"> <p class="wa-paragraph-font"> Help us measure traffic and improve the service so it better meets users’ needs. Legal basis: Art. 6 (1) (a) GDPR (consent). </p> </div> </div> <div class="cookies-modal__section"> <div class="cookies-modal__checkbox"> <label for="marketing-cookies"> <input type="checkbox" value="marketing" name="marketing-cookies" id="marketing-cookies" aria-label="Marketing cookies" aria-description="Allow us to personalise offers and assess the effectiveness of our marketing campaigns, so you see content tailored to your interests. Legal basis: Art. 6 (1) (a) GDPR (consent)."> <span></span> <strong class="wa-headline-font">Marketing cookies</strong> </label> </div> <div class="cookies-modal__text"> <p class="wa-paragraph-font"> Allow us to personalise offers and assess the effectiveness of our marketing campaigns, so you see content tailored to your interests. Legal basis: Art. 6 (1) (a) GDPR (consent). </p> </div> </div> <div class="cookies-modal__section cookies-modal__section--action"> <div class="cookies-modal__notification"> <div class="cookies-modal__notification-text"> <span class="wa-paragraph-font">Your preferences have not yet been saved</span> </div> </div> <div class="cookies-modal__submit"> <button type="submit" class="wa-paragraph-font" aria-label="Save and Close">Save and Close</button> </div> </div> </form> <button type="button" class="cookies-modal__close js-cookies-modal__close" aria-label="Close cookies window"></button> </div> </div> </div> </div> </div> 
77<script>
78    var footerBtnClicked = false;
79    var footerLink = document.querySelector('.manageCookieSettings');
80    footerLink.addEventListener('click', () => footerBtnClicked = true);
81
82    function focusFirstInteractiveElement() {
83        if (footerBtnClicked) {
84            footerLink.focus();
85        }
86    }
87
88    function _acceptCookiesPolicy(acceptedCategories) {
89
90        if (typeof acceptedCategories === 'undefined') {
91            acceptedCategories = ["necessary", "marketing", "analytics"];
92        }
93
94        var options = {};
95
96        if (acceptedCategories.length > 1) {
97            options['expires'] = 365;
98        }
99
100        Cookies.set('_CookiesPolicyAccepted', JSON.stringify(acceptedCategories), options);
101
102        /** Send Info to GTM */
103        window.dataLayer = window.dataLayer || [];
104        function gtag() { dataLayer.push(arguments); }
105
106        googleConsentModeMapping({
107            "ad_storage": "marketing",
108            "ad_user_data": "marketing",
109            "ad_personalization": "marketing",
110            "analytics_storage": "analytics",
111            "security_storage": "necessary",
112            "functionality_storage": "necessary",
113            "personalization_storage": "marketing",
114        }, acceptedCategories, 'update');
115
116        window.dataLayer.push({
117            'event': 'cookieConsent',
118            'cookieConsentCategory': acceptedCategories
119        });
120
121        window.beAcceptedCookiePolicies = acceptedCategories;
122
123        if (localStorage) {
124            localStorage.setItem('cookiesManager', JSON.stringify({
125                acceptedCategories: acceptedCategories
126            }));
127        }
128
129        window.dispatchEvent(new CustomEvent('success-save-cookies', { 'detail': { 'acceptedCategories': acceptedCategories } }));
130
131        focusFirstInteractiveElement();
132
133        if (window.activateGA) {
134            activateGA();
135        }
136    }
137
138    function _checkCookiesPolicy() {
139
140        var cookiesPolicy = Cookies.get("_CookiesPolicyAccepted");
141
142        if (typeof cookiesPolicy !== "undefined") {
143            if (!window.beAcceptedCookiePolicies) {
144                cookiesPolicy = JSON.parse(cookiesPolicy);
145                window.beAcceptedCookiePolicies = cookiesPolicy;
146            }
147        } else {
148
149            showCookieDiv();
150
151            var cookiePrivacyIframe = document.getElementById('cookie-privacy-iframe');
152
153            if (cookiePrivacyIframe) {
154
155                var iframe = document.querySelector('#cookie-privacy-iframe iframe');
156
157                if (iframe) {
158                    document.getElementsByClassName('cookiePolicies')[0].addEventListener('click', function (e) {
159                        e.preventDefault();
160                        iframe.src = this.href;
161                        cookiePrivacyIframe.style.display = 'block';
162                    });
163                }
164
165                document.querySelector('#cookie-privacy-iframe .custom-close-popup').addEventListener('click', function (e) {
166                    e.preventDefault();
167                    cookiePrivacyIframe.style.display = 'none';
168                });
169
170            }
171
172            var receiveCookieSettings = false;
173
174            if (localStorage) {
175                window.addEventListener('storage', function (e) {
176
177                    if (e.key !== 'cookiesManager' || receiveCookieSettings) {
178                        return;
179                    }
180
181                    if (e.storageArea.hasOwnProperty('cookiesManager')) {
182                        receiveCookieSettings = true;
183                        var dataCookies = JSON.parse(e.storageArea.cookiesManager);
184                        _acceptCookiesPolicy(dataCookies.acceptedCategories);
185                        if (cookiePrivacyIframe) {
186                            cookiePrivacyIframe.style.display = 'none';
187                        }
188                    }
189
190                });
191            }
192
193            window.addEventListener('success-save-cookies', function () {
194                document.getElementById('cookieWarning').classList.remove('preview');
195            });
196
197        }
198
199        window.dispatchEvent(new CustomEvent('load-cookies'));
200
201    }
202
203    function showCookieDiv() {
204        const cookieDiv = document.getElementById('cookieWarning');
205        const cookieAnnouncement = document.getElementById('cookieAnnouncement');
206        const cookieText = document.querySelector('.cookieContentItem');
207
208        if (cookieDiv) {
209            if (cookieAnnouncement) {
210                cookieAnnouncement.textContent = cookieText.textContent;
211                cookieAnnouncement.setAttribute('aria-live', 'assertive');
212                setTimeout(() => {
213                    cookieAnnouncement.textContent = '';
214                    cookieAnnouncement.setAttribute('aria-live', 'off');
215                }, 1000);
216            }
217            cookieDiv.classList.add('preview');
218            document.querySelector('.js-cookieBtn-focus').focus();
219        }
220
221        cookieDiv.classList.add('preview');
222        setTimeout(() => {
223            document.querySelector('.js-cookieBtn-focus').focus();
224        }, 100);
225    }
226    
227
228    const focusableElements = 'button, [href], input:not([disabled])';
229
230    function trapFocus(modal) {
231        const focusableContent = modal.querySelectorAll(focusableElements);
232        return {
233            first: focusableContent[0],
234            last: focusableContent[focusableContent.length - 1]
235        };
236    }
237
238    function loadScriptsForConsent() {
239        const cookiesPolicy = window.beAcceptedCookiePolicies || JSON.parse(Cookies.get('_CookiesPolicyAccepted') || '[]');
240
241        const scripts = document.querySelectorAll('script[data-cookie-consent][type="text/plain"]');
242
243        scripts.forEach((script) => {
244            const requiredConsent = script.getAttribute('data-cookie-consent');
245
246            if (cookiesPolicy.includes(requiredConsent)) {
247                const newScript = document.createElement('script');
248
249                Array.from(script.attributes).forEach(attr => {
250                    newScript.setAttribute(attr.name, attr.value);
251                });
252
253                if (script.src) {
254                    newScript.removeAttribute('type');
255                } else {
256                    newScript.type = 'text/javascript';
257                    newScript.textContent = script.textContent;
258                }
259
260                script.parentNode.replaceChild(newScript, script);
261            }
262        });
263    }
264
265    const cookiesModal = document.querySelector('.cookieContent');
266    const cookiesSecondModal = document.querySelector('.cookies-modal');
267    const cookieWarning = document.getElementById('cookieWarning');
268
269    document.addEventListener('keydown', function (e) {
270
271        if (cookieWarning && !cookieWarning.classList.contains('preview')) {
272            return;
273        }
274
275        if (e.key !== 'Tab' && e.keyCode !== 9) return;
276
277        const modal = cookiesSecondModal.classList.contains('cookies-modal--active') ? cookiesSecondModal : cookiesModal;
278        const { first, last } = trapFocus(modal);
279
280        if (e.shiftKey && document.activeElement === first) {
281            last.focus();
282            e.preventDefault();
283        } else if (!e.shiftKey && document.activeElement === last) {
284            first.focus();
285            e.preventDefault();
286        }
287
288    });
289
290    window.addEventListener('load', function () {
291        _checkCookiesPolicy();
292        loadScriptsForConsent();
293    });
294
295    window.addEventListener('success-save-cookies', function () {
296        loadScriptsForConsent();
297    });
298
299
300</script>
300 
300<script type="text/javascript">
301    (function () {
302        var cookieForm = null;
303
304        window.openCookieModal = function () {
305            document.querySelector('.cookies-modal').classList.add('cookies-modal--active');
306            document.querySelector('.cookies-modal__content').classList.add('cookies-modal__content--active');
307            document.querySelector('body').classList.add('active-cookies-modal');
308            setTimeout(function () {
309                document.querySelector('#analytics-cookies').focus();
310            }, 400);
311
312            document.querySelector('.cookies-modal').addEventListener('keydown', (e) => {
313                const { first, last } = trapFocus(document.querySelector('.cookies-modal'));
314
315                if (e.key !== 'Tab') return;
316                if (e.shiftKey && document.activeElement === first) {
317                    last.focus();
318                    e.preventDefault();
319                } else if (!e.shiftKey && document.activeElement === last) {
320                    first.focus();
321                    e.preventDefault();
322                }
323            })
324        };
325
326        window.acceptOnlyRequiredCookies = function () {
327            _acceptCookiesPolicy(["necessary"]);
328        };
329
330        function closeCookieModal() {
331            document.querySelector('.cookies-modal').classList.remove('cookies-modal--active');
332            document.querySelector('.cookies-modal__content').classList.remove('cookies-modal__content--active');
333            document.querySelector('body').classList.remove('active-cookies-modal');
334            document.querySelector('.js-cookieBtn-focus').focus();
335            focusFirstInteractiveElement();
336        }
337
338        function _saveCookiesPolicy(acceptedCategories) {
339
340            var options = {};
341
342            /** If check all categories, remember this for 1 year */
343            if (acceptedCategories.length === cookieForm.querySelectorAll('input[type="checkbox"]').length) {
344                options['expires'] = 365;
345            }
346
347            Cookies.set('_CookiesPolicyAccepted', JSON.stringify(acceptedCategories), options);
348
349            /** Send Info to GTM */
350            window.dataLayer = window.dataLayer || [];
351            function gtag() { dataLayer.push(arguments); }
352
353            googleConsentModeMapping({
354                "ad_storage": "marketing",
355                "ad_user_data": "marketing",
356                "ad_personalization": "marketing",
357                "analytics_storage": "analytics",
358                "security_storage": "necessary",
359                "functionality_storage": "necessary",
360                "personalization_storage": "marketing"
361            }, acceptedCategories, 'update');
362
363            window.dataLayer.push({
364                'event': 'cookieConsent',
365                'cookieConsentCategory': acceptedCategories
366            });
367
368            window.beAcceptedCookiePolicies = acceptedCategories;
369
370            if (window.activateGA) {
371                activateGA();
372            }
373        }
374
375        function eventHandlers() {
376            const cookieFormBtn = cookieForm.querySelector('.cookies-modal__submit button');
377            cookieFormBtn.addEventListener('click', function (e) {
378
379                e.preventDefault();
380
381                var inputs = cookieForm.querySelectorAll('input[type="checkbox"]:checked'),
382                    chooses = [];
383
384                inputs.forEach(function (ele) {
385                    chooses = chooses.concat(ele.value.split(','));
386                });
387
388                _saveCookiesPolicy(chooses);
389
390                if (localStorage) {
391                    localStorage.setItem('cookiesManager', JSON.stringify({
392                        acceptedCategories: chooses
393                    }));
394                }
395
396                window.dispatchEvent(new CustomEvent('success-save-cookies', { 'detail': { 'acceptedCategories': chooses } }));
397                cookieForm.querySelector('.cookies-modal__notification').style.display = 'none';
398                closeCookieModal();
399
400            });
401
402            document.querySelector('#cookies-modal .js-cookies-modal__close').addEventListener('click', function (e) {
403                e.preventDefault();
404                closeCookieModal();
405            });
406
407            document.addEventListener('keydown', function (event) {
408                const modalContent = document.querySelector('.cookies-modal__content');
409                if (modalContent.classList.contains('cookies-modal__content--active')) {
410                    if (event.key === 'Escape') {
411                        closeCookieModal();
412                    }
413                }
414            });
415
416        }
417
418        function init() {
419
420            cookieForm = document.getElementById('cookies-privacy-settings');
421            var inputs = cookieForm.querySelectorAll('input[type="checkbox"]:not(:disabled)'),
422                jsonCookiesPolicy = Cookies.get("_CookiesPolicyAccepted");
423
424            if (typeof jsonCookiesPolicy !== "undefined") {
425
426                var cookiesPolicy = JSON.parse(jsonCookiesPolicy);
427
428                inputs.forEach(function (ele) {
429
430                    var values = ele.value.split(',');
431
432                    ele.checked = cookiesPolicy.some(function (element) {
433                        return values.indexOf(element) > -1
434                    });
435
436                });
437
438            } else {
439
440                inputs.forEach(function (ele) {
441                    if (!ele.checked && ele.hasAttribute('data-default-checked')) {
442                        ele.checked = true;
443                    }
444                });
445
446                cookieForm.querySelector('.cookies-modal__notification').style.display = 'block';
447
448            }
449
450            eventHandlers();
451
452        }
453
454        window.addEventListener('load', function () {
455            init();
456        });
457
458    })();
459
460</script>
460 
460<script id="translations-data" type="application/json">
461	{
462	        "prevSlide": "Previous slide",
463	        "nextSlide": "Next slide",
464	        "paginationNext": "Slide to number",
465	        "firstSlide": "First slide",
466	        "lastSlide": "Last slide",
467	        "contrastActivate": "Activate high contrast mode",
468	        "contrastDeactivate": "Deactivate high contrast mode",
469	        "changeTheContrast": "a11y.change_the_contrast",
470			"contrastMode": "High contrast mode",
471	        "moreInformations": "More"
472	    }
473</script>
473 
473<script src="/templates/paris/runtime.0417f219.js"></script>
473<script src="/templates/paris/global.43e749ff.js"></script>
473 
473<script src="/templates/paris/1.53223860.js"></script>
473<script src="/templates/paris/9.14784903.js"></script>
473<script src="/templates/paris/app.86d36d04.js"></script>
473 
473<script defer src="//open.upperbooking.com/apogeeboutiquehotelspa/Booking.min.js?locale=en"></script>
473 
473<script>
474    document.addEventListener('DOMContentLoaded', function () {
475
476        if (window.matchMedia("(max-width: 768px)").matches) {
477            return;
478        };
479
480        const today = new Date();
481        const tomorrow = new Date();
482        tomorrow.setDate(today.getDate() + 1);
483
484        const formatDateWithZero = (str) => {
485            return String(str).padStart(2, '0');
486        };
487
488        const formatDate = (date) => {
489            const day = formatDateWithZero(date.getDate());
490            const month = formatDateWithZero(date.getMonth() + 1);
491            const year = date.getFullYear();
492            return `${day}.${month}.${year}`;
493        };
494
495        const getMonthName = (date) => {
496            const monthIndex = date.getMonth();
497            if (monthTranslations.length > 0) {
498                return monthTranslations[monthIndex];
499            } else {
500                return formatDateWithZero(date.getMonth() + 1);
501            }
502        };
503
504        const calcDatePatternSeparator = (inputValue) => {
505            if (inputValue.length === 0) return '';
506            const lastChar = inputValue.charAt(inputValue.length - 1);
507
508            return /\p{L}|\p{N}|\s/u.test(lastChar) ? '' : lastChar;
509        };
510
511        const updateDate = (input, boxSelector, date) => {
512            const box = input.closest(boxSelector);
513            if (!box) return;
514
515            const useShortYear = box.hasAttribute('data-short-year');
516            input.value = formatDate(date);
517
518            const dayElement = box.querySelector('.js-input-hld__day-number');
519            const monthElement = box.querySelector('.js-input-hld__month');
520            const yearElement = box.querySelector('.js-input-hld__year');
521
522            if (dayElement)
523                dayElement.textContent = formatDateWithZero(date.getDate()) + calcDatePatternSeparator(dayElement.textContent);
524
525            if (monthElement)
526                monthElement.textContent = getMonthName(date) + calcDatePatternSeparator(monthElement.textContent);
527
528            if (yearElement) {
529                yearElement.textContent = (useShortYear ? String(date.getFullYear()).slice(-2) : date.getFullYear()) + calcDatePatternSeparator(yearElement.textContent);
530            }
531        };
532
533        const panelElement = document.querySelector('.js-site-panel-month');
534        const monthTranslations = [];
535
536        if (panelElement && document.documentElement.lang !== 'ar') {
537            for (let i = 1; i <= 12; i++) {
538                const monthName = panelElement.getAttribute(`data-month-name-${i}`) ||
539                                panelElement.querySelector(`[data-month-name-${i}]`)?.getAttribute(`data-month-name-${i}`);
540
541                if (monthName) {
542                    monthTranslations.push(monthName);
543                } else {
544                    break;
545                }
546            }
547        };
548
549        const checkinInputs = document.querySelectorAll('.js-input-checkin');
550        const checkoutInputs = document.querySelectorAll('.js-input-checkout');
551
552        checkinInputs.forEach((input) => {
553            updateDate(input, '.js-checkin-box', today);
554        });
555
556        checkoutInputs.forEach((input) => {
557            updateDate(input, '.js-checkout-box', tomorrow);
558        });
559    });
560</script>
560 <link rel="stylesheet" href="/templates/paris/icon-packages/paris-icon/style.1e4b16da.css"> 
560<script type="application/ld+json">
561            {"@context":"https:\/\/schema.org","@type":"Hotel","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/events","address":{"@type":"PostalAddress","streetAddress":"212 Johann Rissik Drive","addressLocality":" Pretoria","postalCode":"0181","addressCountry":"ZA"},"geo":{"@type":"GeoCoordinates","latitude":-25.7896595,"longitude":28.2320775},"telephone":"0127860740","email":"[email protected]","image":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202506251030050.Screenshot_2025_06_25_at_10.29.56.png","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}
562        </script>
562 
562<script type="application/ld+json">
563            {"@context":"https:\/\/schema.org","@type":"ItemList","url":"https:\/\/www.apogeehotel.co.za\/events","numberOfItems":15,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Article","headline":"Easter 2026 Deal at Apogee Hotel","url":"https:\/\/www.apogeehotel.co.za\/events\/easter-at-apogee","description":"We invite you to spend a beautiful Easter Sunday at\u00a0Apogee Boutique Hotel and Spa. Nestled in the heart of Pretoria, our Trib...","datePublished":"2026-04-05","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/5532a172-f5ff-456d-8e49-e3fb1622b402.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Article","headline":"Apogee Spa & Wellness - Serenity Escape Package","url":"https:\/\/www.apogeehotel.co.za\/events\/apogee-spa-wellness-serenity-escape-package","description":"Indulge in a 90-minute journey of restoration this April. Featuring a Full Body Swedish Massage and your choice of a Classic ...","datePublished":"2026-04-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/a0298bf6-4f75-41c5-bab7-c06e651c9ae5.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Article","headline":"Mothers Day Spa Special","url":"https:\/\/www.apogeehotel.co.za\/events\/mothers-day-spa-special","description":"A Tribute to MomAnnouncement: We have extended the Mother's Day Spa Special to include Saturday the 9.05.2026 - as we are ful...","datePublished":"2026-05-09","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/19a8c313-3ff3-40b5-a940-fec303a50412.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Article","headline":"Mother's Day High Tea at Apogee","url":"https:\/\/www.apogeehotel.co.za\/events\/mother-s-day-high-tea-at-apogee","description":"Mother\u2019s Day:\u00a0 High Tea at ApogeeDate: 10 May 2026Time: 11:30 AM \u2013 4:00 PMLocation: 212 Johann Rissik Drive, Waterkloof Ridge...","datePublished":"2026-04-15","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/6946dbae-f3c6-4da0-aeea-ae1a84a8d049.png","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Article","headline":"Autumn Radiance Spa Package","url":"https:\/\/www.apogeehotel.co.za\/events\/autumn-radiance-sp
563a-package","description":"There\u2019s something special about Pretoria as the season shifts - the light softens, the air crisps, and your skin needs a litt...","datePublished":"2026-05-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/bccf3935-da31-47bc-8acb-5714d48ad8b8.png","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Article","headline":"June - Winter Warmer Spa Experience","url":"https:\/\/www.apogeehotel.co.za\/events\/june-winter-warmer-spa-experience","description":"June Winter Warmer Spa ExperienceEscape the winter chill and recharge at Apogee Spa &amp; Wellness in Waterkloof.\u00a0June Spa Of...","datePublished":"2026-06-02","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/09efc6d9-9305-41f9-9155-fa7f03e343d6.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":7,"item":{"@type":"Article","headline":"Father's Day Lunch at Apogee","url":"https:\/\/www.apogeehotel.co.za\/events\/father-s-day-lunch-at-apogee","description":"Father's Day Lunch at ApogeeCelebrate Father's Day with an exceptional dining experience at Apogee Boutique Hotel &amp; Spa i...","datePublished":"2026-06-21","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/08484e2e-f252-46c1-bed4-d2bff0a37d66.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":8,"item":{"@type":"Article","headline":"Winter Indulgence Spa Package","url":"https:\/\/www.apogeehotel.co.za\/events\/winter-indulgence-spa-package","description":"Mid-Week Warmth and Luxury in WaterkloofWinter in Pretoria has a crisp charm, but it calls for a moment of genuine warmth. St...","datePublished":"2026-07-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/0258269f-7da0-47f0-9833-929b3aaa3d3e.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":9,"item":{"@type":"Article","headline":"Womens Month: The Ubuhle Ritual","url":"https:\/\/www.apogeehotel.co.za\/events\/womens-month-the-ubuhle-ritual","description":"Our Women's Month spa special \u00b7 Tuesdays to Fridays \u00b7 All August \u00b7 R999 per personUbuhle. Beauty, in isiZulu. And in August -...","datePublished":"2026-08-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/p
563osts\/c905a47c-6bd2-4379-9e42-dcaf54ef0210.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":10,"item":{"@type":"Article","headline":"A Tribute You Can Taste \u2014 Women's Day Lunch","url":"https:\/\/www.apogeehotel.co.za\/events\/a-tribute-you-can-taste-women-s-day-lunch","description":"Saturday, 8 August 2026 | 12:00\u201316:00 | Tribute Restaurant, Apogee Boutique Hotel &amp; SpaPrice: R750.00 per person - exclud...","datePublished":"2026-08-08","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/828c173b-9a1d-4c3c-94bd-43a0e7813c30.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":11,"item":{"@type":"Article","headline":"Chef's Table Menu at Tribute \u2014 The August Edition","url":"https:\/\/www.apogeehotel.co.za\/events\/chef-s-table-at-tribute-the-august-edition","description":"Chef's Table at Tribute \u2014 The August EditionDates: Daily, 1 \u2013 31 August 2026Location: Tribute Restaurant, Apogee Boutique Hot...","datePublished":"2026-08-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/3acd8224-7e10-431b-95ca-a0da82dfe10f.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":12,"item":{"@type":"Article","headline":"Dancing in the Moonlight \u2014 Apogee Matric Dance Packages","url":"https:\/\/www.apogeehotel.co.za\/events\/dancing-in-the-moonlight-apogee-matric-dance-packages","description":"Dancing in the Moonlight \u2014 Matric Dance PackagesAn all-year matric dance experience at Apogee Boutique Hotel &amp; Spa.Matric...","datePublished":"2026-08-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/703852be-9e90-4cfe-8ccb-53853987a564.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":13,"item":{"@type":"Article","headline":"The Chef's Table Menu | September Edition at Tribute","url":"https:\/\/www.apogeehotel.co.za\/events\/the-chef-s-table-menu-september-edition-at-tribute","description":"Dates: 1 \u2013 30 September 2026Location: Tribute Restaurant, Apogee Boutique Hotel &amp; Spa, Waterkloof RidgeEvery month, we ha...","datePublished":"2026-09-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/90d13967-9532-49fc-b95e-0ba539d1b9a2.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":14,"item":{"@type":"Article","headline":"Spring Spa Special","url":"https:\/\/www.apogeehotel.co.za\/events\/spring-spa-special","description":"Every September, we hand the treatment menu over to you. Our Spring Spa Special is exactly what it sounds like - build your o...","datePublished":"2026-09-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/p
563osts\/c98e5455-1786-4d84-b842-d23dfec75626.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}},{"@type":"ListItem","position":15,"item":{"@type":"Article","headline":"Hello Summer Spa Special","url":"https:\/\/www.apogeehotel.co.za\/events\/hello-summer-spa-special","description":"Hello Summer Spa SpecialDates: October \u00b7 Tuesdays \u2013 SundaysLocation: Apogee Spa &amp; Wellness, Apogee Boutique Hotel &amp; S...","datePublished":"2026-10-01","image":"https:\/\/r.profitroom.net\/apogeeboutiquehotelspa\/images\/posts\/45823b81-ae09-4b55-9281-f36001f426bd.jpg","author":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}},"publisher":{"@type":"Organization","name":"Apogee Boutique Hotel & Spa","url":"https:\/\/www.apogeehotel.co.za\/","logo":{"@type":"ImageObject","contentUrl":"https:\/\/r.profitroom.pl\/apogeeboutiquehotelspa\/images\/202505291108370.1.png"}}}}],"name":"Events"}
564        </script>
564 
564<script type="text/javascript">
565document.querySelectorAll('.site-logo').forEach(el => {
566  el.alt = 'Luxury 5 star boutique hotel in Pretoria - Apogee';
567});
568
569document.querySelectorAll('.is-facebook').forEach(el => {
570  if (el.closest('.socials--footer')) {
571    el.setAttribute('rel', 'nofollow');
572  }
573});
574
575document.querySelectorAll('.socials__icon--instagram').forEach(el => {
576  if (el.closest('.socials--footer')) {
577    el.setAttribute('rel', 'nofollow');
578  }
579});
580
581document.querySelectorAll('.route-btn').forEach(el => {
582  el.setAttribute('rel', 'nofollow');
583});
584
585document.querySelectorAll('.footer-navigation__link').forEach(el => {
586  if (el.getAttribute('href') === '/privacy') {
587    el.setAttribute('rel', 'nofollow');
588  }
589});
590
591document.querySelectorAll('.footer-navigation__link').forEach(el => {
592  const text = el.textContent.trim();
593
594  if (text === 'Homepage') {
595    el.textContent = 'Hotel in Pretoria';
596  }
597
598  if (text === 'Conferences') {
599    el.textContent = 'Conference venue';
600  }
601
602  if (text === 'Dining') {
603    el.textContent = 'Restaurant';
604  }
605});
606</script>
606 
606<script>
607  (function() {
608    let messages =  [];messages.push({
609          type: 'custom',
610          delay: 3,
611          params: {
612              image: '',
613              title: '\u2728\u0020Apogee\u0020Boutique\u0020Hotel\u0020\u0026\u0020Spa\u0020\u2014\u0020Thinking\u0020of\u0020Your\u0020Every\u0020Need\u0020\u2728',
614              subtitle: '',
615              text: 'Stay\u0020your\u0020way\u0020at\u0020Apogee\u0020Boutique\u0020Hotel\u0020\u0026\u0020Spa\u0021\u0020Whether\u0020it\u2019s\u0020a\u0020long\u0020stay,\u0020last\u002Dminute\u0020escape\u0020or\u0020planned\u0020getaway,\u0020we\u0020think\u0020of\u0020your\u0020every\u0020need.\u0020Stay\u0020longer,\u0020save\u0020more\u0021\u0020\nBook\u0020your\u0020stay\u0020via\u0020our\u0020website.',
616              url: '/dining',
617              button: 'Read\u0020more',
618              code: '',
619              buttonTarget: '_self',
620              buttonOnClick: '',
621              tag: '',
622          },
623        });if (messages.length) {
624      messages[0].delay = 1;
625    }
626
627    window.boosterSettings = {
628      position: 'left',
629      icon: ('custom' === 'announcement') ? 'alert' : 'custom',
630      messages: messages,
631    };
632
633      })();
634
635</script>
635<script async src="https://booster.profitroom.com/build/app.min.js?v=4389876e46abc9da432e8cb189005285"></script>
vendor: 1 bytes, line 635
635
636<script>
637        const captchaWidgetData = {
638            siteKey: '',
639            responseFieldName: 'cf-turnstile-response',
640            isActive: false,
641            theme: 'light'
642        };
643
644        function loadTurnstileScript() {
645            if (!captchaWidgetData.isActive)
646                return;
647
648            // Check if Turnstile script is already loaded
649            if (document.querySelector('script[src*="challenges.cloudflare.com/turnstile"]')) {
650                return;
651            }
652
653            let cfTurnstileScript = document.createElement('script');
654            cfTurnstileScript.setAttribute('src', 'https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=cfTurnstileReady');
655            cfTurnstileScript.setAttribute('defer', 'defer');
656            document.head.appendChild(cfTurnstileScript);
657        }
658    </script>
658</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.