38+ Premium Malls - Explore All
Elemis London at Orchard Road
Elemis London
1 / 9
Elemis London
Main Image
Elemis London
Image 2
Elemis London
Image 3
Elemis London
Image 4
Elemis London
Image 5
Elemis London
Image 6
Elemis London
Image 7
Elemis London
Image 8
Elemis London
Image 9

Elemis London

health Facial Spas

Location: ```python import re def parse_mall_location(address): level = None unit = None tower = None # Convert to lowercase for case-insensitive matching address_lower = address.lower() # 1. Extract Tower information # Pattern: "Tower 3", "Tower A" tower_match = re.search(r'(tower\s+\d+|tower\s+[a-z])', address_lower) if tower_match: tower = tower_match.group(1).title() # Capitalize "Tower" and the number/letter (e.g., "Tower 3", "Tower A") # 2. Extract Level number (explicit "Level X" pattern) # Pattern: "Level 2", "Level B1", "Level G" # Level indicators: B (Basement), L (Level), G (Ground), UG (Upper Ground), LG (Lower Ground), M (Mezzanine), P (Parking) level_explicit_match = re.search(r'level\s+([blgum]\d*|\d+)', address_lower) if level_explicit_match: extracted_level = level_explicit_match.group(1) if extracted_level.isdigit(): level = str(int(extracted_level)) # Normalize "02" to "2" else: level = extracted_level.upper() # Normalize "b1" to "B1", "g" to "G" # 3. Extract Unit number (complex format like #B1-16/16A or #02-42) # This pattern also implies a level, so we can derive it if not already found. # Pattern: #B1-16/16A, B1-16/16A, #02-42, 02-42, Unit #02-42 # The first group captures the full unit string (e.g., "B1-16/16A") unit_complex_match = re.search(r'(?:#|\bunit\s+#?)?(([blgum]\d*|\d+)-\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_complex_match: unit_str = unit_complex_match.group(1) # e.g., "b1-16/16a" unit = "#" + unit_str.upper() # Ensure B1, A, etc. are capitalized in unit string (e.g., #B1-16/16A) # Derive level from unit string if not already explicitly found if level is None: derived_level = unit_str.split('-')[0] if derived_level.isdigit(): level = str(int(derived_level)) else: level = derived_level.upper() # 4. Extract Unit number (simple format like #42) # Only if unit hasn't been found by the complex pattern if unit is None: # Pattern: #42, Unit #42, #123A unit_simple_match = re.search(r'(?:#|\bunit\s+#?)(\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_simple_match: unit = "#" + unit_simple_match.group(1).upper() # Capitalize any letters in unit (e.g., #123A) # Construct the output string based on available information parts = [] if level: parts.append(f"Level {level}") if unit: parts.append(f"Unit Number {unit}") result = "" if parts: result = ", ".join(parts) if tower: if result: result += f", {tower}" else: result = tower # If only tower is found if not result: return "Location Unknown" else: return result # Example usage with the provided address: address = "2 Orchard Turn, B1-16/16A, Singapore 238801" parsed_location = parse_mall_location(address) print(parsed_location) ```

Elemis operates at ION Orchard B1-15 (2 Orchard Turn, daily 10am-10pm), showcasing the British spa and skincare brand's award-winning products across a 52-square-meter flagship store that merges the brand's heritage with contemporary luxury. Founded in 1989, Elemis has established presence in over 45 countries, treating more than 6.5 million people annually through spa services and retail skincare products developed through British formulation expertise.

The boutique offers exclusive facial treatments including the collagen-boosting Elemis Biotec Line Eraser Facial at $280 for 60 minutes, incorporating ultrasound technology, microcurrents, and light therapy. An ION-exclusive promotion provides 50% off Elemis Expert Facial Treatments valid through 2025. Complimentary HD Skin Consultation services utilize high-definition cameras for in-depth skin analysis as part of the Elemis Skin Wellness Journey, supporting personalized product recommendations.

The flagship represents Elemis' Singapore retail expansion alongside presence at Raffles City and online distribution through Lazada, demonstrating the British brand's positioning within Singapore's premium skincare retail landscape. The B1 location places Elemis within ION Orchard's beauty corridor, serving customers seeking British formulations and professional facial treatments that translate spa-quality experiences into retail environments through advanced technologies and expert consultation services.
6509 4234
```python import re def parse_mall_location(address): level = None unit = None tower = None # Convert to lowercase for case-insensitive matching address_lower = address.lower() # 1. Extract Tower information # Pattern: "Tower 3", "Tower A" tower_match = re.search(r'(tower\s+\d+|tower\s+[a-z])', address_lower) if tower_match: tower = tower_match.group(1).title() # Capitalize "Tower" and the number/letter (e.g., "Tower 3", "Tower A") # 2. Extract Level number (explicit "Level X" pattern) # Pattern: "Level 2", "Level B1", "Level G" # Level indicators: B (Basement), L (Level), G (Ground), UG (Upper Ground), LG (Lower Ground), M (Mezzanine), P (Parking) level_explicit_match = re.search(r'level\s+([blgum]\d*|\d+)', address_lower) if level_explicit_match: extracted_level = level_explicit_match.group(1) if extracted_level.isdigit(): level = str(int(extracted_level)) # Normalize "02" to "2" else: level = extracted_level.upper() # Normalize "b1" to "B1", "g" to "G" # 3. Extract Unit number (complex format like #B1-16/16A or #02-42) # This pattern also implies a level, so we can derive it if not already found. # Pattern: #B1-16/16A, B1-16/16A, #02-42, 02-42, Unit #02-42 # The first group captures the full unit string (e.g., "B1-16/16A") unit_complex_match = re.search(r'(?:#|\bunit\s+#?)?(([blgum]\d*|\d+)-\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_complex_match: unit_str = unit_complex_match.group(1) # e.g., "b1-16/16a" unit = "#" + unit_str.upper() # Ensure B1, A, etc. are capitalized in unit string (e.g., #B1-16/16A) # Derive level from unit string if not already explicitly found if level is None: derived_level = unit_str.split('-')[0] if derived_level.isdigit(): level = str(int(derived_level)) else: level = derived_level.upper() # 4. Extract Unit number (simple format like #42) # Only if unit hasn't been found by the complex pattern if unit is None: # Pattern: #42, Unit #42, #123A unit_simple_match = re.search(r'(?:#|\bunit\s+#?)(\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_simple_match: unit = "#" + unit_simple_match.group(1).upper() # Capitalize any letters in unit (e.g., #123A) # Construct the output string based on available information parts = [] if level: parts.append(f"Level {level}") if unit: parts.append(f"Unit Number {unit}") result = "" if parts: result = ", ".join(parts) if tower: if result: result += f", {tower}" else: result = tower # If only tower is found if not result: return "Location Unknown" else: return result # Example usage with the provided address: address = "2 Orchard Turn, B1-16/16A, Singapore 238801" parsed_location = parse_mall_location(address) print(parsed_location) ```

Operating Hours

Open Now
Closes in 1h 31m
Monday
10 am–10 pm
Tuesday
10 am–10 pm
Wednesday
10 am–10 pm
Thursday
10 am–10 pm
Friday
10 am–10 pm
Saturday (Today)
10 am–10 pm
Sunday
10 am–10 pm