a:6:{i:0;s:17671:"				<div class="h1"><h1>8N/9D Iceland Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bellatours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bellatours.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>8N/9D Iceland Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Akranes, Reykjavik, Grindavik</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 150338 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Special Offer 	<br />
1st 50 people get BELLA TOURS bag</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="8N/9D Iceland Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="92106"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397488/158312.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/158312.jpg"  width="150" height="150"    alt="8N/9D Iceland Tour" title="8N/9D Iceland Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Every Wednesday Departure <br />
<br />
1 Night in Reykjavik<br />
6 Nights in Countryside<br />
1 Night in Reykjavik<br />
Meals : Breakfasts & 5 Dinners in the countryside<br />
Day 2 : Enjoy Exploding Geysers - Waterfalls - Seabird Colony - Black Sand Beaches of the South Shore<br />
Day 3 : Lava Fields - Glacial Lagoon with Icebergs - Europe's Largest Glacier<br />
Day 4 : Narrow Fjords - Steep Mountains - Picturesque Coastline - Mineral Collection<br />
Day 5 : Highland Desert - Bizarre Lava Formations - Geothermal & Volcanic Activity - Rich Birdlife<br />
Day 6 : "Waterfall of the Gods" - Folk Museum - The beautiful Troll Peninsula<br />
Day 7 : Fertile Farmlands - Glacial Rivers - Unique Viking Horse Demonstration<br />
Day 8 : Europe's Largest Hot Spring - Picturesque Waterfalls - National Park with Geological Wonders (UNESCO)Special Offer 	<br />
1st 50 people get BELLA TOURS bagAirfare & Taxes<br />
Visa & Insurances charges<br />
Any up gradation in hotel room category<br />
Any meals other than specified above<br />
Any sightseeing other than mentioned above<br />
Any Entrance fees or Fees for video or camera permit<br />
Any item of personal nature like tips, laundry, telephone calls etc<br />
Service tax will be applicable on total invoice17-0731-12<br />						<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrive in Reykjavík
								</p>
								<p class="aj">Welcome to the Land of Fire and Ice!  Transfer to Reykjavik hotel (On your own).  We recommend the easy and convenient FlyBus Plus transfers, which can be booked through us.  If your flight lands early in the day, a great suggestion is to explore Reykjavík, the largest municipality in Iceland.<br />
Ingolfur Arnarson, the first settler of Iceland, built his farm on the peninsula where Reykjavík stands today. The town got its name “Smoky Bay” after the columns of steam that rose from the hot springs in the area and made such a deep impression on the first settlers.<br />
Dinner is on your own.  Reykjavik offers a multitude of restaurants and/or coffee-houses, making dinner a great way to get better acquainted with Iceland's capital. Overnight stay in Reykjavík.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Reykjavík - Geysir - Gullfoss - Skogar - Dyrholaey - Vik
								</p>
								<p class="aj">Exploding Geysers – Waterfalls – Seabird Colony – Black Sand Beaches of the South Shore<br />
Start the day with a short city sightseeing of Reykjavik. From Reykjavik head through the greenhouse village of Hveragerdi.  Visit the nearby Fákasel Icelandic Horse Park where you can get to know a little more about the unique Icelandic horse breed. Head on to the Golden Circle natural wonders. Explore Gullfoss, the "Golden Waterfall", and the nearby Geysir hot spring area to see the famous Geysir and Strokkur, as well as numerous other hot springs and boiling mud pools. Continue along the south shore and stop to admire the waterfalls Seljalandsfoss and Skogafoss before continuing to Dyrholaey* nature reserve. Continue to the village of Vik. Dinner and overnight stay in the Vik area.<br />
*Please note that Dyrholaey is closed during nesting season in spring, approximately mid-May until June 25th.</p>
								</td>
									<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" >
												<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397488/158312.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/158312.jpg"  width="150" height="150"    alt="8N/9D Iceland Tour" title="8N/9D Iceland Tour" /></a></p></div></li>
									</ul>
									</div>
									</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Vik – Skaftafell National Park – Jokulsarlon Glacial Lagoon – Hofn
								</p>
								<p class="aj">Lava Fields – Glacial Lagoon with Icebergs – Europe's Largest Glacier<br />
After breakfast continue your journey on the Ring Road.  Cross Eldhraun, the largest lava flow recorded on the planet in historical times. Visit Kirkjubaejarklaustur town, the former site of a 12th-century Catholic convent. The tour continues over Skeidararsandur sands to Skaftafell, a beautiful glacial area within Vatnajökull National Park. Continue to the stunning Jokulsarlon Glacial Lagoon to see the birthplace of icebergs. Throughout the day you will also enjoy magnificent views of the mighty Vatnajokull Glacier. Dinner and overnight stay in the Hofn area.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Hofn – East Fjords – Egilsstadir
								</p>
								<p class="aj">Narrow Fjords – Steep Mountains – Picturesque Coastline – Mineral Collection<br />
Breakfast at your hotel.  Drive from Hofn through Almannaskard pass, stopping to admire the majestic coastline. Continue to the towering mountains plunging vertically into the sea that form the magnificent East Fjords. Explore Petra's renowned collection of local stones and minerals. Dinner and overnight stay in the Egilsstadir area.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Lake Myvatn Area
								</p>
								<p class="aj">Highland Desert - Bizarre Lava Formations - Geothermal & Volcanic Activity - Rich Birdlife - Protected Salmon River<br />
After breakfast Explore the empty vastness of the highland desert plateau Modrudalsoraefi as you head towards the Lake Myvatn area. On the way, stop at Dettifoss, Europe's most powerful waterfall.  Continue onwards to Namaskard pass with its boiling mud pools and vibrant colours. Explore the natural beauty of the Lake Myvatn area, including the pseudo craters at Skutustadir and the Laxa Salmon River. One of the Myvatn area's claims to fame is that it is home to more species of ducks than any other place on Earth, with very diverse birdlife in general.<br />
Dinner and overnight stay in the Myvatn area.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Lake Myvatn Area – Akureyri - Siglufjordur
								</p>
								<p class="aj">"Waterfall of the Gods" – Folk Museum – The beautiful Troll Peninsula<br />
Start the day by exploring the peculiar lava formations at Dimmuborgir. Visit the magnificent Godafoss waterfall and the old turf farm Laufas. Afterwards, visit Akureyri, the colourful northern “capital“ of Iceland.  The town has charming buildings and beautiful view of the Eyjafjordur Fjord.  After spending some time in Akureyri, continue along the coastal roads of Eyjafjordur and the Troll Peninsula.  This is a beautiful drive along steep mountains with amazing views over the Arctic Sea and black sand coastline.  The destination is Siglufjordur, set in a beautiful fjord of the same name.  This town has some of the finest timber buildings in the country, beautifully restored to their original glory.   The evening and dinner is on your own at one of the town´s restaurants.  Siglufjordur is a very enjoyable and friendly town for an evening stroll. Overnight in Siglufjörður.  Dinner is on own.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Skagafjordur-Borgarnes
								</p>
								<p class="aj">Fertile Farmlands – Glacial Rivers – Unique Viking Horse Demonstration<br />
This morning visit Siglufjordur‘s award-winning Herring-Era Museum. The museum recreates the atmosphere of the early 20th century, when Siglufjordur was transformed into a herring boom town, thanks to a large migration of herring.  Afterwards, head along   majestic mountains and narrow passes lead to Skagafjordur, considered to be one of the finest places in Iceland for horse breeding.   Enjoy an introduction to the unique Icelandic horse breed with its special fifth gait - the tolt. Continue towards the village of Blonduos built on both sides of the river Blanda.  Hrutey Island, a protected nature reserve, sits within the centre of this popular Salmon River. Cross the Holtavorduheidi plateau through Borgarfjordur to the beautiful town of Borgarnes.Dinner and overnight stay in Borgarnes area.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Borgarfjordur – Thingvellir – Reykjavik
								</p>
								<p class="aj">Europe's Largest Hot Spring – Picturesque Waterfalls – National Park with Geological Wonders (UNESCO)<br />
Drive to Deildartunguhver, the most powerful hot spring in the world. Stop to admire the beautiful Hraunfossar waterfalls before continuing via Hvalfjordur fjord to Lake Thingvallavatn, Iceland's largest lake and Thingvellir National Park.  This UNESCO heritage site is where the world‘s oldest continuing parliamentary government was founded in the 10th century.  It is also the place where the North American and European tectonic plates meet.<br />
Overnight stay in Reykjavík.  Dinner is on your own.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Reykjavik- Departure
								</p>
								<p class="aj">After breakfast it’s time to check out.Transfer to the airport (On your own) for your onward flight or back home.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>3 Star Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare & Taxes</li><li>
Visa & Insurances charges</li><li>
Any up gradation in hotel room category</li><li>
Any meals other than specified above</li><li>
Any sightseeing other than mentioned above</li><li>
Any Entrance fees or Fees for video or camera permit</li><li>
Any item of personal nature like tips, laundry, telephone calls etc</li><li>
Service tax will be applicable on total invoice</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~						
    	<p class="h dif xlarge b mb5px">Price per person in EUR:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Category</td>
				<td class="headHr p5px b">Twin</td>
				<td class="headHr p5px b">Single</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">April - May Departures</td>
				<td class="data p5px"></td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">2110</td>
				<td class="data p5px">2635</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">June - July -  August Departures</td>
				<td class="data p5px"></td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">2410</td>
				<td class="data p5px">3200</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">September Departures</td>
				<td class="data p5px"></td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">2205</td>
				<td class="data p5px">2775</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="8N/9D Iceland Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="92106"/>
						</form>
						</div>
						
						";i:1;s:57:"Book 8N/9D Iceland Tour - 8 Nights / 9 Days Tour Packages";i:2;s:126:"book 8n/9d iceland tour - 8 nights / 9 days tour packages, heritage tour packages, akranes, reykjavik, grindavik tour packages";i:3;s:169:"Book 8N/9D Iceland Tour - 8 Nights / 9 Days tour packages from Bella Tours - Get attractive 8 Nights / 9 Days Heritage  tour packages for  Akranes, Reykjavik, Grindavik.";i:4;s:1602:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Akranes, Reykjavik, Grindavik"        
		                 },
		      "description": "Every Wednesday Departure 

1 Night in Reykjavik
6 Nights in Countryside
1 Night in Reykjavik
Meals : Breakfasts & 5 Dinners in the countryside
Day 2 : Enjoy Exploding Geysers - Waterfalls - Seabird Colony - Black Sand Beaches of the South Shore
Day 3 : Lava Fields - Glacial Lagoon with Icebergs - Europe's Largest Glacier
Day 4 : Narrow Fjords - Steep Mountains - Picturesque Coastline - Mineral Collection
Day 5 : Highland Desert - Bizarre Lava Formations - Geothermal & Volcanic Activity - Rich Birdlife
Day 6 : "Waterfall of the Gods" - Folk Museum - The beautiful Troll Peninsula
Day 7 : Fertile Farmlands - Glacial Rivers - Unique Viking Horse Demonstration
Day 8 : Europe's Largest Hot Spring - Picturesque Waterfalls - National Park with Geological Wonders (UNESCO)Special Offer 	
1st 50 people get BELLA TOURS bagAirfare & Taxes
Visa & Insurances charges
Any up gradation in hotel room category
Any meals other than specified above
Any sightseeing other than mentioned above
Any Entrance fees or Fees for video or camera permit
Any item of personal nature like tips, laundry, telephone calls etc
Service tax will be applicable on total invoice17-0731-12",
		      "name": "8N/9D Iceland Tour",
		      "telephone": "+91-9819406969"
		    }
		    </script>
			";i:5;N;}