M

Melody Thai Spa

BOOK APPOINTMENT

Gulshan-1, Dhaka, Bangladesh

@import url(‘https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;500;600;700&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap’); #mts-article-wrap *, #mts-article-wrap *::before, #mts-article-wrap *::after { box-sizing: border-box; } #mts-article-wrap { –bg: #0e0d0b; –bg2: #141210; –bg3: #1a1714; –maroon: #5c0a0a; –red: #8b1a1a; –gold: #c8a84b; –gold2: #e2c16a; –gold3: #f0d88a; –cream: #f5f0e6; –cream2: #e8e0cc; –muted: #7a7060; –muted2: #5a5448; –border: rgba(200,168,75,0.18); –border2: rgba(200,168,75,0.08); background: var(–bg); color: var(–cream); font-family: ‘Lato’, sans-serif; font-weight: 300; line-height: 1.85; font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden; margin: 0 -20px; } /* HERO */ #mts-hero { position: relative; min-height: 90vh; display: flex; align-items: flex-end; overflow: hidden; } #mts-hero-bg { position: absolute; inset: 0; background-image: url(‘https://images.pexels.com/photos/2373201/pexels-photo-2373201.jpeg?auto=compress&cs=tinysrgb&w=1400’); background-size: cover; background-position: center 30%; animation: mtsHeroZoom 18s ease-out forwards; } @keyframes mtsHeroZoom { from { transform: scale(1.04); } to { transform: scale(1.00); } } #mts-hero-ov1 { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(14,13,11,0.2) 0%, rgba(14,13,11,0.12) 30%, rgba(14,13,11,0.65) 65%, rgba(14,13,11,0.98) 100%); } #mts-hero-ov2 { position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 100%, rgba(92,10,10,0.35) 0%, transparent 60%); } #mts-hero-content { position: relative; z-index: 2; max-width: 820px; padding: 0 52px 72px; animation: mtsFadeUp 1.2s cubic-bezier(0.16,1,0.3,1) both; } @keyframes mtsFadeUp { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } } .mts-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 20px; } .mts-eyebrow-line { width: 36px; height: 1px; background: var(–gold); opacity: 0.7; } .mts-eyebrow-text { font-family: ‘Cinzel’, serif; font-size: 10px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(–gold); opacity: 0.85; } #mts-hero-content h1 { font-family: ‘Cinzel’, serif; font-size: clamp(24px, 3.8vw, 44px); font-weight: 700; line-height: 1.18; letter-spacing: 0.5px; color: var(–cream); margin-bottom: 20px; } #mts-hero-content h1 em { font-style: normal; color: var(–gold2); } .mts-hero-intro { font-size: 16px; font-weight: 300; color: var(–cream2); max-width: 600px; line-height: 1.75; margin-bottom: 32px; opacity: 0.88; } .mts-pills { display: flex; gap: 10px; flex-wrap: wrap; } .mts-pill { padding: 8px 18px; border: 1px solid var(–border); background: rgba(14,13,11,0.6); backdrop-filter: blur(8px); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; color: var(–gold); font-family: ‘Cinzel’, serif; } /* BODY */ #mts-body { max-width: 800px; margin: 0 auto; padding: 72px 40px 100px; } #mts-body a { color: var(–gold2); text-decoration: none; border-bottom: 1px solid rgba(200,168,75,0.3); transition: color 0.2s, border-color 0.2s; } #mts-body a:hover { color: var(–gold3); border-bottom-color: var(–gold); } .mts-h2 { font-family: ‘Cinzel’, serif; font-size: clamp(17px, 2.4vw, 24px); font-weight: 600; color: var(–cream); letter-spacing: 0.5px; margin: 52px 0 18px; line-height: 1.3; } .mts-p { color: var(–cream2); font-size: 15px; font-weight: 300; line-height: 1.9; margin-bottom: 16px; opacity: 0.88; } .mts-divider { border: none; border-top: 1px solid; border-image: linear-gradient(to right, transparent, var(–gold), transparent) 1; opacity: 0.2; margin: 48px 0; } /* TABLE */ .mts-table { width: 100%; border-collapse: collapse; margin: 24px 0 32px; } .mts-table th { background: rgba(200,168,75,0.08); color: var(–gold); font-family: ‘Cinzel’, serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 13px 18px; text-align: left; border-bottom: 1px solid var(–border); } .mts-table td { padding: 13px 18px; border-bottom: 1px solid var(–border2); color: var(–cream2); font-size: 14px; font-weight: 300; } .mts-table tr:last-child td { border-bottom: none; } .mts-table td:first-child { font-weight: 400; color: var(–cream); } .mts-badge { display: inline-block; background: rgba(200,168,75,0.12); color: var(–gold2); font-size: 9px; letter-spacing: 1.5px; padding: 2px 8px; border: 1px solid rgba(200,168,75,0.25); vertical-align: middle; margin-left: 6px; font-family: ‘Cinzel’, serif; } /* BENEFIT LIST */ .mts-ul { list-style: none; margin: 16px 0 24px; } .mts-ul li { position: relative; padding: 13px 0 13px 26px; color: var(–cream2); font-size: 15px; font-weight: 300; line-height: 1.7; border-bottom: 1px solid var(–border2); } .mts-ul li:first-child { border-top: 1px solid var(–border2); } .mts-ul li::before { content: ‘—’; position: absolute; left: 0; top: 13px; color: var(–gold); font-size: 11px; opacity: 0.7; } .mts-ul li strong { color: var(–cream); font-weight: 700; } /* HIGHLIGHT BOX */ .mts-highlight { position: relative; margin: 36px 0; padding: 28px 36px; background: linear-gradient(135deg, rgba(92,10,10,0.18) 0%, rgba(200,168,75,0.05) 100%); border: 1px solid var(–border); border-left: 3px solid var(–gold); } .mts-highlight p { color: var(–cream2); font-size: 15px; font-style: italic; line-height: 1.8; font-weight: 300; } .mts-highlight p strong { color: var(–gold2); font-weight: 700; font-style: normal; } /* IMAGES */ .mts-img-wrap { position: relative; margin: 40px 0; overflow: hidden; } .mts-img-wrap::before { content: ”; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 60%, rgba(14,13,11,0.6) 100%); z-index: 1; pointer-events: none; } .mts-img { width: 100%; display: block; height: 400px; object-fit: cover; filter: brightness(0.87) saturate(0.85); transition: transform 0.8s ease; } .mts-img-wrap:hover .mts-img { transform: scale(1.015); } /* TREATMENT CARDS */ .mts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0; } .mts-card { background: var(–bg2); border: 1px solid var(–border2); padding: 22px; transition: border-color 0.3s, background 0.3s; text-decoration: none; display: block; position: relative; overflow: hidden; } .mts-card::after { content: ”; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(to right, var(–maroon), var(–gold)); transform: scaleX(0); transition: transform 0.35s ease; transform-origin: left; } .mts-card:hover { border-color: rgba(200,168,75,0.35); background: var(–bg3); } .mts-card:hover::after { transform: scaleX(1); } .mts-card-name { font-family: ‘Cinzel’, serif; font-size: 13px; font-weight: 600; color: var(–cream); margin-bottom: 5px; } .mts-card-price { font-size: 18px; font-weight: 700; color: var(–gold); font-family: ‘Cinzel’, serif; margin-bottom: 8px; } .mts-card-desc { font-size: 12px; color: var(–muted); line-height: 1.6; font-weight: 300; } /* SERVICE ROWS */ .mts-svc-list { display: flex; flex-direction: column; margin: 20px 0; } .mts-svc-row { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(–border2); text-decoration: none; transition: padding-left 0.25s ease; } .mts-svc-row:first-child { border-top: 1px solid var(–border2); } .mts-svc-row:hover { padding-left: 8px; } .mts-arrow { color: var(–gold); font-size: 13px; opacity: 0.5; transition: opacity 0.25s, transform 0.25s; flex-shrink: 0; } .mts-svc-row:hover .mts-arrow { opacity: 1; transform: translateX(4px); } .mts-svc-name { font-family: ‘Cinzel’, serif; font-size: 13px; font-weight: 600; color: var(–cream); flex: 1; } .mts-svc-desc { font-size: 12px; color: var(–muted); text-align: right; max-width: 240px; line-height: 1.4; } /* FAQ */ .mts-faq { margin: 24px 0; } .mts-faq-item { border-bottom: 1px solid var(–border2); overflow: hidden; } .mts-faq-item:first-child { border-top: 1px solid var(–border2); } .mts-faq-q { padding: 18px 0; font-family: ‘Cinzel’, serif; font-size: 13px; font-weight: 600; color: var(–cream); letter-spacing: 0.3px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; user-select: none; } .mts-faq-icon { width: 20px; height: 20px; border: 1px solid var(–border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(–gold); font-size: 13px; transition: transform 0.3s; } .mts-faq-item.open .mts-faq-icon { transform: rotate(45deg); } .mts-faq-a { max-height: 0; overflow: hidden; transition: max-height 0.45s cubic-bezier(0.16,1,0.3,1), padding 0.3s; font-size: 14px; color: var(–cream2); font-weight: 300; line-height: 1.8; opacity: 0.88; } .mts-faq-item.open .mts-faq-a { max-height: 300px; padding-bottom: 18px; } /* CTA */ .mts-cta { position: relative; margin: 56px 0 0; padding: 52px 52px; background: linear-gradient(135deg, rgba(92,10,10,0.22) 0%, rgba(14,13,11,0.98) 100%); border: 1px solid var(–border); text-align: center; overflow: hidden; } .mts-cta::before { content: ”; position: absolute; top: -60px; right: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(200,168,75,0.07) 0%, transparent 70%); pointer-events: none; } .mts-cta-eye { font-size: 9px; letter-spacing: 4px; text-transform: uppercase; color: var(–gold); font-family: ‘Cinzel’, serif; margin-bottom: 14px; opacity: 0.7; } .mts-cta h3 { font-family: ‘Cinzel’, serif; font-size: clamp(19px, 2.8vw, 28px); font-weight: 700; color: var(–cream); margin-bottom: 10px; line-height: 1.25; } .mts-cta p { font-size: 14px; color: var(–muted); margin-bottom: 32px; font-weight: 300; } .mts-cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 40px; background: var(–gold); color: var(–bg); font-family: ‘Cinzel’, serif; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; text-decoration: none; border-bottom: none; transition: background 0.3s, transform 0.2s, box-shadow 0.3s; } .mts-cta-btn:hover { background: var(–gold3); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(200,168,75,0.25); border-bottom: none; color: var(–bg); } /* FOOTER INFO */ .mts-foot { margin-top: 44px; padding: 26px 32px; background: var(–bg2); border: 1px solid var(–border2); border-top: 1px solid var(–border); font-size: 13px; color: var(–muted); line-height: 2; text-align: center; } .mts-foot strong { color: var(–cream); font-weight: 700; } /* REVEAL */ .mts-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); } .mts-reveal.mts-vis { opacity: 1; transform: none; } @media (max-width: 640px) { #mts-hero-content { padding: 0 20px 52px; } #mts-body { padding: 48px 20px 72px; } .mts-grid { grid-template-columns: 1fr; } .mts-svc-row { flex-wrap: wrap; } .mts-svc-desc { text-align: left; max-width: 100%; } .mts-cta { padding: 36px 24px; } .mts-img { height: 250px; } }
Location Guide · Hotel Guests · Gulshan 2

Spa Near Westin Dhaka and Lakeshore Hotel — Walk-In Welcome at Melody Thai Spa

Staying at the Westin Dhaka, Lakeshore Hotel, or Amari Dhaka and looking for a world-class spa nearby? Melody Thai Spa is your closest premium option — within minutes of all three hotels in Gulshan 2, open until 10 PM daily.

Open Until 10 PM
Walk-Ins Welcome
From ৳4,000
Amex · bKash · Cash

How Close Is Melody Thai Spa to These Hotels?

Our Gulshan 2 branches are positioned in the heart of Gulshan’s premium hotel corridor. Here is the approximate travel time from major hotels:

HotelDistanceTravel Time
Westin Dhaka~1.2 km5–8 minutes by car
Lakeshore Hotel Gulshan~0.4 km2–4 minutes Walkable
Amari Dhaka~1.5 km6–10 minutes by car
InterContinental Dhaka~2.8 km10–15 minutes by car

Both our Gulshan 2 locations — Road 55 and Road 41 near Lakeshore Hotel — are conveniently accessible, making us genuinely walkable for guests staying at Lakeshore. Our reception can also assist with directions over WhatsApp before your visit.


Why Hotel Guests Choose Melody Thai Spa

  • Walk-in friendly: No appointment needed for most services. Simply arrive and our team will accommodate you.
  • Open until 10 PM: Perfect for travellers who have had full days of meetings or sightseeing.
  • Hotel-grade hygiene standards: Our treatment rooms, linen, and equipment meet the same standards you expect inside a five-star hotel.
  • Certified female therapists only: All treatments performed by trained, certified female therapists.
  • Multiple payment options: Cash, all major cards including Amex, bKash, Nagad — ideal for both local and international guests.
  • Private treatment rooms: Individual rooms, never shared therapy areas.

We regularly serve guests staying at Lakeshore Hotel and the Westin who discover us on Google or through hotel concierge recommendations. If your hotel concierge asks where to send guests for a spa — please share this page with them.

Thai massage treatment room at Melody Thai Spa Gulshan Dhaka

Relaxing massage session at Melody Thai Spa Gulshan

How to Get Here from Your Hotel

The easiest way to reach us is via Uber or Pathao — simply enter “Melody Thai Spa Gulshan 2” and you will find us. Alternatively, message us on WhatsApp and our team will send you a Google Maps pin for your exact branch. Parking is also available near both Gulshan 2 locations. See our full location guide with maps.


Frequently Asked Questions — Hotel Guests

Can I walk in without a booking?+
Yes. Walk-ins are welcome at both Gulshan 2 branches. We recommend calling ahead or WhatsApp messaging during peak evening hours (6–9 PM) to avoid any wait. You can also pre-book your session online.
Do you accept Amex cards?+
Yes. We accept American Express, Visa, Mastercard, cash BDT, and all major mobile payment apps including bKash and Nagad. International guests have no payment issues here.
What is the latest I can book same day?+
We accept bookings until 9 PM for same-day appointments. Last session starts at 9 PM and runs to 10 PM closing. See our full FAQ page for more answers.
Are there any current offers or discounts?+
Yes. Visit our current offers page for the latest promotions. Hotel guests occasionally receive exclusive rates — just ask our team on WhatsApp.
Book Your Session Today

Minutes from Westin Dhaka and Lakeshore Hotel

Walk in or book in advance. Open every day 10 AM – 10 PM.

WhatsApp Us Now
Melody Thai Spa Gulshan 2 — near Lakeshore Hotel
Road 55 & Road 41, Gulshan 2, Dhaka 1212
Open daily 10 AM – 10 PM  ·  +880 1744 864061
(function(){ // Scroll reveals var els = document.querySelectorAll(‘.mts-reveal’); if(‘IntersectionObserver’ in window){ var obs = new IntersectionObserver(function(entries){ entries.forEach(function(e,i){ if(e.isIntersecting){ setTimeout(function(){ e.target.classList.add(‘mts-vis’); }, i*55); obs.unobserve(e.target); } }); },{threshold:0.08,rootMargin:’0px 0px -30px 0px’}); els.forEach(function(el){ obs.observe(el); }); } else { els.forEach(function(el){ el.classList.add(‘mts-vis’); }); } // FAQ window.mtsFaq = function(el){ var item = el.closest(‘.mts-faq-item’); var isOpen = item.classList.contains(‘open’); document.querySelectorAll(‘.mts-faq-item.open’).forEach(function(i){ i.classList.remove(‘open’); }); if(!isOpen) item.classList.add(‘open’); }; })();