a:6:{i:0;s:30643:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Bhutan Delight Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.pramukhtours.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.pramukhtours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Bhutan Delight Package</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>Tour Code :</b> PT/BHUTAN/01</p>
												<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Thimphu, Paro, Punakha, Phuentsholing</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.pramukhtours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Delight Package - 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="129205"/>
						</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_15/424442/209376.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/424442/209376.jpg"  width="150" height="150"    alt="Bhutan Delight Package" title="Bhutan Delight Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Train or Bus fare from / to your originating city of stay, unless specified. <br />
Any meals / en route meals unless specified. <br />
Items of personal nature viz, tips, porterage, room service, laundry, mineral water, alcoholic or non alcoholic beverages, phone calls, pony / horse rides, rafting, cable car / ropeway rides, helicopter rides, additional sightseeing tours / excursions not included in the itinerary, still or video camera fees etc. <br />
Entrance fees and guide charges, where ever applicable. <br />
Any increase in fuel cost, government taxes, entrance fees, intra and interstate taxes etc, the tour price will be amended in accordance. <br />
Any items / services not specifically mentioned in the 'Tour Price Includes' column. <br />
Supplement charges applicable for festive Season/ long weekends. <br />
Goods and Services Tax of 5%.								</div>
								<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 Bagdogra On to Phuentsholing (165 Kms / Approx. 4 Hour Drive)
										</p>
										<p class="aj">Welcome to your ‘Bhutan Delight Ex-Mumbai’ tour. On arrival at the airport in Bagdogra you will be met and transferred to your hotel in Phuentsholing. <br />
The rest of the day is at leisure. Overnight in Phuentsholing.</p>					
											<p><b>Meals : </b> Dinner</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> Onto Thimphu (170kms / Approx 6 Hour Drive)
										</p>
										<p class="aj">After breakfast, proceed to Thimphu which is approx 6 hours drive. En route, visit the Kharbandi Gompa to get a breathtaking view of Phuentsholing and also the Indian plains. We stop our journey on the way to see and feel the Bhutan himalayan scenery. On the way, we will reach the highest point of about 2800m/9,185ft. <br />
On arrival, check in to the hotel in Thimphu. <br />
The rest of the day is at leisure. Overnight in Thimphu.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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> Thimphu
										</p>
										<p class="aj">This morning after breakfast, proceed on a city tour of Thimphu visiting places like National Memorial Chorten, Motithang Mini Zoo, National Library, Buddha Point, Folk Heritage Museum and Tashichodzong. <br />
National Memorial Chorten: The large Tibetan-style National Memorial Chorten was built in 1974 to honour the memory of the third King, His Majesty Jigme Dorji Wangchuck (the father of modern Bhutan). This whitewashed chorten with its golden spires, features elaborate mandalas, statues and a shrine dedicated to the popular third king. The religious paintings and complex tantric statues inside the monument reflect both peaceful and wrathful aspects of Buddhist deities. <br />
Motithang Mini Zoo: A wildlife reserve area for takin, the national animal of Bhutan, Motithang Takin Preserve was initially established as a mini-zoo and later converted into a preserve as the animals were unable to adapt to the nearby forest when released into the wild. <br />
National Library: The National Library was established in 1967 to preserve ancient Dzongkha and Tibetan texts and promote the cultural and religious heritage of Bhutan. <br />
Folk Heritage Museum: Housed in a restored three storied, 19th century building, the Folk Heritage Museum provides a glimpse of the traditional Bhutanese lifestyle through exhibits, <br />
Tashichodzong: The beautiful medieval fortress / monastery which houses most of the government’s office and King’s Throne room. <br />
The rest of the day is at leisure. Overnight in Thimphu.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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> Onto Punakha
										</p>
										<p class="aj">This morning, drive to the valleys of Punakha, en route visit the Dochu La Pass and Chimi Lhakhang.<br />
<br />
Located on the way to Punakha from Thimphu, the Dochula pass at an altitude of 10,130 ft. offers one of the most spectacular panoramic views of the Himalayas. The pass is marked by an array of prayer flags and 108 chortens (stupas), known as the Druk Wangyal Chortens. Later, visit Chimi Lhakhang Temple, also known as Chime Lhakhang is a small Buddhist monastery. It is dedicated to Drukpa Kuenley, a Tibetan Buddhist saint, popularly known as the; Divine Madman. It lies in the fertile Lobesa village of Punakha Valley. <br />
On arrival, check in to the hotel in Punakha. <br />
The rest of the day is at leisure. Overnight in Punakha.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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> Onto Paro (65 kms / approx. 2 hour drive)
										</p>
										<p class="aj">After breakfast, drive to Paro, en route visit Paro Dzong. Situated at a commanding height overlooking Paro valley, Paro Dzong is one of Bhutan’s most impressive and well-known Dzongs and the finest example of Bhutanese architecture. The Dzong houses both the monastic body and district government offices, including the local courts and is symbolic as the religious and secular centre of all affairs of the valley. <br />
On arrival, check in to the hotel in Paro. <br />
The rest of the day is at leisure. Overnight in Paro.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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
										</p>
										<p class="aj">After an early breakfast, you will proceed for an excursion to the famous place called Taktsang Monastery (Tiger Nest) (5hours to 6 hours hike up and down). <br />
Taktsang Lhakhang also known as the Tiger's Nest is the most famous Buddhist pilgrimage site and temple complex in Bhutan. Visible from afar, this stunning and highly revered monastery is perched on a high granite cliff at an altitude of 10,236 ft. overlooking the northern Paro valley. According to legend, this cliffside fortress was where Guru Rinpoche landed on the back of a flying tigress, bringing Buddhism to Bhutan. It has been recognized as a sacred site ever since and many famous saints have travelled here to meditate. <br />
Note: Guestwho will not able to visit Tiger Nest, an alternate sightseeing will be provided as mentioned. <br />
Kyichu Lhakhang: The 7th century Kyichu Lhakhang (temple) is one of the oldest shrines in Bhutan. The temple complex is composed of two temples - the first was built to subdue a giant demoness and the second temple dedicated it to Guru Rinpoche. <br />
OR <br />
Drukgyel dzong: Located on a ridge in the upper Paro valley, about 18 km from Paro town, the ancient ruins of Drukgyel Dzongor; the fortress of the victorious Bhutanese; are considered as the most beautiful and famous archaeological sites in Bhutan. <br />
OR <br />
National Museum of Bhutan: National Museum of Bhutan boasts of a collection of over 3000 works of Bhutanese art covering over 1,500 years of the country’s cultural heritage. <br />
Post sightseeing, transfer back to the hotel. <br />
The rest of the day is at leisure. Overnight in Paro.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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> On to Phuentsholing (170kms / Approx. 5 Hour Drive)
										</p>
										<p class="aj">Today, after breakfast drive back to Phuentsholing - the western gateway to the south and thriving commercial trade centre on the northern edge of the Indian plains. On arrival, check in to the hotel. <br />
The rest of the day is at leisure. Overnight in Phuentsholing.</p>					
											<p><b>Meals : </b> Breakfast, Dinner</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> Depart Phuentsholing – Bagdogra/ New Jalpaiguri (165 Kms / Approx. 4 Hours Drive)
										</p>
										<p class="aj">Today, bid farewell to your ' Bhutan Delight tour, as you are transferred to the airport in Bagdogra for your onward journey.</p>					
											<p><b>Meals : </b> Breakfast</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>Sightseeing</li>
																				<li>Accommodation in the hotels listed or similar hotels. </li><li>
Meals - Daily buffet Breakfast and Dinner as per the itinerary. </li><li>
Transportation:Transfers / Sightseeing by Non - Air Conditioned Toyota Coaster Bus / Hiace or similar as per the itinerary. The vehicle is not at disposal. India Part: Non AC Innova (Pick up and drop). </li><li>
Permit / Immigration charges. </li><li>
Pramukh Tours coordinator Ex Bagdogra. </li><li>
All current applicable taxes i.e. Hotel tax and Transportation tax.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Train or Bus fare from / to your originating city of stay, unless specified. </li><li>
Any meals / en route meals unless specified. </li><li>
Items of personal nature viz, tips, porterage, room service, laundry, mineral water, alcoholic or non alcoholic beverages, phone calls, pony / horse rides, rafting, cable car / ropeway rides, helicopter rides, additional sightseeing tours / excursions not included in the itinerary, still or video camera fees etc. </li><li>
Entrance fees and guide charges, where ever applicable. </li><li>
Any increase in fuel cost, government taxes, entrance fees, intra and interstate taxes etc, the tour price will be amended in accordance. </li><li>
Any items / services not specifically mentioned in the 'Tour Price Includes' column. </li><li>
Supplement charges applicable for festive Season/ long weekends. </li><li>
Goods and Services Tax of 5%.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li><p><strong>Pramukh ToursTerms and Conditions apply.</strong></p></li><li>
	Please do not touch any religious artifact or antique.</li><li></li><li>
	Purchase of religious items especially antiques is prohibited.</li><li></li><li>
	Please take off hats while entering Dzong, temples or monastery.</li><li></li><li>
	Shorts / half pants are not permitted while entering a Dzong, temple or monastery.</li><li></li><li>
	Before entering a Dzong, temple, monastery, please switch off all mobile phones or keep in the silent/vibrating mode.</li><li></li><li>
	Travel insurance, included in our package cost is valid for age group up to 80 years only. For age group beyond 80 years, rules, terms and conditions of the insurance company will apply. The same needs to be checked on case to case basis with the insurance company.</li><li></li><li>
	Please speak softly within the religious premises.</li><li></li><li>
	Please remember not to point with a single finger but use an upturned flat extended hand especially to indicate a sacred object or place.</li><li></li><li>
	Rates are not valid during long weekend / public holidays/ festive period.</li><li></li><li>
	Package valid for Indian Nationals Only</li><li></li><li>
	Please refrain from touching any ritual objects or mural paintings.</li><li></li><li>
	Please do not walk over any clothes, books, hearth or materials left open in religious sites.</li><li></li><li>
	Please refrain from smoking or drinking while visiting religious places.</li><li></li><li>
	If you are not sure please ask the local people or the guide.</li><li></li><li>
	Water supply in the hills during the peak season is restricted due to shortage and water is supplied area wise at specific times. Please co-operate with the hotel on same.</li><li></li><li>
	Do carry comfortable walking shoes.</li><li></li><li>
	The hotel confirmed will be as per the brochure or an alternate hotel of similar category</li><li></li><li>
	Visas are not required for Indian Nationals.</li><li></li><li>
	INR (Indian Rupees) denominations of 500 and 1000 are not accepted in Bhutan.</li><li></li><li>
	All the prices are for Indian Nationals only, unless specified.</li><li></li><li>
	It is mandatory to carry a valid photo identity card (Passport / Voter ID card - passport should have a validity of minimum 6 months).</li></ul>					
								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.pramukhtours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bhutan Delight Package - 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="129205"/>
						</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.pramukhtours.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-mysore.htm" title="Packages in Mysore">Mysore</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-kodagu.htm" title="Packages in Kodagu">Kodagu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-wayanad.htm" title="Packages in Wayanad">Wayanad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/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 spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/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 spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.pramukhtours.com/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(2)</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.pramukhtours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(43)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(39)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/winter-holidays-catid.htm" title="Winter Packages">Winter</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.pramukhtours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</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, Punakha, Phuentsholing</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.pramukhtours.com/tour-packages/super-saver-bhutan.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/424442/209375.jpg"  alt="Super Saver Bhutan Tour" title="Super Saver Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.pramukhtours.com/tour-packages/super-saver-bhutan.htm" title="Super Saver Bhutan Tour"><h3>Super Saver Bhutan Tour</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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Thimphu, Paro, Punakha, Phuentsholing</p>
															<div class="mt10px small">
							<form name="pkg_129206" id="pkg_129206" method="post" action="http://www.pramukhtours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.pramukhtours.com/tour-packages/super-saver-bhutan.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Super Saver Bhutan 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="129206"/>
							</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:61:"Book Bhutan Delight Package - 7 Nights / 8 Days Tour Packages";i:2;s:142:"book bhutan delight package - 7 nights / 8 days tour packages, hill station tour packages, thimphu, paro, punakha, phuentsholing tour packages";i:3;s:172:"Pramukh Tours offers Bhutan Delight Package - 7 Nights / 8 Days tour package, budget Hill Station tour packages for Thimphu, Paro, Punakha, Phuentsholing at exciting price.";i:4;s:1255:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha, Phuentsholing"        
		                 },
		      "description": "Train or Bus fare from / to your originating city of stay, unless specified. 
Any meals / en route meals unless specified. 
Items of personal nature viz, tips, porterage, room service, laundry, mineral water, alcoholic or non alcoholic beverages, phone calls, pony / horse rides, rafting, cable car / ropeway rides, helicopter rides, additional sightseeing tours / excursions not included in the itinerary, still or video camera fees etc. 
Entrance fees and guide charges, where ever applicable. 
Any increase in fuel cost, government taxes, entrance fees, intra and interstate taxes etc, the tour price will be amended in accordance. 
Any items / services not specifically mentioned in the 'Tour Price Includes' column. 
Supplement charges applicable for festive Season/ long weekends. 
Goods and Services Tax of 5%.",
		      "name": "Bhutan Delight Package",
		      "telephone": "+91-9898613942"
		    }
		    </script>
			";i:5;N;}