a:6:{i:0;s:18543:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>(5 Nights / 6 Days) Bhutan Fly In & Fly Out Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.glenviewtravel.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.glenviewtravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> (5 Nights / 6 Days) Bhutan Fly In & Fly Out Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro, Wangdue Phodrang, Punakha</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.glenviewtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="(5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="186933"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_20/575102/290882.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/575102/290882.jpg"  height="150"  width="150"    alt="(5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour" title="(5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Paro Airport – Thimphu Sightseeing (distance: 65 Kms. / Driving Time: 2 Hrs. / Altitude of Thimphu
										</p>
										<p class="aj">Meet & Greet On Arrival At Paro Airport and Transfer to Thimphu (7,710 Ft.) the Capital City of Bhutan. On Arrival Check in At the Hotel. Afternoon Start for Half Day Thimphu Sightseeing Consist Of kuensel Phodrang (buddha Statue) a Place for Refreshing with a Huge Statue of Buddha On the Top of the Kuensel Phodrang, national Memorial Chorten - this Chorten Was Built in 1974 in a Typical Tibetan Style. It is also a Center of Worship for the People Living in Thimphu. later in the Day Visit tashichho Dzong (fortress of the Glorious Religion) - the Dzong is the Seat of the National Government and the Central Monastic Body, Including the Summer Residence of the Je Khenpo (chief Abbot of Bhutan) At Present. overnight Stay At Thimphu. </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> Thimphu – Punakha/wangdue Sightseeing (distance: 77 Kms. / Driving Time: 3 Hrs. / Altitude of Puna
										</p>
										<p class="aj">(distance: 77 Kms. / Driving Time: 3 Hrs. / Altitude of Punakha: 1310 Mts.)<br />
after Breakfast Drive to Punakha (4298 Ft.) / Wangdue, On the Way Stop At dochu-la-pass (3150 Mts.). to View the Higher Himalayas. Arrival At Punakha Check in At Hotel. After Noon Visit punakha Dzong - Built in 1637 By Zhabdrung Ngawang Namgyal. for Many Years Until the Time of the Second King, It Served as the Seat of the Government. the Dzong Was Named Druk Pungthang Dechen Phodrang (palace of Great Happiness). Punakha is Still the Winter Residence of Je-khenpo and King Jigme Dorji Wangchuck Convened the First National Assembly Here in 1952.  after that Take, a Short and Easy Hike to Visit Thechhimi Lhakhang - the Temple, also Known as “the Temple of Fertility” Was Built By Lama Drukpa Kuenley, “the Devine Mad Man”. Evening Free for Leisure. Overnight Stay At Punakha / Wangdue.</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 3:</b> Excursion to Gangtey (phobjikha) or Punakha Sightseeing (excursion to Gangtey - Distance: 78 Kms. On
										</p>
										<p class="aj">After Breakfast, Start for Full Day excursion Trip To gangtey (9,840 Ft.). Gangtey is the Home of Black Necked Crane Which Migrates from the Arid Plains of Tibet in the North. It is a Beautiful Valley of Bhutan. You Can also Visit Gangtey Gompha. Evening Return Back. Overnight Stay At Punakha / Wangdue.<br />
alternatively, Instead of Going to Gangtey (phobjikha), You also have An Option Spending the Day in Punakha Valley Itself. after Breakfast hike khamsum Yuelley Namgyal Chorten which is About 45 Mins Easy Hike to the Top of the Hill. It Offers a Breathtaking View of the Punakha Valley. also Visit punakha Suspension Bridge and sangchhen Dorji Lhuendrup Nunnery. Rest of the Day Free for Leisure. Overnight Stay At Punakha / Wangdue.</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> Punakha/wangdue – Paro Sightseeing (distance: 140 Kms. / Driving Time: 5 Hrs. / Altitude of Paro:
										</p>
										<p class="aj">After Breakfast Drive to Paro (7,483 Ft.). On the Way Stop At Lamperi to Visit royal Botanical Park. on Arrival Check in At the Hotel. Afternoon Visit ta Dzong - National Museum with An Excellent Collection of Arts, Relics, Religious Thangkha, Etc. rinpung Dzong - meaning "fortress of the Heap of Jewels". the Dzong Now Serves as the Administrative and Judicial Seat of Paro. Evening Free for Leisure. Overnight Stay At Paro.</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> Paro Sightseeing
										</p>
										<p class="aj">After Breakfast Hike to the Famous taktsang Monastery - Called “tiger’s Nest” (2hrs Hike from the Base Camp). Later Visit drukgyel Dzong & Kyichu Monastery. Overnight Stay At Paro.</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> Paro Airport
										</p>
										<p class="aj">After Breakfast Check Out from Hotel and Drop At Paro Airport for Your Onward Journey.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.glenviewtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="(5 Nights / 6 Days) Bhutan Fly in & Fly Out 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="186933"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-jammu.htm" title="Packages in Jammu">Jammu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-kargil.htm" title="Packages in Kargil">Kargil</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-katra.htm" title="Packages in Katra">Katra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.glenviewtravel.in/packages-in-lachen.htm" title="Packages in Lachen">Lachen</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.glenviewtravel.in/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.glenviewtravel.in/packages-in-wangdue-phodrang.htm" title="Packages in Wangdue Phodrang">Wangdue Phodrang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.glenviewtravel.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.glenviewtravel.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.glenviewtravel.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Thimphu, Paro, Wangdue Phodrang, Punakha</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.glenviewtravel.in/holiday-packages/4-nights5-days-bhutan-flyin-fly-out-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/575102/290881.jpg"  height="100"  width="100"    alt="(4 Nights / 5 Days) Bhutan Fly in & Fly Out Tour" title="(4 Nights / 5 Days) Bhutan Fly in & Fly Out Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.glenviewtravel.in/holiday-packages/4-nights5-days-bhutan-flyin-fly-out-tour.htm" title="(4 Nights / 5 Days) Bhutan Fly in & Fly Out Tour"><h3>(4 Nights / 5 Days) Bhutan Fly In & Fly Ou..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Wangdue Phodrang, Punakha</p>
															<div class="mt10px small">
							<form name="pkg_186932" id="pkg_186932" method="post" action="http://www.glenviewtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.glenviewtravel.in/holiday-packages/4-nights5-days-bhutan-flyin-fly-out-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="(4 Nights / 5 Days) Bhutan Fly in & Fly Out Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="186932"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:87:"Book (5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour - 5 Nights / 6 Days Tour Packages";i:2;s:168:"book (5 nights / 6 days) bhutan fly in & fly out tour - 5 nights / 6 days tour packages, adventure tour packages, thimphu, paro, wangdue phodrang, punakha tour packages";i:3;s:202:"Glen View Travels offers (5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour - 5 Nights / 6 Days tour package, budget Adventure tour packages for Thimphu, Paro, Wangdue Phodrang, Punakha at exciting price.";i:4;s:460:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Wangdue Phodrang, Punakha"        
		                 },
		      "description": "",
		      "name": "(5 Nights / 6 Days) Bhutan Fly in & Fly Out Tour",
		      "telephone": "+91-9435085517"
		    }
		    </script>
			";i:5;N;}