a:6:{i:0;s:20956:"				<div class="h1"><h1>Bhutan Honeymoon Tour (9 Nights / 10 Days)</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>Bhutan Honeymoon Tour (9 Nights / 10 Days)</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">02</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Thimphu, Paro, Punakha, Trongsa, Bumthang</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 2460 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">special discount will be offered to direct clients(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="Bhutan Honeymoon Tour (9 Nights / 10 Days) - 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="115143"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_17/507122/187886.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507122/187886.jpg"  width="150" height="150"    alt="Bhutan Honeymoon Tour (9 Nights / 10 Days)" title="Bhutan Honeymoon Tour (9 Nights / 10 Days)" /></a></p></div></li>
																		<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_17/507122/187887.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507122/187887.jpg"  width="150" height="150"    alt="Bhutan Honeymoon Tour (9 Nights / 10 Days)" title="Bhutan Honeymoon Tour (9 Nights / 10 Days)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					special discount will be offered to direct clients(those who contact directly)Air Tickets,Guide and Driver Tips,Personal Expenses08-1231-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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Arrive Paro (Altitude 2280 m) (By Druk Air flight): Your Guide from Exotic Vacations Bhutan will receive you at the airport and drive you the short distance to the Hotel.<br />
<br />
After lunch, visit Ta Dzong (built in1656 and renovated in 1968), an ancient watchtower, which now houses the National Museum. Below the museum is the Paro Rimpung Dzong (literally meaning “Heap of Jewels”, built in 1646 by Shabdrung Ngawang Namgyal, the centre of civil and religious authority in this valley. A short walk takes you to the base of the Dzong and across a traditional cantilevered, covered bridge.  Dinner and overnight in Tashi Namgay Resort or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Paro – Thimphu, Excursion to Taktsang Monastery: (Altitude 2320 m, 54 km- 1 hr drive)<br />
<br />
A very special day, with an excursion to view the spectacular Taktsang (Tiger’s Nest) monastery – After breakfast a short drive takes us to Satsam Chorten, from there a 2 hours walk till the viewpoint of the monastery. The trail climbs through beautiful pine forest, many of the trees festooned with Spanish moss, and an occasional grove of fluttering prayer flags. We stop for a rest and light refreshments at the Taktsang Jakhang (cafeteria) and then walk a short distance until we see, clearly and seemingly within reach, Taktsang monastery. The primary Lhakhang was built around Guru Rimpoche’s meditation cave in the 1684by the Penlop of Paro Gyaltse Tenzin Rabgay, this incredible monastery clings to the edge of a sheer rock cliff that plunges 900 meters into the valley below. Legend has it that Guru Padmasambhava, the tantric mystic who brought Buddhism to Bhutan, flew here on the back of a flying tiger, Dorji Drolo, said to be his favourite consort.<br />
<br />
After Lunch, drive to the ruins of the Drukgyal Dzong, under construction now, built in 1647 by the great Shabdrung Ngawang Namgyal, father and unifier of medieval Bhutan; the Dzong was destroyed by accidental fire and left in ruins as an evocative reminder of the great victories it was built to commemorate. Explore the ramparts and on a clear day experience an unforgettable view of Mt. Jhomolhari (7,314 m). On the way back, visit Kichu Lhakhang, built in 659 A.D by the Tibetan king Srongsen Gampo.<br />
<br />
In the evening, drive to Thimphu. On the way, view Tamchog Monastery built by Thangthong Gyalpo (Popularly known as Lama Chazampa, which literally means, the Iron Bridge builder) in the 15th century.<br />
<br />
Thang Thong Gyalpo (1385 – 1464) was a wonder working saint from Tibet who came to Bhutan in 1433 looking for Iron Ore. He built 108 bridges across Tibet and Bhutan, out of which 8 were built in Bhutan. His only surviving bridge is in Duksum (Tashi Yangtse in Eastern Bhutan).<br />
Drive to Thimphu. Dinner and overnight in Hotel Migmar or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Thimphu Sightseeing: (Altitude 2320 m) <br />
<br />
The day begins with a visit to the National Memorial Chorten (1974) built in honour of our late King Jigme Dorji Wangchuk and the Dupthop Lhakhang one of the few surviving nunneries in Bhutan. We then visit the National Library, stocked with ancient Buddhist manuscripts, and the Painting School where traditional art is still kept alive through instructions in the art of painting Thangkas (sacred Buddhist religious scrolls).<br />
<br />
After lunch, a special session with lamas for prayers and blessing for your long life. Other highlights include a visit to the Tashichho Dzong, seat of the national government and the Central Monastic Body, including the summer residence of the Je Khenpo (Chief Abbot of Bhutan) and finally visit the Handicrafts Emporium followed by shopping for souvenirs in the shops of Thimphu. Dinner and overnight in Hotel Migmar or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Thimphu – Punakha: (Altitude 1310 m) (72 Km, 3 hrs drive).<br />
<br />
After breakfast, drive to Punakha via Dochula pass. If the weather is clear, we stop for a while at Dochula pass to view Higher Himalayas.<br />
<br />
Drive further to Punakha. On the way, visit Chime Lhakhang, which was built by Lama Drukpa Kuenley. He subdued the demons with his “Magical Thunder bolt”. The Temple is also known as “the Temple of Fertility”.<br />
<br />
Lama Drukpa Kuenley (1455 – 1529) was one of the Bhutan’s Favourite Saints who was born in Tibet, trained at Ralung Monastery and was a contemporary and a disciple of Pema Lingpa. He Travelled throughout Bhutan and Tibet as a “Neljorpa” (Yogi) using songs, humour and outrageous behavior to dramatise his teachings of Salvation through sex.<br />
After lunch, visit Punakha Dzong built in 1637 by Shabdrung Ngawang Namgyal and is situated between Pho Chu (Male river) and Mo Chu (Female river). For many years until the time of the second king, it served as the seat of the Government. The construction of the Dzong was foretold by Guru Rimpoche, who predicted, “…a person named Namgyal will arrive at a hill that looks like an elephant”. There was a smaller building here called Dzong Chu (Small Dzong) that housed a statue of Buddha. It is said that Shabdrung ordered the architect, Zowe Palep, to sleep in front of the statue, while Palep was sleeping; the Shabdrung took him in his dreams to Zangtopelri and showed him the palace of Guru Rimpoche. From his vision, the architect conceived the design for the new Dzong, which in keeping with the tradition, was never committed to paper. The Dzong was named Druk Pungthang Dechen Phodrang (Palace of Great Happiness). The war materials captured during the battle with Tibetans are preserved here. Punakha is still the winter residence of Je-Khenpo and King Jigme Dorji Wangchuk convened the new national Assembly here in 1952. Dinner and overnight in Punatsangchhu Cottages or simila</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Punakha/Wangdue-Trongsa-Bumthang (2800 m) (195 km, 6 hrs): <br />
<br />
After breakfast, drive to Trongsa. Visit Trongsa Dzong, the most impressive dzong of Bhutan, built in its present form in 1644 by Chogyal Minjur Tempa, the official who was sent by Shabdrung to unify eastern Bhutan and enlarged at the end of the 17thcentury by Desi Tenzin Rabgay. Trongsa Dzong is the ancestral home of the present Royal Family and first two hereditary kings ruled Bhutan from this Dzong. Then Visit Ta Dzong, an ancient watch tower. The chapel inside the Ta Dzong is said to be dedicated to the Trongsa Penlop Jigme Namgyal.<br />
<br />
After Lunch, drive to Bumthang. On the way, you will come across “Yathra” Weaving Centre at Zugney Village where you will see local weavers weaving Yathra. Yathra is the name for the colorful, hand-woven woolen cloth (often with geometric designs) that is produced in this region and wool used for this type of textile is sheep wool as the sheep is reared in this Bumthang Valley. Yathra is made into jackets or bags, etc.<br />
<br />
Then you will be driven further to Bumthang. Dinner and overnight in Hotel Swiss Guest House or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Bumthang Sightseeing (Altitude 2800 m):<br />
<br />
After breakfast, visit Kurjey Lhakhang that is named after body print of Guru Rimpoche, built in 1652 by Minjur Tempa. Then visit Tamshing Lhakhang (Temple of the good message), established in 1501 by Pema Lingpa and is the most important Nyingmapa temple in the kingdom.<br />
<br />
After lunch, visit Membartsho (Literally means “The Burning Lake”), a short distance up the road leading to Tang valley. The Terton Pema Lingpa discovered several of Guru Rimpoche’s hidden Terma / relics here and visit Mathra factory & Cheese Factory. In the evening, visit to a Bhutanese Farm House. Dinner and overnight in Swiss Guest House or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Bumthang- Gangtey (3200m) (140 km, 5 hrs): <br />
<br />
After breakfast, drive to Punakha via Phobjikha valley. Driving through the dense forests of the Phobjikha Valley you arrive at Gantey village where you see the Gangtey Monastery and visit the monastery. Phobjikha valley is part of the beautiful Jigme Singye Wangchuck National Park (formerly known as Black Mountains National Park), one of Bhutan’s most important nature sanctuaries.  Each winter it is home to a flock of 300 rare and endangered black-necked cranes.  The surrounding hills and mountains are home to nomadic shepherds and yak-herders. This is one of the most remote and untouched regions in Bhutan and is only just opening its doors to the outside world.<br />
<br />
Dinner and overnight in Dewachen Hotel or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Gangtey –Thimphu (2320) (140 km, 6 hrs): <br />
<br />
After breakfast, explore the valley and also visit the Black Necked Crane Center.<br />
<br />
We then drive to Thimphu. Enroute visit Rinchengang & Lobesa villages where you will take a short walk through the village and have free interaction with the villagers.<br />
<br />
Lunch at Dochula Cafeteria.  Free to stroll in the city on your own.  Dinner and overnight Hotel Migmar or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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 9:</b> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Thimphu sightseeing – Paro (2280 m) (54 km, 1 hr driving time): <br />
<br />
After breakfast visit Bhutan Postal Museum to get personalized Bhutanese postage stamps with your photo on them. You can bring along your favorite photo to put on the stamps and put these stamps on your postcard to send to your family and friends.<br />
<br />
We then visit National Textile Museum which is  a good place to see the art of traditional weaving being kept alive and preserved through exhibition and has a good collection of old textiles which are rich in colors and designs. You will also see people weaving with intricate designs.<br />
<br />
We head to Simply Bhutan before your lunch– A living museum of rural life which provides visitors and tourists with fascinating insights into the Bhutanese material culture and way of life.<br />
<br />
After lunch visit Craft Bazaar where craftsmen and artisans from across the country display and sell their handicrafts followed by a visit to a Government-run Handicrafts Emporium and local crafts shops, to browse through examples of Bhutan’s fine traditional arts. Here you can buy hand-woven textiles, thangkha paintings, masks, ceramics, slate and wood carvings, jewelry, and other interesting items made from local materials.<br />
<br />
In the evening drive to Paro. Dinner and overnight in Tashi Namgay Resort or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,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 10:</b> BHUTAN HONEYMOON TOUR (9 NIGHTS / 10 DAYS)
								</p>
								<p class="aj">Paro – Departure: After breakfast, drive to airport and farewell.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,Dinner)</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>3 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Cab</li>
																		<li>Private Guides</li>
																		<li>Sim Card</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,Personal Expenses</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>All Season awaits<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Peak Season(March,April,May,September,October,November)<br /><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. ~^#^~												</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="Bhutan Honeymoon Tour (9 Nights / 10 Days) - 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="115143"/>
						</form>
						</div>
						
						";i:1;s:82:"Book Bhutan Honeymoon Tour (9 Nights / 10 Days) - 9 Nights / 10 Days Tour Packages";i:2;s:161:"book bhutan honeymoon tour (9 nights / 10 days) - 9 nights / 10 days tour packages, valley tour packages, thimphu, paro, punakha, trongsa, bumthang tour packages";i:3;s:201:"Exotic Vacations Bhutan offers Bhutan Honeymoon Tour (9 Nights / 10 Days) - 9 Nights / 10 Days tour package, budget Valley tour packages for Thimphu, Paro, Punakha, Trongsa, Bumthang at exciting price.";i:4;s:593:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Punakha, Trongsa, Bumthang"        
		                 },
		      "description": "special discount will be offered to direct clients(those who contact directly)Air Tickets,Guide and Driver Tips,Personal Expenses08-1231-12",
		      "name": "Bhutan Honeymoon Tour (9 Nights / 10 Days)",
		      "telephone": "+975-77685791"
		    }
		    </script>
			";i:5;N;}