a:6:{i:0;s:24973:"				<div class="h1"><h1>Jakar Tshechu (13 Nights/14 Days) 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>Jakar Tshechu (13 Nights/14 Days) 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">08</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Thimphu, Paro, Wangdue Phodrang, Trongsa, Bumthang</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 3520 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">special discount to the direct client(those who contract directly)from the above rate.</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="Jakar Tshechu (13 Nights/14 Days) 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="115030"/>
						</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/187648.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507122/187648.jpg"  width="150" height="150"    alt="Jakar Tshechu (13 Nights/14 Days)" title="Jakar Tshechu (13 Nights/14 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/187649.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507122/187649.jpg"  width="150" height="150"    alt="Jakar Tshechu (13 Nights/14 Days)" title="Jakar Tshechu (13 Nights/14 Days)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					special discount to the direct client(those who contract directly)from the above rate.Air Tickets<br />
Guides<br />
Driver tips<br />
Personal expenses07-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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Arrive Paro. (Altitude 2280 m) (By Druk Air/ Bhutan Airlines):<br />
Your Guide from Exotic Vacations Bhutan will receive you at the airport and drive you the short distance to the hotel.<br />
<br />
Ta Dzong (built in1656 and renovated in 1968), an ancient watchtower, which now houses the National Museum<br />
Rimpung Dzong (literally meaning “Heap of Jewels”).<br />
Dinner and overnight in Tashi Namgay Resort or similar.<br />
<br />
***NOTE: You also have an option for accommodation up gradation in Paro.  Please contact us for the up gradation cost.<br />
<br />
Paro:<br />
<br />
Nak-Sel Resort Boutique Hotel and Spa (4 star hotel)<br />
Hotel Zhiwa Ling (5 star hotel)<br />
Hotel UMA Paro  (5 star hotel)<br />
Aman Resort (5 star)</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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Paro – Thimphu, Excursion to Taktsang Monastery: (Altitude 2320 m, Distance 54 km, Drive Time 1 hour): After breakfast,<br />
<br />
Hike to Taktsang Monastery.<br />
Drukgyal Dzong built in 1647, by the Great Shabdrung Ngawang Namgyal.<br />
Kichu Lhakhang built in 659 A.D.<br />
In the evening, drive to Thimphu.  On the way, view Tamchog Lhakhang. Dinner and overnight in Hotel Migmar or similar.<br />
<br />
***NOTE: You also have an option for accommodation up gradation in Thimphu.  Please contact us for the up gradation cost.<br />
<br />
Druk Hotel Thimphu (4 star hotel)<br />
Le Meridien (5 star hotel)<br />
Hotel Taj Tashi (5 star hotel)<br />
Aman Resort(5 star)</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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Thimphu Sightseeing: (Altitude 2320 m): After breakfast, visit<br />
<br />
National Memorial Chorten (1974)<br />
Dupthop Lhakhang – one of the few surviving nunneries in Bhutan.<br />
National Library<br />
Painting School.<br />
After lunch, visit<br />
<br />
Traditional Medicine Institute.<br />
Tashichho Dzong.<br />
Handicrafts Emporium followed by shopping for souvenirs in the shops of Thimphu.<br />
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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Thimphu Sightseeing (Altitude 2320 m).After breakfast, visit<br />
<br />
Folk Heritage Museum<br />
Textile Museum<br />
Changangkha Lhakhang<br />
Philatelic office.<br />
After lunch, visit<br />
<br />
Silver smith at work<br />
Hand-made paper factory.<br />
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 5:</b> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Thimphu – Punakha: (Altitude 1310 m) (76 Km, 3 hours drive). After breakfast,<br />
<br />
Drive to Punakha via Dochula pass – You can see the higher Himalayas, if the weather permits<br />
Royal Botanical Park at Lam Pelri.<br />
Chime Lhakhang.<br />
After lunch,<br />
<br />
Punakha Dzong built in 1637 by Shabdrung Ngawang Namgyal.<br />
Dinner and overnight in Hotel Punatshangchhu Cottages or similar.<br />
<br />
**NOTE: You also have an option for accommodation up gradation in Punakha.  Please contact us for the up gradation cost.<br />
<br />
Kunzang Zhing Resort (4 star Resort)<br />
Dhensa Boutique Resorts (4 star Resorts)<br />
UMA (5 Star property)<br />
Aman Resorts (5 Star Resorts)</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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Punakha – Gangtey (Altitude 3120 m) (Distance: 65 km, 3 hrs): After breakfast<br />
<br />
Drive to the beautiful valley of Gangtey. Enroute sightseeing in the valley of Wangdiphodrang includes: visit Wangdiphodrang Dzong built in 1638, razed by fire in 2012, and under construction now.<br />
Gangtey Gompa Monastery from outside built in 1613, and Tenzin Legpai Dhendup.<br />
Explore Phobjikha valley, famous for the Black Necked Cranes during winter.<br />
Dinner and overnight in Theckchen Phodrang Guest House or similar.<br />
<br />
***NOTE: You also have an option for accommodation up gradation in Gangtey.  Please contact us for the up gradation cost.<br />
<br />
Aman Resorts  (5 Star Resorts)</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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Gangtey – Trongsa – Bumthang: (Altitude 2800 m, Distance 188 km, Drive Time 6 hour drives). After breakfast,<br />
<br />
Drive to Trongsa and visit Trongsa Dzong<br />
Ta Dzong, an ancient watch tower.<br />
After Lunch, drive to Bumthang. Dinner and overnight in Swiss Guest House or similar.<br />
<br />
***NOTE: You also have an option for accommodation up gradation in Bumthang.  Please contact us for the up gradation cost.<br />
<br />
Bumthang:<br />
<br />
Aman Resorts (5 Star Resorts)<br />
Jakar Village Lodge (4 star Lodge)<br />
Yu Gharling Resort (4 star)<br />
Day 08. Bumthang: (Altitude 2800 m): Full Day witness the Jakar Festival<br />
<br />
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 8:</b> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Bumthang Sightseeing: After breakfast, visit<br />
<br />
Jakar Dzong built in 1667.<br />
Jambay Lhakhang, built by King Srongsen Gampo of Tibet in the year 659.<br />
After lunch,<br />
<br />
Kurjey Lhakhang built in 1652 by Minjur Tempa.<br />
Tamshing Lhakhang (Temple of the good message), established in 1501 by Pema Lingpa.<br />
Membarstho which literally means, “The burning Lake”.<br />
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 9:</b> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Bumthang – Wangdiphodrang (Altitude 1310 m) (Distance: 197 km, 5 hrs): After breakfast, drive to Wangdiphodrang. Picnic lunch will be served on the way.<br />
<br />
In the evening, visit<br />
<br />
Farm House.<br />
Dinner and overnight in Punatshangchhu Cottages or similar.<br />
<br />
***NOTE: You also have an option for accommodation up gradation in Punakha.  Please contact us for the up gradation cost.<br />
<br />
Punakha: <br />
<br />
Kunzang Zhing Resort (4 star Resort)<br />
Dhensa Boutique Resorts  (4 star Resorts)<br />
UMA (5 Star property)<br />
Aman Resorts   (5 Star Resorts)</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> Jakar Tshechu (13 Nights/14 Days)
								</p>
								<p class="aj">Wangdiphodrang -Thimphu (Altitude 2320 m) (Distance: 72 km, 3 hrs):  After breakfast, drive to Thimphu.<br />
<br />
After lunch,<br />
<br />
Tallest Statue of Buddha.<br />
Free to stroll in the town for shopping/ souvenirs<br />
Dinner and overnight in Hotel Migmar or similar.</p>					
									<p><b>Meals : </b> AP(Breakfast,Lunch,Dinner)</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Jakar Tshechu (13 Nights/14 Days)
									</p>
									<p class="aj">Thimphu – Paro (Altitude 2280 m) (Distance: 54 km, 1 hr): After breakfast,<br />
<br />
Excursion to Cheri Monastery.<br />
After lunch,<br />
<br />
Takin Preserve Centre.<br />
Sangay Gang view point.<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 12:</b> Jakar Tshechu (13 Nights/14 Days)
									</p>
									<p class="aj">Thimphu – Paro (Altitude 2280 m) (Distance: 54 km, 1 hr): After breakfast,<br />
<br />
Excursion to Cheri Monastery.<br />
After lunch,<br />
<br />
Takin Preserve Centre.<br />
Sangay Gang view point.<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 13:</b> Jakar Tshechu (13 Nights/14 Days)
									</p>
									<p class="aj">Paro: (Altitude 2280 m). After breakfast,<br />
<br />
Drive to Chelila Pass to view the scenery.<br />
Kila Goenpa/nunnery<br />
After lunch, visit<br />
<br />
Bhutanese Farm House.<br />
Dinner and overnight in Tashi Namgay Resort or similar.</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 14:</b> Jakar Tshechu (13 Nights/14 Days)
									</p>
									<p class="aj">Departure: (Altitude 2280 m) Early morning, drive to Airport and Farewell.</p>					
										<p><b>Meals : </b> AP(Breakfast,Lunch,Dinner)</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>Bus Transfer</li>
																		<li>Cab Transfer</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</li><li>
Guides</li><li>
Driver tips</li><li>
Personal expenses</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Date: 19th October, 2018<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Date: 19th October, 2018<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>BHUTAN TRAVEL INFO BOOKING THE BHUTAN TOUR / TREKKING</strong>

<ul>
	<li>All Foreign National Tourists visiting Bhutan must travel through all-inclusive package Tours, for which there is a fixed tariff set by the Royal Government of Bhutan. This Tariff includes the services of accommodation, Meals, Transportation within the country, Guides services, sightseeing and entrance fees for the museums and monuments.</li>
	<li>All Tours must be booked through a Local Tour Operator/ Travel Agent such as Yak Holidays Int&rsquo;l and entire Land arrangements will be made by the same Agent.</li>
	<li>For Clients traveling in peak seasons and Festival time, it is necessary to book the Tour at least 2 &frac12; months in advance. Festivals held in autumn and spring are peak time for tourists and without early reservation it can be difficult to confirm flights and hotels.</li>
</ul>

<p><strong>Bhutan Visa formalities:</strong>

<ul>
	<li>With the exception of visitors from India, Bangladesh and Maldives, all other visitors to Bhutan need a visa.</li>
	<li>Indian, Bangladeshis and Maldivian nationals can obtain a visa at the port of entry on producing a valid passport with a minimum of 6 month validity (Indian nationals may also use their Voters Identity Card (VIC)).</li>
	<li>All other tourists must obtain a visa clearance prior to travel to Bhutan. Visas are processed through an online system by your licensed Bhutanese tour operator, directly or through a foreign travel agent.</li>
	<li>You are required to send the photo-page of your passport to your tour operator who will then apply for your visa. The visa will be processed by the Tourism Council of Bhutan (TCB) once the full payment of your holiday (including a USD $40 visa fee) has been wire transferred and received in the TCB bank account. Once received the visa clearance will be processed within 72 working hours.</li>
	<li>At your point of entry you will be required to show your visa clearance letter, the visa will then be stamped into your passport. Courtesy: Tourism Council of Bhutan</li>
	<li>Minimum Daily Package</li>
</ul>

<p><strong>The minimum daily package covers the following services:</strong>

<ul>
	<li>A minimum of 3 star accommodation (4 &amp; 5 star may require an additional premium).</li>
	<li>All meals.</li>
	<li>A licensed Bhutanese tour guide for the extent of your stay.</li>
	<li>All internal transport (excluding internal flights).</li>
	<li>Camping equipment and haulage for trekking tours.</li>
</ul>

<p><strong>It also includes:</strong>

<ul>
	<li>All internal taxes and charges.</li>
	<li>A sustainable tourism Royalty of $65. This Royalty goes towards free education, free healthcare, poverty alleviation, along with the building of infrastructure.</li>
	<li>The minimum daily package for tourists travelling in a group of 3 persons or more is as follows:</li>
	<li>USD $200 per person per night for the months of January, February, June, July, August &amp; December.</li>
	<li>USD $250 per person per night for the months of March, April, May, September, October &amp; November.</li>
	<li>These rates are applicable per tourist per night halt in Bhutan.</li>
	<li>On the day of departure, the &lsquo;local agents&rsquo; host obligation shall be limited to providing breakfast only and any extra requirements shall be payable on usage basis.</li>
	<li>The list of hotels and lodges approved to provide accommodations all listed on this website. If you accommodation is not listed on this website then it is not licensed cater for international tourists.</li>
	<li>The Royal Government of Bhutan sets minimum selling prices for packages to Bhutan. These must be paid in US dollars prior to arrival in Bhutan.</li>
</ul>

<p><strong>FIT Surcharges:</strong>

<p><strong>Individual tourists and smaller groups of less than three persons shall be subject to surcharge, over and above the minimum daily rates applicable, as follows:</strong>

<ul>
	<li>Single Person: US$ 40 per night</li>
	<li>Group of 2 persons: US$ 30 per person per night</li>
	<li>The 10% agency commission payable to agents abroad shall not be deductible from the surcharge.</li>
	<li>The surcharge will not be applicable to representatives of foreign travel agents on business study or promotional visit duly approved and cleared by TCB.</li>
	<li>There shall be no charge for CHILDREN up to the age of 5 years. However, those between the ages of 6-12 years accompanied by elders/ guardians shall be given 50% discount on daily rates and 100% discount on Royalty.</li>
	<li>Full time STUDENTS below the age of 25 years holding valid identity cards from their academic institutions shall be given a 25% discount on daily rates.</li>
	<li>A discount of 50% on daily rates shall be given to one person in a group of 11 to 15 people. 100% discount shall be given to one member in a group exceeding 16 persons.</li>
	<li>50% discount on Royalty shall be provided after the 8th night and 100% discount on Royalty shall be provided after the 14th</li>
	<li>Visitors availing discounts under Sections A, B &amp; C shall not be eligible for discount under E.</li>
	<li>Detailed information on flights, tour and trekking programmers, festivals, places of interest, hotels, etc can be obtained from us.</li>
</ul>

<p><strong>Bhutan Tour Cancellation Policy:</strong>

<ul>
	<li>Tour Programmes booked and subsequently cancelled shall be subject to cancellation charges as follows:</li>
	<li>Within 16 - 30 days of start of programme - 50% of rate</li>
	<li>Within 15 days - 100% of rate</li>
	<li>After arrival in Bhutan- 100% of rate</li>
</ul>

<p><strong>Delayed Arrival &amp; Departure:</strong>

<ul>
	<li>There is no charge for delays in arrival and departure because of weather conditions disrupting flights or road blocks. The tourist must however bear the cost of food, accommodation, transportation, and other services required.</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>INR (Indian Rupees) denominations of 500 and 1,000 are not accepted in Bhutan.</li>
	<li>(Information courtesy: Tourism Council of Bhutan)</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="Jakar Tshechu (13 Nights/14 Days) 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="115030"/>
						</form>
						</div>
						
						";i:1;s:79:"Book Jakar Tshechu (13 Nights/14 Days) Tour - 13 Nights / 14 Days Tour Packages";i:2;s:167:"book jakar tshechu (13 nights/14 days) tour - 13 nights / 14 days tour packages, valley tour packages, thimphu, paro, wangdue phodrang, trongsa, bumthang tour packages";i:3;s:224:"Book Jakar Tshechu (13 Nights/14 Days) Tour - 13 Nights / 14 Days tour packages from Exotic Vacations Bhutan - Get attractive 13 Nights / 14 Days Valley  tour packages for  Thimphu, Paro, Wangdue Phodrang, Trongsa, Bumthang.";i:4;s:606:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro, Wangdue Phodrang, Trongsa, Bumthang"        
		                 },
		      "description": "special discount to the direct client(those who contract directly)from the above rate.Air Tickets
Guides
Driver tips
Personal expenses07-1231-12",
		      "name": "Jakar Tshechu (13 Nights/14 Days) Tour",
		      "telephone": "+975-77685791"
		    }
		    </script>
			";i:5;N;}