a:6:{i:0;s:14416:"				<div class="h1"><h1>Punakha Festival Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.exoticvacationsbhutan.biz/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.exoticvacationsbhutan.biz/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Punakha Festival 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">Tour Code </td>
						<td class="p5px pl0px vat">05</td>
						</tr>
												<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">Thimphu, Paro, Punakha</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 1995 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">15% discount will be offered to those who contact directly</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.exoticvacationsbhutan.biz/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Punakha Festival 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="126678"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					15% discount will be offered to those who contact directlyAir tickets,Guide and driver tips and personal expenses11-0431-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 Paro International Airport - Thimphu
								</p>
								<p class="aj">Upon arrival at Paro International airport, you will be welcomed by our company representative and the tour guide will receive and escort you to designated Hotels in 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 2:</b> Paro
								</p>
								<p class="aj">Hike to Tiger's Nest, one of the most sacred Taktshang monasteries in Bhutan. It is perched on the cliff where Guru Rinpoche is said to have flown to the site riding on a tigress. He subsequently meditated here for three months. You can have lunch at the Taktshang cafeteria from where you get a spectacular view of the monastery.<br />
<br />
In the afternoon drive to the ruins of the 17th Century Drukgyel Dzong, an historic monument built by the Zhabdrung to commemorate his victory against invading Tibetans in 1644. In fine weather the towering peak of the sacred Mount Jomolhari (7314m) appears as a stunning backdrop. On the return drive to Paro, visit 7th Century Kyichu Lhakhang, one of the 108 temples constructed by the Tibetan king Songtsen Gampo. Overnight 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 3:</b> Paro - Punakha
								</p>
								<p class="aj">After an early breakfast drive over the Dochu-La pass, which on a clear day offers an incredible view of Himalayan peaks before descending into Punakha Valley. The drive through the countryside affords a glimpse of everyday life in this most remote of Himalayan Kingdom's.<br />
<br />
Punakha was the formal capital of Bhutan. On arrival, drive to Punakha Dzong, the “Palace of Great Happiness” to attend the festival. You will see locals dressed in their finest clothes who have walked from miles around to attend the festivities. They come to watch masked dances, to pray, and to feast. While the underlying purpose of the festival is spiritual, dances are more often like plays, telling stories where good triumphs over evil, or depicting significant historical events, especially surrounding the life of Bhutan’s patron saint, Padmasambhava (also known as Guru Rinpoche). In the evening free for leisure walk to explore Punakha town and walk around the town is easy and would be enjoyable to experience the Bhutanese way of life.</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
								</p>
								<p class="aj">After a leisurely breakfast, we will attend Punakha Tshechu upto Lunch time or return back to the Festival Ground after lunch.<br />
<br />
Afternoon: Two Optional Programs are: (1) Attend the Tshechu, (2) enjoy a walk to Chimi Lhakhang, the temple of fertility, blessed by the Divine Mad in the 1500s. The walk to the temple will take about 45 minutes one way through rice paddy fields. Overnight at Punakha/WangduePhodrang.</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> Punakha - Phobjikha Valley
								</p>
								<p class="aj">Today we will drive to Phobjikha Valley through the bustling market town of Wangduephodrang. Drive up a winding mountain road through oak and rhododendron forests, and over a high pass down into the picturesque Phobjikha Valley.<br />
<br />
Phobjikha is one of Bhutan’s few glacial valleys, and chosen winter home of black necked cranes migrating from the Tibetan plateau. After lunch visit Gangtey Gompa (Monastery), dating back to the 16th century. Overnight at Phobjikha.</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> Phobjikha Valley - Thimphu
								</p>
								<p class="aj">After an early breakfast drive back to Thimphu. In the afternoon, time free at leisure for own activities and relax in the hotel to acclimatization with Bhutan weather conditions.</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> Thimphu - Sightseeing
								</p>
								<p class="aj">We will start our sightseeing tour visiting Memorial Chorten built in memory of the 3rd King Jigme Dorji Wangchuck who reigned the Kingdom from 1952-1972. Visit the National Library where ancient manuscripts are preserved. Further, we will visit the Zorig Chusum - 13 Arts & Crafts Institute where traditional arts and crafts are still kept alive. The visitors can see students of different trades at work like: Sculpting, Thanka Painting, Wood Carving and other skills.<br />
<br />
Afternoon visit to the Textile Museum, Handicrafts Emporium, Crafts Bazaar where Bhutanese textiles and other arts and crafts are displayed and can be purchased. In the evening free for leisure walk to explore Thimphu city - the world’s smallest capital and the only capital city where Traffic Lights are absent. The walk around the city is easy and would be enjoyable to experience the Bhutanese way of life.</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> Thimphu - Paro
								</p>
								<p class="aj">Today we will go on a day long Excursion to Phajodng which is at an altitude of 3700m. The 3 hours hike is considered one of the most enjoyable short hikes through coniferous forests. The panoramic view of Thimphu valley and surrounding mountains will be most rewarding. There are several monasteries, state monastic Buddhist school and it is also a popular meditation place for many devout Buddhists. Late afternoon transfer to Paro. Overnight 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 9:</b> Paro - International Airport
								</p>
								<p class="aj">The guests will be Seen Off by a Representative of our company and the Tour Guide at the Exit Gate. Wish Bon Voyage!!!</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>2 Star Hotel</li>
																		<li>3 Star Hotel</li>
																		<li>4 Star Hotel</li>
																		<li>5 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Cab</li>
																		<li>Private Guides</li>
																		<li>Entry Tickets</li>
																		<li>Sim Card</li>
																		<li>Bus Transfer</li>
																		<li>Cab Transfer</li>
																		<li>Stay Included</li>
																		<li>Non Veg Meals</li>
																		<li>Veg Meals</li>
																		<li>Veg & Non Veg Meals</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air tickets,Guide and driver tips and personal expenses</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>All seasons awaits<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<header>
<h1>Cancellation Policy</h1>
</header>

<p><strong>Tour programs booked and subsequently cancelled shall be subject to cancellation charges as follows:</strong>

<table>
	<tbody>
		<tr>
			<td>1</td>
			<td>Within 45 days of the start of the tour program</td>
			<td>15% of the total tour cost</td>
		</tr>
		<tr>
			<td>2</td>
			<td>Within 30 days</td>
			<td>25% of the total tour cost</td>
		</tr>
		<tr>
			<td>3</td>
			<td>Within 21 days</td>
			<td>30% of the total tour cost</td>
		</tr>
		<tr>
			<td>4</td>
			<td>Within 15 days</td>
			<td>50% of the total tour cost</td>
		</tr>
		<tr>
			<td>5</td>
			<td>Less than 7 days</td>
			<td>100% of the total tour cost</td>
		</tr>
	</tbody>
</table>

<h5>*&nbsp;DELAYED ARRIVAL/DEPARTURE</h5>

<ul>
	<li>There shall be no fixed charge for the number of days of delay in arrival of visitors due to weather conditions, Druk-air problems or road blocks except for minimum charge on hotel cancellation, transport and guide.</li>
	<li>There shall be no charge for the number of days of delay in departure of visitors due to weather conditions, Druk-Air problems or roadblocks. They will be charged only the actual expenses on accommodation, food, transport, guide and any other services required.</li>
</ul>

<p><strong>DRUK AIR CANCELLATION POLICY:</strong>

<ul>
	<li>Tickets issued and cancelled shall be subject to cancellation charges as follows:</li>
	<li>Within 45 days of the start of travel: no charges except documentation fees</li>
	<li>Within 30 days of the start of travel: 50% of the fare</li>
	<li>Within 15 days of the start of travel: 100% (No refund)</li>
	<li>Name Change: USD 25 per ticket</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.exoticvacationsbhutan.biz/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Punakha Festival 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="126678"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Punakha Festival Tour - 8 Nights / 9 Days Tour Packages";i:2;s:130:"book punakha festival tour - 8 nights / 9 days tour packages, festive & events tour packages, thimphu, paro, punakha tour packages";i:3;s:185:"Book Punakha Festival Tour - 8 Nights / 9 Days tour packages from Exotic Vacations Bhutan - Get attractive 8 Nights / 9 Days Festive & Events  tour packages for  Thimphu, Paro, Punakha.";i:4;s:537:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha"        
		                 },
		      "description": "15% discount will be offered to those who contact directlyAir tickets,Guide and driver tips and personal expenses11-0431-12",
		      "name": "Punakha Festival Tour",
		      "telephone": "+975-77685791"
		    }
		    </script>
			";i:5;N;}