ACADEMIA Boutique Hotels
historic secluded mansions, unique in their location, design, and atmosphere
Hospitality as an art!
Special offers
GENIUS Promo
Get a bonus on your first booking on the website
Early Booking
Plan your trip in advance for a stay of at least 3 nights from September through December to receive a discount of 15% or more
Longstay
20% discount on stays of 5 nights or more
Happy Birthday
Special privileges for birthday celebrants and a 15% discount on stays of 2 nights or more
AEROFLOT BONUS
Up to 1,000 miles for every night you stay in a mansion!
Aristocratic St. Petersburg
A unique getaway steeped in opulent aristocratic traditions
St. Petersburg: A Journey into History
A visit to the Shuvalov Mansion, including a complimentary lecture
Wedding offer
ACADEMIA's wedding proposal is a harmony of historic interiors and impeccable service
WE INVITE YOU TO OPEN‑AIR FILM SCREENINGS
We're watching movies all summer long in a cozy courtyard on Vasilievsky Island!
Relax at the ACADEMIA Vasilievsky Hotel and watch great European cinema in the open air during your stay.
Film screenings are held on weekends. Popcorn is included, and in addition to the screening, you can order drinks and snacks from the Brasserie concept chef from the short menu.
Spend a wonderful evening in St. Petersburg with a French flair!
(() => {
// ================= КОНФИГУРАЦИЯ КОНТЕНТА =================
const SLIDE_CONTENT = {
default: {
title: "ГДЕ ПРОВЕСТИ МАЙСКИЕ ВЫХОДНЫЕ В САНКТ-ПЕТЕРБУРГЕ",
text: '<p>Весна в Петербурге всегда нетороплива, мечтательна и наполнена вдохновением. Приглашаем вас попробовать Графские завтраки, стать званым гостем на гастрономическом ужине в баре-ресторане.<br/>Послушать живую музыку и получить коктейль в подарок на вечеринке в честь открытия летней террасы во французской Брассери 8 мая.<br/><br/>Выбирайте свой особняк ACADEMIA для ваших майских выходных, <a href="/booking/?date=2026-05-01&nights=2&adults=2&children-age=&access-code=&hotel_id=41018 ">бронируйте ваш номер на официальном сайте</a> и участвуйте в розыгрыше приятных подарков от ACADEMIA и наших партнеров!<br/><br/>Проведите свои выходные в коллекции особняков ACADEMIA!</p>',
buttonText: "ВЫБРАТЬ НОМЕР",
buttonUrl: "/booking/?date=2026-05-01&nights=2&adults=2&children-age=&access-code=&hotel_id=41018",
},
1: {
title: "Майский розыгрыш подарков",
text: '<p>Выбирайте любой из особняков ACADEMIA для ваших майских выходных, <a href="/booking/?date=2026-05-01&nights=2&adults=2&children-age=&access-code=&hotel_id=41018">бронируйте на официальном сайте</a> и участвуйте в розыгрыше приятных подарков от ACADEMIA и наших партнеров!<br/><br/><strong>Для номеров высоких категорий будут разыграны:</strong><br/>- визит в ACADEMIA СПА<br/>- представительский трансфер<br/>- приветственный сет в номер<br/>- завтрак.<br/><br/><strong>Для стандартных категорий номеров мы подготовили подарочные сертификаты от наших партнеров:</strong> RXBSHOES, Ruskala Brand, KIRICLAN, Amazing cacao и Императорского фарфорового завода.</p>',
},
};
// ================= СЕЛЕКТОРЫ =================
const SELECTORS = {
slider: ".brxe-slider", // Контейнер слайдера
slide: ".swiper-slide", // Слайды
activeSlide: ".swiper-slide-active", // Активный слайд
header: "#sliderHeader",
text: "#sliderText",
button: "#sliderBtn",
};
// ================= СОСТОЯНИЕ =================
const currentContent = {
title: null,
text: null,
buttonText: null,
buttonUrl: null,
};
// ================= ОБНОВЛЕНИЕ КОНТЕНТА =================
function updateContent(slideIndex) {
const els = {
header: document.querySelector(SELECTORS.header),
text: document.querySelector(SELECTORS.text),
button: document.querySelector(SELECTORS.button),
};
if (!els.button) return; // Если нет кнопки - выходим
const slideConfig = SLIDE_CONTENT[slideIndex] || {};
const def = SLIDE_CONTENT.default;
// Формируем новое состояние (с fallback на default)
const newContent = {
title: slideConfig.title !== undefined ? slideConfig.title : def.title,
text: slideConfig.text !== undefined ? slideConfig.text : def.text,
buttonText:
slideConfig.buttonText !== undefined
? slideConfig.buttonText
: def.buttonText,
buttonUrl:
slideConfig.buttonUrl !== undefined
? slideConfig.buttonUrl
: def.buttonUrl,
};
// Обновляем только изменившиеся поля
if (newContent.title !== currentContent.title && els.header) {
els.header.textContent = newContent.title;
currentContent.title = newContent.title;
}
if (newContent.text !== currentContent.text && els.text) {
els.text.innerHTML = newContent.text; // innerHTML для поддержки HTML тегов
currentContent.text = newContent.text;
}
if (newContent.buttonText !== currentContent.buttonText) {
els.button.textContent = newContent.buttonText;
currentContent.buttonText = newContent.buttonText;
}
if (newContent.buttonUrl !== currentContent.buttonUrl) {
els.button.href = newContent.buttonUrl;
currentContent.buttonUrl = newContent.buttonUrl;
}
}
// ================= ПОЛУЧЕНИЕ ИНДЕКСА АКТИВНОГО СЛАЙДА =================
function getActiveSlideIndex() {
const activeSlide = document.querySelector(SELECTORS.activeSlide);
if (!activeSlide) return 0;
// Пробуем получить индекс из разных атрибутов
const index =
activeSlide.getAttribute("data-swiper-slide-index") ||
activeSlide.getAttribute("data-brx-swiper-index") ||
0;
return parseInt(index, 10);
}
// ================= ИНИЦИАЛИЗАЦИЯ =================
function init() {
const slider = document.querySelector(SELECTORS.slider);
if (!slider) {
setTimeout(init, 300); // Повторяем если слайдер еще не загружен
return;
}
// Начальное обновление
const initialIndex = getActiveSlideIndex();
updateContent(initialIndex);
// Способ 1: Используем события Swiper (если доступен)
if (typeof Swiper !== "undefined") {
const swiperInstance = slider.swiper;
if (swiperInstance) {
swiperInstance.on("slideChange", function () {
updateContent(this.activeIndex);
});
}
}
// Способ 2: MutationObserver (универсальный, работает всегда)
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (
mutation.type === "attributes" &&
mutation.attributeName === "class" &&
mutation.target.classList.contains("swiper-slide")
) {
// Проверяем, появился ли класс swiper-slide-active
if (mutation.target.classList.contains("swiper-slide-active")) {
const index = getActiveSlideIndex();
updateContent(index);
}
}
});
});
// Наблюдаем за всеми слайдами
const slides = document.querySelectorAll(SELECTORS.slide);
slides.forEach((slide) => {
observer.observe(slide, { attributes: true, attributeFilter: ["class"] });
});
// Также наблюдаем за добавлением новых слайдов (для динамических слайдеров)
const wrapper = slider.querySelector(".swiper-wrapper");
if (wrapper) {
const wrapperObserver = new MutationObserver(() => {
const newSlides = wrapper.querySelectorAll(SELECTORS.slide);
newSlides.forEach((slide) => {
observer.observe(slide, {
attributes: true,
attributeFilter: ["class"],
});
});
});
wrapperObserver.observe(wrapper, { childList: true });
}
}
// ================= ЗАПУСК =================
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", init);
} else {
init();
}
})();
Historic city mansions
ACADEMIA Boutique Hotels
ACADEMIA
Mansion Shuvaloff
Boutique hotel in a 19th-century mansion
An authentic boutique hotel in a 19th-century mansion in the heart of historic St. Petersburg
- Cultural heritage site in the historic center
- Unique historic residence
- Authentic interior details and antiques
- Concierge service
- Executive shuttle service
- ACADEMIA Bar Shuvaloff
- ACADEMIA SPA
- An atmosphere of experiences
- Dyson hair dryers in Historical Residences
- Your pet is welcome
- Cultural heritage site in the historic center
- Unique historic residence
- Authentic interior details and antiques
- Concierge service
- Executive shuttle service
- ACADEMIA Bar Shuvaloff
- ACADEMIA SPA
- An atmosphere of experiences
- Dyson hair dryers in Historical Residences
- Your pet is welcome
ACADEMIA
Mansion Teploff
Classic city hotel
in the Teplov mansion, near the English Embankment and the Admiralty
- Atmospheric hotel in the Teplov mansion
- Panoramic suites
- Welcome – refreshments upon check-in
- Mansion near the English Embankment and the Admiralty
- Interior design in the style of Catherine’s classicism
- ACADEMIA care service
- Spacious rooms and suites with equipped kitchens
- Air conditioning in every room
- Pet-friendly
- Branded VIP transfer
- Atmospheric hotel in the Teplov mansion
- Panoramic suites
- Welcome – refreshments upon check-in
- Mansion near the English Embankment and the Admiralty
- Interior design in the style of Catherine’s classicism
- ACADEMIA care service
- Spacious rooms and suites with equipped kitchens
- Air conditioning in every room
- Pet-friendly
- Branded VIP transfer
ACADEMIA
Vasilevsky
Classic city hotel
in the center of St. Petersburg, near the Palace Embankment of the Neva River
- Hotel near the Palace Embankment
- Spacious rooms and suites with elegant design
- Refined luxury – clawfoot bathtub by the window
- Fully equipped kitchens
- Rooms for guests with disabilities
- Pet-friendly
- Exclusive VIP transfer
- Welcome treat upon check-in
- ACADEMIA concierge service
- French restaurant BRASSERIE by ACADEMIA
- Hotel near the Palace Embankment
- Spacious rooms and suites with elegant design
- Refined luxury – clawfoot bathtub by the window
- Fully equipped kitchens
- Rooms for guests with disabilities
- Pet-friendly
- Exclusive VIP transfer
- Welcome treat upon check-in
- ACADEMIA concierge service
- French restaurant BRASSERIE by ACADEMIA
The service that becomes the head of your story
Every moment of your stay is a little story filled with attention, comfort, and care.
At ACADEMIA, hospitality becomes part of your story. We know that traveling is not only about the journey, but also about the emotions that stay with you for a long time.