---
site_name: "Filipínské & Thajské masáže"
site_description: Nejlepší filipínské a thajské masáže v Praze
site_url: https://edensgarden.cz
contact_email: reg@edensgarden.cz

title: Massages for two 2025
url: https://edensgarden.cz/en/massage/massages-for-two-2025/
date: 2025-05-09
modified: 2025-05-19
type: page
---

[![Eden&apos;s Garden logo](https://edensgarden.cz/img/edens-garden-logonoclaim-wh.svg "Eden&apos;s Garden")](https://edensgarden.cz/)

# Massages for two 2025

Couple massage

RESERVATION

PRICE LIST

## Effects of massage for two

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

A great gift for any occasion.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

It fosters a mutual bond and deepens the emotional connection.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

Great for couples and friends.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

It harmonizes the energy of both partners and improves the overall mood.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

Enjoy the warm feeling together.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

It restores flexibility to the body, relieves muscle tension and pain.

![edens garden list wh](https://edensgarden.cz/img/edens-garden-list-wh.svg "edens garden list wh")

It deepens intimacy and trust, creating an unforgettable shared experience.

### Treat yourself to relaxation with the top-rated massages in Prague.

[![Massage icon](https://edensgarden.cz/wp-content/uploads/2025/02/masaz-ico.png "Massage icon")](https://edensgarden.cz/en/massage/)

### [We Have Massages and Wellness for Everyone](https://edensgarden.cz/en/massage/)

Choose from the widest selection of massages, including our unique Filipino massage. Enjoy an individual massage, couples massage, pregnancy massage, or special massages for children.

[![Benefits at Edens Garden](https://edensgarden.cz/wp-content/uploads/2023/05/benefity.png "Benefits at Edens Garden")](https://edensgarden.cz/en/employee-benefits/)

### [Payment by employee benefits](https://edensgarden.cz/en/employee-benefits/)

You can pay for massages, gift vouchers , and permanent card using benefit programs (FKSP, Edenred, Pluxee, Benefit Plus, Up, Benefity CZ).

[![Gift Cards Edens Garden](https://edensgarden.cz/wp-content/uploads/2023/11/karta-150x125-1.png "Gift Cards Edens Garden")](https://eshop.edensgarden.cz/en/)

### [Vouchers and permanent card with Up to 30% Off](https://eshop.edensgarden.cz/en/)

Give the gift of relaxation. Get your gift vouchers or permanent card and enjoy great prices with a 30% discount.

[![Branches Edens Garden](https://edensgarden.cz/wp-content/uploads/2023/11/pobocky.png "Branches Edens Garden")](https://edensgarden.cz/en/contact/)

### [Relaxation at 4 Locations in Prague](https://edensgarden.cz/en/contact/)

Visit us daily from 10 am to 11 pm and enjoy your massage at the branch of your choice. At our premium Grandior branch, you can also experience luxury wellness, a hammam ritual, or beer spa.

[![Google reviews](https://edensgarden.cz/wp-content/uploads/2023/06/google-recenze49.png "Google reviews")](https://www.google.cz/maps/search/Edens+Garden/@50.0679908,14.4151775,14z/data=!3m1!4b1)

[Book a massage](https://edensgarden.cz/en/massage/massages-for-two-reservation/)

### Shared Moments of Comfort and Relaxation

Imagine this: soft lighting, soothing music, and the scent of aromatic oils. Beside you, someone you care about – a partner, a friend, or maybe your sister. The massage tables are ready, and the atmosphere invites you to fully let go. Doesn’t it sound like the perfect way to forget about the world outside?

Couples massages are more than just a relaxing treatment. They are an experience that transports you to another dimension – one filled with peace, shared harmony, and the feeling that, for a moment, nothing else exists. What could be a better gift for a birthday, anniversary, or simply for the joy of it?

[![Dvě masérky provádějí Lomi Lomi masáž pro dvě ženy v masážním salonu.](https://edensgarden.cz/wp-content/uploads/2024/07/Masaz-Lomi-Lomi-masaz-pro-dva750_500.webp "Masáž Lomi Lomi masáž pro dva750_500")](https://edensgarden.cz/wp-content/uploads/2024/07 / Masaz-Lomi-Lomi-masaz-pro-dva750_500.webp)

[![Dvě ženy leží na masážních stolech a užívají si hloubkovou masáž od dvou masérek v modrých uniformách.](https://edensgarden.cz/wp-content/uploads/2024/07/Hloubkova-masaz-pro-dva-750_500.webp "Hloubková masáž pro dva 750_500")](https://edensgarden.cz/wp-content/uploads/2024/07 / Hloubkova-masaz-pro-dva-750_500.webp)

[![Dvě ženy leží na masážních stolech a užívají si klasickou thajskou masáž od dvou masérek v modrých uniformách.](https://edensgarden.cz/wp-content/uploads/2024/07/Klasicka-thajska-masaz-pro-dva-neboli-parova-masaz_750_500-.webp "Klasická thajská masáž pro dva neboli párová masáž_750_500")](https://edensgarden.cz/wp-content/uploads/2024/07 / Klasicka-thajska-masaz-pro-dva-neboli-parova-masaz_750_500-.webp)

[![Dvě ženy leží na masážních stolech a užívají si sportovní masáž od dvou masérek v modrých uniformách.](https://edensgarden.cz/wp-content/uploads/2024/07/Sportovni-masaz-pro-dva-neboli-parova-masaz_750_500-.webp "Sportovní masáž pro dva neboli párová masáž_750_500")](https://edensgarden.cz/wp-content/uploads/2024/07 / Sportovni-masaz-pro-dva-neboli-parova-masaz_750_500-.webp)

### Massage price list

For two 60 min from

2598 CZK

For two 90 min from

3398 CZK

[Book ›](https://edensgarden.cz/en/massage/massages-for-two-reservation/)

Prices apply to the Štěpánská, Na Poříčí, and Vyskočilova branches, where you can choose from a wide range of massages.

All massages, including gift vouchers and membership cards, can be paid for by credit card, FKSP, or employee benefits.

When you purchase a massage membership card, you also receive discounted prices of up to 30%.

### Premium massage price list

For two 60 min from

3598 CZK

For two 90 min from

4998 CZK

[Book a premium ›](https://edensgarden.cz/?page_id=18756)

The price list applies to the Grandior Spa branch, where you get 30 minutes of free wellness with every massage.

Exclusive treatments such as a hammam ritual, beer bath, jacuzzi or salt tepidarium await you.

### Find the nearest branch:

Click on a branch and make a reservation:

Find Nearest Branch

 Štěpánská – Prague 1

 Vyskočilova – Prague 4

 Grandior Spa – Prague 1

 Na Poříčí – Prague 1

Click to activate the map

Find My Position

Navigate to location

X

Navigate to the branch Find My Position

Show all branches

Branch list

`; } // Navigation and Find My Position buttons on the original map const navigate Button = document.get Element By Id('navigate-button'); const find Position Button = document.get Element By Id('find-position-button'); navigate Button.add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation if (current Branch && current Branch.url) { window.location.href = current Branch.url; } else { alert(branch Map Data.please Select Branch First); } }); find Position Button.add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation if (navigator.geolocation) { navigator.geolocation.get Current Position(success Find Position Button, error Find Position Button, { enable High Accuracy: true, timeout: 5000, maximum Age: 0 }); } else { alert(branch Map Data.geolocation Not Supported); } }); // Add functionality to open the large map document.get Element By Id('open-large-map').add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation document.get Element By Id('large-map-modal').style.display = 'block'; document.body.style.overflow = 'hidden'; // Prevents background scrolling // Hide navigation button on the small map navigate Button.style.display = 'none'; set Timeout(function() { initialize Large Map(); // Update map dimensions after displaying the modal large Map.invalidate Size(); if (current Branch) { // If a branch is selected, update the large map update Large Map With Current Branch(); } else { // If no branch is selected, display all branches add All Branches To Large Map(); } // Add user location marker back to the large map if it exists if (user Location Marker) { user Location Marker.add To(large Map); } }, 100); // Delay to ensure the map is visible // Populate branch list without user location populate Branch List(null); }); document.get Element By Id('close-large-map').add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation document.get Element By Id('large-map-modal').style.display = 'none'; document.body.style.overflow = ''; // Restores scrolling // Show navigation button on the small map if a branch is selected if (current Branch) { navigate Button.style.display = 'flex'; } else { navigate Button.style.display = 'none'; } // Remove user location marker from large map if (user Location Marker) { large Map.remove Layer(user Location Marker); } }); let large Map Initialized = false; let large Map; function initialize Large Map() { if (!large Map Initialized) { large Map = L.map('large-map').set View([50.085, 14.420], 8); L.tile Layer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { max Zoom: 18, attribution: '© Open Street Map' }).add To(large Map); large Map Initialized = true; // Add event listeners for custom zoom buttons document.get Element By Id('large-zoom-in').add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation large Map.zoom In(); }); document.get Element By Id('large-zoom-out').add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation large Map.zoom Out(); }); // Add event listener for navigation button on the large map const large Navigate Button = document.get Element By Id('large-navigate-button'); large Navigate Button.add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation if (current Branch && current Branch.url) { window.location.href = current Branch.url; } else { alert(branch Map Data.please Select Branch First); } }); // Add event listener for Find My Position button on the large map const large Find Position Button = document.get Element By Id('large-find-position-button'); large Find Position Button.add Event Listener('click', function(event) { event.prevent Default(); event.stop Propagation(); // Prevents event propagation if (navigator.geolocation) { navigator.geolocation.get Current Position(success Large Map, error Large Map, { enable High Accuracy: true, timeout: 5000, maximum Age: 0 }); } else { alert(branch Map Data.geolocation Not Supported); } }); } } function update Large Map With Current Branch() { // Remove existing markers (except user Location Marker) large Map.each Layer(function (layer) { if (layer instanceof L.Marker && layer !== user Location Marker) { large Map.remove Layer(layer); } }); // Choose icon based on the branch let icon = default Icon; if (current Branch.id === 'grandiorspa-latitude') { icon = spa Icon; } const large Marker = L.marker([current Branch.lat, current Branch.lng], { icon: icon }) .bind Popup(get Popup Content(current Branch)) .add To(large Map); large Map.set View([current Branch.lat, current Branch.lng], 16); // Open popup after the map is fully rendered large Map.when Ready(function() { open Popup And Center(large Marker, large Map); }); document.get Element By Id('large-navigate-button').style.display = 'flex'; document.get Element By Id('large-reset-control').style.display = 'block'; // Hide navigation button on the small map when large map is open navigate Button.style.display = 'none'; // Add user location marker back to the large map if it exists if (user Location Marker) { user Location Marker.add To(large Map); } } function add All Branches To Large Map() { // Remove existing markers (except user Location Marker) large Map.each Layer(function (layer) { if (layer instanceof L.Marker && layer !== user Location Marker) { large Map.remove Layer(layer); } }); // Add all markers to the large map displayed Branches.for Each(branch => { // Choose icon based on the branch let icon = default Icon; if (branch.id === 'grandiorspa-latitude') { icon = spa Icon; } const marker = L.marker([branch.lat, branch.lng], { icon: icon }) .bind Popup(get Popup Content(branch)) .add To(large Map); }); large Map.fit Bounds(branch Coordinates); // Hide reset button document.get Element By Id('large-reset-control').style.display = 'none'; // Hide navigation button document.get Element By Id('large-navigate-button').style.display = 'none'; current Branch = null; // Hide navigation button on the small map navigate Button.style.display = 'none'; // Remove user location marker from large map if (user Location Marker) { large Map.remove Layer(user Location Marker); } } // Button to reset the map on the large map document.get Element By Id('large-reset-button').add Event Listener('click', function(event) { event.stop Propagation(); // Prevents event propagation // Reset large map to display all branches if (large Map Initialized) { add All Branches To Large Map(); } }); // Function to open popup and center it (adapted for both maps) function open Popup And Center(marker, target Map) { marker.open Popup(); marker.once('popupopen', function() { const popup Element = this.get Popup().get Element(); const popup Height = popup Element.offset Height; // Pan the map to center the popup target Map.pan By([0, -popup Height / 2], { animate: true }); }); } function find Branch Element(branch Id) { const id Variants = [branch Id, branch Id + '-m', branch Id + '-t']; for (const id of id Variants) { const element = document.get Element By Id(id); if (element) { return element; } } return null; } function attach Branch Event Listeners() { displayed Branches.for Each(branch => { const branch Element = find Branch Element(branch.id); if (branch Element && typeof branch Element.add Event Listener === 'function') { // Remove existing event listener before adding a new one branch Element.remove Event Listener('click', branch Element Click Handler); branch Element.add Event Listener('click', branch Element Click Handler); console.log(`${branch Map Data.attached Event Listener} ${branch Element.id}`); } else { console.log(`${branch Map Data.branch Element Not Found} ${branch.id}, ${branch.id}-m, or ${branch.id}-t`); } }); } function branch Element Click Handler(event) { const branch Id With Suffix = event.current Target.id; const branch Id = branch Id With Suffix.replace(/-m$|-t$/, ''); const branch = displayed Branches.find(b => b.id === branch Id); if (branch) { // Remove existing markers markers.for Each(({ marker }) => marker.remove()); markers.length = 0; // Clear the markers array // Add the selected branch marker let icon = default Icon; if (branch.id === 'grandiorspa-latitude') { icon = spa Icon; } const marker = L.marker([branch.lat, branch.lng], { icon: icon }) .bind Popup(get Popup Content(branch)) .add To(map); markers.push({ marker, branch }); map.set View([branch.lat, branch.lng], 16); open Popup And Center(marker, map); current Branch = branch; navigate Button.style.display = 'flex'; // Show navigation button on the original map // Hide navigation button on the large map if open document.get Element By Id('large-navigate-button').style.display = 'none'; // Update large map if initialized if (large Map Initialized) { update Large Map With Current Branch(); } // Update 'active' class to highlight selected branch document.query Selector All('.branch-section-branch').for Each(function(elem) { elem.class List.remove('active'); }); event.current Target.class List.add('active'); } else { console.log(`${branch Map Data.branch Data Not Found} ${branch Id}`); } } // Attach event listeners attach Branch Event Listeners(); // Re-attach event listeners on window resize window.add Event Listener('resize', function() { // Delay to adjust content set Timeout(attach Branch Event Listeners, 500); }); // Observe DOM changes to re-attach event listeners const observer = new Mutation Observer(function(mutations) { attach Branch Event Listeners(); }); // Observe the entire document body observer.observe(document.body, { child List: true, subtree: true }); // Function to calculate distance function calculate Distance(lat1, lon1, lat2, lon2) { const R = 6371; // Earth's radius in km const d Lat = (lat2 - lat1) * Math.PI / 180; const d Lon = (lon2 - lon1) * Math.PI / 180; const a = Math.sin(d Lat / 2) * Math.sin(d Lat / 2) + Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * Math.sin(d Lon / 2) * Math.sin(d Lon / 2); return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); } // Function to populate the branch list on the large map function populate Branch List(user Location) { const branch List Div = document.get Element By Id('large-branch-list'); branch List Div.inner HTML = ''; // Clear content let branches To Display = displayed Branches.slice(); // Use 'displayed Branches' if (user Location) { // Calculate distances and add them to branches branches To Display.for Each(branch => { branch.distance = calculate Distance(user Location.lat, user Location.lng, branch.lat, branch.lng).to Fixed(2); }); // Sort branches by distance branches To Display.sort((a, b) => parse Float(a.distance) - parse Float(b.distance)); } else { // If user location is unknown, sort branches alphabetically branches To Display.sort((a, b) => a.name.locale Compare(b.name)); } branches To Display.for Each(branch => { let distance Text = ''; if (user Location && branch.distance !== undefined) { distance Text = ` (${branch.distance} km)`; } const branch Item = document.create Element('div'); branch Item.style.margin Bottom = '5px'; branch Item.style.cursor = 'pointer'; branch Item.style.color = 'blue'; branch Item.style.text Decoration = 'underline'; branch Item.inner HTML = `**${branch.name}**${distance Text}`; branch Item.add Event Listener('click', function(event) { event.stop Propagation(); // Prevents event propagation // Focus the map on this branch if (large Map Initialized) { large Map.each Layer(function (layer) { if (layer instanceof L.Marker && layer !== user Location Marker) { large Map.remove Layer(layer); } }); // Choose icon based on the branch let icon = default Icon; if (branch.id === 'grandiorspa-latitude') { icon = spa Icon; } const marker = L.marker([branch.lat, branch.lng], { icon: icon }) .bind Popup(get Popup Content(branch)) .add To(large Map); large Map.set View([branch.lat, branch.lng], 16); open Popup And Center(marker, large Map); // Show reset button document.get Element By Id('large-reset-control').style.display = 'block'; // Show navigation button document.get Element By Id('large-navigate-button').style.display = 'flex'; current Branch = branch; // Hide navigation button on the small map when large map is open navigate Button.style.display = 'none'; // Add user location marker back to the map if it exists if (user Location Marker) { user Location Marker.add To(large Map); } } }); branch List Div.append Child(branch Item); }); } function success Large Map(pos) { const crd = pos.coords; populate Branch List({ lat: crd.latitude, lng: crd.longitude }); // Add user location marker to the large map if (large Map Initialized) { if (user Location Marker) { large Map.remove Layer(user Location Marker); } user Location Marker = L.marker([crd.latitude, crd.longitude], { icon: user Icon }) .bind Popup(branch Map Data.your Location) .add To(large Map); // Adjust map view to include branches and user const all Coords = branch Coordinates.concat([[crd.latitude, crd.longitude]]); large Map.fit Bounds(all Coords, { padding: [50, 50] }); } } function error Large Map(err) { console.warn(`ERROR(${err.code}): ${err.message}`); populate Branch List(null); } // Function called upon successful geolocation for "find-position-button" function success Find Position Button(position) { const user Lat = position.coords.latitude; const user Lng = position.coords.longitude; console.log(`Lat: ${user Lat}, Lng: ${user Lng}`); // Add user location marker to the small map if (user Location Marker) { map.remove Layer(user Location Marker); } user Location Marker = L.marker([user Lat, user Lng], { icon: user Icon }) .bind Popup(branch Map Data.your Location) .add To(map); // Update branch distances displayed Branches.for Each(branch => { branch.distance = calculate Distance(user Lat, user Lng, branch.lat, branch.lng).to Fixed(2); }); // Sort branches by distance displayed Branches.sort((a, b) => parse Float(a.distance) - parse Float(b.distance)); // Remove existing markers markers.for Each(({ marker }) => marker.remove()); markers.length = 0; // Clear the markers array // Add markers back to the map without opening tooltips markers = add Markers To Map(displayed Branches, map); // Adjust map view to include both user location and all branches const all Coords = displayed Branches.map(branch => [branch.lat, branch.lng]); all Coords.push([user Lat, user Lng]); map.fit Bounds(all Coords, { padding: [50, 50] }); // Update the branch list with distances update Branch List With Distances(user Lat, user Lng); // Hide navigation button on the small map navigate Button.style.display = 'none'; // Remove current Branch current Branch = null; } function error Find Position Button(err) { console.warn(`ERROR(${err.code}): ${err.message}`); alert(branch Map Data.geolocation Not Supported); } // Function called upon successful geolocation for "Findclosestbranchpage" function success(position) { const user Lat = position.coords.latitude; const user Lng = position.coords.longitude; console.log(`Lat: ${user Lat}, Lng: ${user Lng}`); // Add user location marker to the small map if (user Location Marker) { map.remove Layer(user Location Marker); } user Location Marker = L.marker([user Lat, user Lng], { icon: user Icon }) .bind Popup(branch Map Data.your Location) .add To(map); // Optionally, find the nearest branch and highlight it const { nearest Branch } = find Nearest Branch(user Lat, user Lng); if (nearest Branch) { // Update 'active' class to highlight the nearest branch document.query Selector All('.branch-section-branch').for Each(function(elem) { elem.class List.remove('active'); }); const branch Element = find Branch Element(nearest Branch.id); if (branch Element) { branch Element.class List.add('active'); } // Remove existing markers markers.for Each(({ marker }) => marker.remove()); markers.length = 0; // Clear the markers array // Add only the nearest branch marker let icon = default Icon; if (nearest Branch.id === 'grandiorspa-latitude') { icon = spa Icon; } const marker = L.marker([nearest Branch.lat, nearest Branch.lng], { icon: icon }) .bind Popup(get Popup Content(nearest Branch)) .add To(map); markers.push({ marker, branch: nearest Branch }); // Open popup of the nearest branch marker.open Popup(); current Branch = nearest Branch; // Set the currently selected branch navigate Button.style.display = 'flex'; // Show navigation button on the original map // Adjust map view to include both user location and nearest branch const bounds = L.lat Lng Bounds([ [user Lat, user Lng], [nearest Branch.lat, nearest Branch.lng] ]); map.fit Bounds(bounds, { padding: [50, 50] }); // Ensure the popup is fully visible open Popup And Center(marker, map); } // Update the branch list with distances and sort them update Branch List With Distances(user Lat, user Lng); } // Function called upon geolocation error function error(err) { console.warn(`ERROR(${err.code}): ${err.message}`); alert(branch Map Data.geolocation Not Supported); } function find Nearest Branch(user Lat, user Lng) { let nearest Branch = null; let nearest Distance = Infinity; displayed Branches.for Each(branch => { const distance = calculate Distance(user Lat, user Lng, branch.lat, branch.lng); if (distance < nearest Distance) { nearest Distance = distance; nearest Branch = branch; } }); return { nearest Branch, nearest Distance }; } // Function to update branch list with distances and sort them function update Branch List With Distances(user Lat, user Lng) { // Calculate distance for each branch displayed Branches.for Each(branch => { branch.distance = calculate Distance(user Lat, user Lng, branch.lat, branch.lng).to Fixed(2); }); // Sort branches by distance displayed Branches.sort((a, b) => parse Float(a.distance) - parse Float(b.distance)); // Get the branch list container const branch List Container = document.get Element By Id('branch-list'); // Remove existing branch elements while (branch List Container.first Child) { branch List Container.remove Child(branch List Container.first Child); } // Re-create branch elements in sorted order displayed Branches.for Each(branch => { const branch Element = document.create Element('div'); branch Element.class Name = 'branch-section-branch'; branch Element.id = branch.id; branch Element.inner HTML = `  ${branch.name} ([${branch.distance} km](https://www.google.com/maps/dir/?api=1&destination=%24%7Bbranch.lat%7D,%24%7Bbranch.lng%7D)) `; // Attach click event handler branch Element.add Event Listener('click', branch Element Click Handler); branch List Container.append Child(branch Element); }); // Re-attach event listeners attach Branch Event Listeners(); } // Add functionality to toggle branch list visibility const toggle Button = document.get Element By Id('toggle-branch-list'); const branch List = document.get Element By Id('large-branch-list'); const branch List Container = document.get Element By Id('large-branch-list-container'); const toggle Icon = document.get Element By Id('toggle-icon'); toggle Button.add Event Listener('click', function(event) { event.stop Propagation(); // Prevents event propagation if (branch List.style.display === 'none' || branch List.style.display === '') { branch List.style.display = 'block'; branch List Container.class List.add('open'); toggle Icon.class List.remove('fa-chevron-up'); toggle Icon.class List.add('fa-chevron-down'); } else { branch List.style.display = 'none'; branch List Container.class List.remove('open'); toggle Icon.class List.remove('fa-chevron-down'); toggle Icon.class List.add('fa-chevron-up'); } }); // Find the button to find the nearest branch (if any) const find Btn = document.get Element By Id('Findclosestbranchpage'); if (find Btn && typeof find Btn.add Event Listener === 'function') { find Btn.add Event Listener('click', function(event) { event.prevent Default(); console.log(branch Map Data.find Nearest Branch Button Clicked); if (navigator.geolocation) { navigator.geolocation.get Current Position(success, error, { enable High Accuracy: true, timeout: 5000, maximum Age: 0 }); } else { alert(branch Map Data.geolocation Not Supported); } }); } else { console.log(branch Map Data.element Not Found); } });

![Voucher - sample](https://edensgarden.cz/wp-content/uploads/2025/03/voucher-sample-1.png "Voucher - sample")

### Voucher or permanent card

Treat yourself or your loved ones to perfect relaxation with our massage vouchers and passes. We offer 60 or 90 minute gift vouchers for individuals and couples and permanent card at up to 30% off if you want to pamper yourself regularly.

Buy a gift voucher ›

Buy permanent card ›

[![Google reviews](https://edensgarden.cz/wp-content/uploads/2023/06/google-recenze49.png "Google reviews")](https://www.google.cz/maps/search/Edens+Garden/@50.0679908,14.4151775,14z/data=!3m1!4b1)

### Co říkají naši zákazníci

10/10 massage, I can absolutely recommend it! We had a neck and back massage. Kathy and Juby took wonderful care of us with their gentle hands and were incredibly kind!

Estefania

Review from Google Maps

My boyfriend and I come here for deep tissue massages and we are always very satisfied 🙂 Ms. Jane and Juvi are amazing. We’re already looking forward to next time.

Adéla Nová

Review from Google Maps

### How Do Couples Massages Work?

1. **First, We Get to Know You a Little**

Upon arrival, you’ll be greeted by our receptionist, who will ask about your preferences and needs. Do you enjoy a gentle massage, or do you prefer a deep tissue treatment? We’ll discuss everything with you beforehand to ensure your expectations are met. You can also mention any specifics, such as skin allergies or sensitive areas.

If you prefer a more intimate setting, we can prepare separate rooms for you. If you’d rather share the experience side by side, we’ll set you up in a couples room – complete with heated tables and the perfect relaxing atmosphere.

1. **The Magic of Massage Begins**

You’ll step into a room designed for rest – soft lighting, a warm blanket, and the gentle tones of relaxing music. Our skilled hands will take care of everything, melting away stress from your shoulders, your muscles – and even your mind.

1. **After the Massage: Calm, Tea, and Lasting Bliss**

Once the massage is over, there’s no need to rush. Take a few more minutes to rest and let your body fully absorb the benefits. To complete the experience, we’ll serve you a cup of our special tea, crafted to support your recovery and leave you feeling completely refreshed.

### Why Choose a Couples Massage?

[Travelers Choice 2023 | Top Massage Experience in Prague Eden&apos;s Garden](https://www.youtube.com/embed/--QGzcjPhdM?feature=oembed)

[](https://edensgarden.cz/en/massage/massages-for-two-2025/)

Unlike traditional gifts that often end up forgotten on a shelf, the experience of a couples massage creates lasting memories. It’s a moment you enjoy together – and that’s a value that can’t be measured.

This kind of relaxation isn’t just for romantic couples. It’s also perfect for friends, parents and children, or even siblings. It’s an opportunity to share peace and comfort. It is an opportunity to share peace and quiet.

### Filipino massage

##### **60 min | price 1299 CZK**

Indulge in a Filipino massage full of warm oils and aromatherapy, which with gentle strokes of experienced therapists will release muscle tension, start the blood and lymph circulation and restore your inner balance. Book your appointment today and enjoy the ultimate regeneration experience.

Detail ›

Book ›

![A woman relaxing during a Filipino massage.](https://edensgarden.cz/wp-content/uploads/2024/08/Filipinska-masaz-750_500.webp "Filipino massage")

### Our recommendations for Filipino massage





### Recommended clothing for Filipino massage

**First, let's get to know each other a little bit**

Upon arrival, you’ll be greeted by our receptionist, who will ask about your preferences and needs. Do you enjoy a gentle massage, or do you prefer a deep tissue treatment? We’ll discuss everything with you beforehand to ensure your expectations are met. You can also mention any specifics, such as skin allergies or sensitive areas.

If you prefer a more intimate setting, we can prepare separate rooms for you. If you’d rather share the experience side by side, we’ll set you up in a couples room – complete with heated tables and the perfect relaxing atmosphere.

**Massage magic begins**

You’ll step into a room designed for rest – soft lighting, a warm blanket, and the gentle tones of relaxing music. Our skilled hands will take care of everything, melting away stress from your shoulders, your muscles – and even your mind.

**After the Massage: Calm, Tea, and Lasting Bliss**

Once the massage is over, there’s no need to rush. Take a few more minutes to rest and let your body fully absorb the benefits. To complete the experience, we’ll serve you a cup of our special tea, crafted to support your recovery and leave you feeling completely refreshed.





### How to Book Your Massage?

Booking a massage online is simple. Just click on “Book a couples massage” and our system will take care of the rest. If you have any special requests, our receptionist will be happy to help you create a personalized package.

So, what do you think? It’s time to step out of the daily hustle and begin your journey to peace and well-being – together.





### What to Wear? It Depends on the Type of Massage

When choosing what to wear for a couples massage, there's no need to overthink it – it all depends on the type of massage. For [traditional Thai massage,](https://edensgarden.cz/en/massage/traditional-thai-massage/) you’ll need**loose-fitting clothes,** which we’re happy to provide for you on-site.

For oil massages, such as [Thai oil massage](https://edensgarden.cz/en/massage/thai-oil-massage/), you’ll remain in your**underwear.**. We provide disposable underwear at reception free of charge, should you wish to use it. Ladies, for maximum comfort and relaxation, we recommend removing your bra – it will help you feel even more at ease.

The goal is for you to feel completely comfortable and to enjoy every minute of your relaxation experience to the fullest.





### How Long Does the Perfect Couples Massage Last?

When you treat yourself to a couples massage, it's worth taking the time to enjoy it fully. The best choice is **90 minutes**– this is the ideal duration for deep relaxation and thorough care of the entire body. It allows the therapist to focus on every detail while tailoring the massage to your individual needs.

A shorter massage may be pleasant, but it’s only with a longer session that you’ll truly experience paradise on Earth.





### The Right Pressure, Just for You

Everyone has a different sensitivity threshold, so don’t hesitate to let us know what works best for you. Upon arrival, you can share your preferences regarding massage intensity with our receptionist. And don’t be afraid to speak up during the massage – our therapists appreciate your feedback to create the perfect experience for you.

This is your time to relax, so let us know what you need – whether it’s a gentle caress or firm pressure for tired muscles.





### Why Is a Couples Massage the Perfect Gift?

Forget the box of chocolates or bouquet of roses. A couples massage is an experience that lasts far beyond the moment the wrapping paper is torn – it remains in your memory as a shared moment of comfort and peace.

It not only brings physical relief and mental relaxation, but also strengthens the bond between you and someone you care about. From [gentle relaxation](https://edensgarden.cz/en/massage/relaxation-massage/) to therapeutic [Filipino massage](https://edensgarden.cz/en/massage/filipino-massage/)– everything is tailored to suit your needs and preferences. You can even enjoy a couples massage as part of [a pregnancy massage](https://edensgarden.cz/en/massage/pregnancy-massage/)session.

Massage also supports health and long-term well-being, making it a perfect treat for anyone who deserves a moment of rest. You can [booking](https://edensgarden.cz/en/reservation-2/), or purchase one of the [gift vouchers](https://eshop.edensgarden.cz/en/).

[View all massages ›](https://edensgarden.cz/en/massage/)