Maldives HOTEL DIRECTORY

Book Direct - Accommodations

Top Picks - Tourism Services

View all

Discover our curated selection of top tourism services and experiences designed to help you explore, enjoy and make the most of your journey.

Top Picks - Accommodation

Discover our handpicked selection of exceptional accommodations across different categories.

featured-premium
Candace Hall
featured-premium
Jermaine Rose
featured-premium
Mary Parrish
featured-premium
Iliana Osborn

Partners' Corner

Sponsored content from our trusted partners - banks, telecom, and service providers

Sponsored
Banking Services

Secure Payment Solutions for Travel

by Maldives Bank

Discover our secure payment solutions designed specifically for the travel industry. From instant transfers to multi-currency accounts, we ensure your transactions are safe and seamless.

Sponsored
Telecom Services

Stay Connected in Paradise

by Maldives Telecom

Experience seamless connectivity across the Maldives with our comprehensive telecom solutions. From high-speed internet to reliable mobile coverage, stay connected wherever your journey takes you.

Sponsored
Insurance Services

Travel Insurance Made Simple

by Maldives Insurance

Protect your travel investment with comprehensive insurance coverage. From trip cancellation to medical emergencies, we've got you covered for worry-free travel experiences.

Interested in becoming a partner? Contact us to explore sponsorship opportunities.

Become a Partner

Let's get started — create your account

Join our platform to book trusted hotels or manage your property with powerful, easy-to-use tools.

fetchCountries() { console.log('Loading Maldives atolls...'); const countrySelect = document.getElementById('country'); const atolls = [ 'Haa Alif Atoll', 'Haa Dhaalu Atoll', 'Shaviyani Atoll', 'Noonu Atoll', 'Raa Atoll', 'Baa Atoll', 'Lhaviyani Atoll', 'Kaafu (Malé) Atoll', 'Alif Alif Atoll', 'Alif Dhaalu Atoll', 'Vaavu Atoll', 'Meemu Atoll', 'Faafu Atoll', 'Dhaalu Atoll', 'Thaa Atoll', 'Laamu Atoll', 'Gaafu Alif Atoll', 'Gaafu Dhaalu Atoll', 'Gnaviyani (Fuvahmulah) Atoll', 'Seenu (Addu) Atoll' ]; // Clear and populate countrySelect.innerHTML = ''; atolls.sort().forEach(function(atoll) { const option = document.createElement('option'); option.value = atoll; option.textContent = atoll; countrySelect.appendChild(option); }); // Refresh Select2 after adding options $('#country').trigger('change'); console.log('Atolls loaded successfully'); } // Function to fetch cities for a country async function fetchCities(country) { console.log('Fetching cities for:', country); const citySelect = document.getElementById('city'); if (!citySelect) { // No city dropdown on this page; skip return; } try { const response = await fetch(`https://countriesnow.space/api/v0.1/countries/cities/q?country=${encodeURIComponent(country)}`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); console.log('Cities data received:', data); // Clear existing options citySelect.innerHTML = ''; if (data.data && Array.isArray(data.data)) { // Sort cities alphabetically data.data.sort(); data.data.forEach(city => { const option = document.createElement('option'); option.value = city; option.textContent = city; citySelect.appendChild(option); }); // Refresh Select2 after adding options $('#city').trigger('change'); console.log('Cities loaded successfully'); } else { console.log('No cities data found'); citySelect.innerHTML = ''; $('#city').trigger('change'); } } catch (error) { console.error('Error fetching cities:', error); citySelect.innerHTML = ''; $('#city').trigger('change'); } } // Event listener for country change $('#country').on('change', function() { const selectedCountry = this.value; if (selectedCountry) { fetchCities(selectedCountry); } else if (document.getElementById('city')) { $('#city').html('').trigger('change'); } }); // Make sure DOM is fully loaded before running if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fetchCountries); } else { fetchCountries(); }