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
Our Menu
Menu Highlights
Pro-Collagen Rose Mirco Serum
$180 | 30ml
Pro-Collagen Rose Marine Cream
$131 | 30ml
Unknown Item
$195 | 50ml
Pro-Collagen Rose Marine Oil
$150 | 15ml
Pro-Collagen Marine Oil
$150 | 15ml
Pro-Collagen Future Restore Serum
$240 | 30ml
Pro-Collagen Renewal Serum
$155 | 15ml
Pro-Collagen Marine Moisture Essence
$130 | 100ml
Pro-Collagen Skin Protection Fluid SPF50
$115 | 40ml
Menu Highlights
Pro-Collagen Rose Mirco Serum
$180 | 30ml
Pro-Collagen Rose Marine Cream
$131 | 30ml
Unknown Item
$195 | 50ml
Pro-Collagen Rose Marine Oil
$150 | 15ml
Pro-Collagen Marine Oil
$150 | 15ml
Pro-Collagen Future Restore Serum
$240 | 30ml
Pro-Collagen Renewal Serum
$155 | 15ml
Pro-Collagen Marine Moisture Essence
$130 | 100ml
Pro-Collagen Skin Protection Fluid SPF50
$115 | 40ml
Photo Gallery
The Elemis London shop front features a modern, clean design with illuminated signage and product displays.
A collection of Elemis skincare samples, including a small jar and several sachets of creams and serums.
A sign displaying anti-aging skincare products and their prices from Elemis London.
The Elemis London shop front features a large digital display and a well-lit interior showcasing skincare products.
A serene treatment room with a comfortable sofa, a desk with a laptop, and a calming image on the wall.
Interior view of an Elemis London shop showcasing skincare products on illuminated shelves.
A treatment room at Elemis London with a massage bed and a vanity area.
Interior of an Elemis London shop with skincare products displayed on shelves and a reception desk.
Elemis Pro-Collagen Cleansing Balms displayed on a lit circular stand.
A treatment room at Elemis London with a massage bed and a stool.
A spa treatment room with a massage bed, a therapist, and a vanity area.
The Elemis London logo is displayed on a wall with a vibrant floral wallpaper.
Elemis London display featuring skincare products and a scent ritual bar.
Two light blue shopping bags with the Elemis London logo are on a counter.
Elemis London shop interior with skincare products displayed on a counter and a 'Living Beauty' sign.
Two smiling staff members in black uniforms and face masks at the Elemis London counter.
Interior of an Elemis London shop showcasing skincare products on illuminated shelves.
A collection of Elemis skincare products, including cleansers, toners, serums, and body oil.
Elemis London logo illuminated on a floral wallpaper with a folded towel.
Elemis London shop interior with a reception desk, chairs, and illuminated signage.
A collection of Elemis skincare products including serums, creams, and facial pads.
Interior of an Elemis London shop with a reception desk and illuminated display shelves.
A floral arrangement congratulates the new Elemis London shop opening.
Three smiling women pose with Elemis London shopping bags and skincare products.
Advertisement for Elemis Pro-Collagen Future Restore Serum, promising skin restoration in 4 days.
A light blue shopping bag with the Elemis London logo sits on a counter.
A sign displaying anti-aging skincare products and their prices from Elemis London.
Interior view of an Elemis London shop showcasing skincare products on illuminated shelves.
Elemis London shop display featuring Pro-Collagen Cleansing Balm and other skincare products.
Interior shot of an Elemis London beauty counter with skincare products displayed.
Elemis London shop display with skincare products and seating in a mall.
A hand holds a bottle of Elemis Pro-Collagen Rose Micro Serum with a 'Try Me' sticker.
Ju is really helpful explaining all the needful about their products and the skin care routine that is needed. Will definitely consider their products after I have tried and if it is effective.
Lynn Kwek
Aby is very friendly and knowledgeable about Elemis products. She was also very helpful in suggesting recommendations based on my skin conditions. Also thoroughly enjoyed the trial facial.
Kelly Koh
I had the most comfortable and efficient skin diagnostic session with Ju. She is so sweet and kind and explained everything so patiently and wi ty clarity. The products are amazing and I can’t wait to try the samples and my trial kit! Thank you Ju!!
L. Ho
I needed a boost for my skin after a long trip and decided to try the Elemis Lift & Rejuvenate Facial Treatment. They currently have a Rose Limited Edition version available, so I went with that and I’m glad I did. My therapist, Yvonne, was incredibly gentle and thorough throughout the entire treatment. My skin felt refreshed and well cared for by the end.
Leila Tan
Originally came for their Jar It Forward event but ended up trying some of the products after a free skin analysis. Suman provided exceptional and review-worthy service—she clearly explained our skin conditions and how the products could help. It really felt like she genuinely cared about improving our skin, which made the whole experience truly delightful.