a:6:{i:0;s:35276:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Tsirang Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.eastcapeholidays.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.eastcapeholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Tsirang Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Guwahati, Kolkata, Kathmandu, Bagdogra, Thimphu</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.eastcapeholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tsirang Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="183152"/>
						</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_18/515153/278704.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/515153/278704.jpg"  width="150" height="84"    alt="Tsirang Tour" title="Tsirang Tour" /></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>
													
								Bhutan is a landlocked nation in South Asia. Situated in the Eastern Himalayas, it is bordered by Tibet Autonomous Region of China in the north, the Sikkim territory of India and the Chumbi Valley of Tibet in the west, the Arunachal Pradesh province of India in the east, and Assam and West Bengal in the south. Bhutan is geopolitically in South Asia and is the locale’s second slightest crowded country after the Maldives. Thimphu is its capital and biggest city, while Phuntsholing is a border town and the gateway of Bhutan located at the southern foothills of the kingdom. Bhutan is the country of rolling hills and towering crags exuding an ultimate charm. With magnificent mountains, dense forests, delightful people, pure air and architectural inspiration, the country turns into a superb place for holidaying. Discover a number of holiday packages of Bhutan displaying on our portal. Our Bhutan tour packages offer pleasant trip to Bhutan, memorable stay in its hotels, sightseeing and various fun activities. Buy Bhutan tours and go for a memorable vacation and cherish life.								</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 from Delhi / Khathmandu / Guwahati / Kolkatta / Bagdogra & Tranfer to Thimphu 65 Km 1 Hr Driv
										</p>
										<p class="aj">The Most Spectacular Mountain Flights You Will Ever Experience in a Life Time. Flying in from the Heat of the Plains of India One Can Witness from the Left Side of the Aircrafts Window a Series of the World’s Highest Peaks. Your Pilot Will Announce the Names of the Peaks if the Weather is Clear. You Will Descend Into the High Mountains and as the Plane Lowers You Will Not Find Any Airstrip or Any City But Instead You Will Enjoy the View of the Approaching Valley of Paro, the Alpine Forests, Little Monasteries, Temples and Farm Houses. Before the Plane Touches the Runaway You Will Get a Glimpse of the Fertile Valley of Paro, the Paro Dzong and Paro Chu (river). Our Representative Will Be At the Airport to Assist You, Meet and Greet and Transfer to the Capital City Thimphu and Rest of the Day At Leisure. O/n At Thimphu</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Thimphu – Capital Sightseeing
										</p>
										<p class="aj">When in Thimphu You Got to Prepare for Surprises Where this Unique Capital Has No Traffic Lights But adopted Its Own Version of the British – Indian Colonial Times Traffic Policemen Who Can Startle You and Memorize Others with His Elaborate Hand Gestures, Sometimes He May Be Signaling Stop When It Looks like Go But Don’t Worry You Can Observe the Flow and Notice His Smile as You Stare At Him. Sightseeing Includes Visit to the National Memorial Chorten a Stupa Dedicated to the Third King of Bhutan and Buddha Statue, Takin Zoo Where You Will Find National Animal of Bhutan and Drive Downhill Stop At the Junction to Take a Glimpse of Trashichho Dzong. Proceed Towards National Library and Folk Heritage Museum. Afternoon Take a Short Walk to Handicraft Bazaar to View the Traditional Arts Or take a Walk to the Main City from Clock Tower Square for Shopping. O/n At Thimphu.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Thimphu – Tsirang 140 Km 4-5 Hrs Drive
										</p>
										<p class="aj">Morning Drive to Tsirang District in the Central South Region Via Dochula Pass At 10,000 Ft. and On the Stop At Hongtsho Village. Stop At the Immigration Check Point to Stamp in Your Permit. Next to the Check Point You Will Find Small Local Stalls Selling Fresh Juicy Local Apples Available for Sale in Plastic Bags You Could Try Some. You Will Be Driving Through The first Mountain Pass in the Western Part of Bhutan. <br />
you Will Find the 108 Druk Wangyal Chortens On the Top of the Pass Where the Ridges are Draped in Colorful Prayer Flags Greet You. You Could Take Three Rounds and Offer Prayers, Take Some Best Photo Shots. if the Weather is Clear You Will Be Able to See the Highest Peaks Towards the North, Gangar Punsum among Others is the Highest Unclimbed Peak (24,000 Ft.) in the World. proceed Towards Wangdi Bridge and On the Left Side of the Hill You Will Find Wangduephodrang Dzong Which is Undergoing Construction.<br />
damphu May have Been Derived from the Word “dhungphu”, Meaning Ritual Horn Cave. Some People Say the Name of the Town Damphu is a Derivative of the Word. Hence the Name of the Damphu Nye, Named After Finding the Imprint of a Pair of “dhung” (ritual Horns) On a Rock Inside the Cave. to the Hindus, Damphu Nye is Known as Mahadev Thaan, the Place that is Blessed By the Hindu God Lord Shiva Shankhar. Tsirang is Known for Its Gentle Slopes and Mild Climates Which Fall Under Sub-tropical Region. the District is also Noted for Its Rich Biodiversity and is Inhabited By lhotshampa. the Altitude Ranges from 400 to 2000 Meters Above Sea Level and Area 638.3 sq.km. Approximately 58% of the Land is Under Forest Cover Comprising Mainly Of broad-leaf and Chirpine Species While 42% is Under Agricultural Cultivation. favorable as Well as Diverse Agro-ecological Features Provides the District with the Potential for Cultivation of Many Different Types of Cereals as Well as Horticulture Crops and Organic Products.<br />
proceed Towards Wangdi Bridge and from this Point You Will Be following the Punatsangchu River One of Bhutan’s Longest Rivers, the Punatsangchu Chhu Or sunkosh River flows Through the District and At the Moment Hydro Power Construction is Going On the Road Maybe Little Dusty. the 2 Minutes’ Drive Through the Tunnel Will Fascinate You and is One of Its First Kinds in Bhutan. Upon Reaching Wakleytar Bridge You Will Be Entering Tsirang Region Which Has Been opened Recently for Tourist. Not Many Tourists have Visited this Place and On the Road if You are Lucky You May Come Across Red jungle-fowl, Golden Langur It Has a Black Face and a Very Long Tail Measuring Up to 50 cm in Length. We Stop At Birichu and Look Out for Some Organic Products Displayed for Sale By the Local People Living in that Region. Drive Further Crossing Chachey Bridge and from Here the Drive Will Be Uphill with Change in Landscapes. We Stop for a While At the View Point Called Hawa Dara and Enjoy the View of the other District Dagana On the other Side of the Hill Divided By the Sunkosh River.<br />
 During the Months of Dec – Jan You Will Find Lot of Oranges and the Entire Village Looks colorful, you Could Purchase and Try Some of the Juicy Oranges and Take Some Photo. Check in the Hotel and Evening Enjoy the Sunset and View of the Villages and Mountains from Your Hotel Room. O/n At Tsirang. (accommodation in Tsirang Will Be with Basic Facilities Comfortable King / Queen Size Beds, Attached Bathroom with Hot & Cold Water, Room Heaters & Local Food, Continental and  Indian Cuisine).</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> Tsirang Sightseeing
										</p>
										<p class="aj">Early Breakfast, Drive to Tsirangtoe Ruined Dzong (18km – 45 – 60 Min.) Visit Ruined Dzong Considered as Heritage Site, Tsirangtoed Lhakhang, View Point At Tsirangdara and Lunch At a Local Farm House with all Organic Local Cuisine. <br />
drive to Phuentenchu (15km 30- 45 Min) Visit Hindu Radha Krishna Mandir Where Recitations of 18 Maha Purans Completed and Further Visit Lhakang At Burichu Top. Return and have Evening Tea with Seel Rotis with Aloo Dam At Jordharay House and Drive to Damphu. O/n At Damphu.</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> Tsirang – Punakha 118 km 3 hrs 50 min drive
										</p>
										<p class="aj">Morning take a short drive to Damphu town and visit Namgyalcholing Dratshang established in around 1985 as the center for all religious affairs of the district. The main building of the Dratshang comprise of three storey chambers. According to Kudrung Rinchen, the Dratshang is blessed with a precious “ringsel” (body relic) and “tsem” (tooth relic) of Zhabdrung Ngawang Namgyal, considered as one of the most sacred “nangtens”. In the middle storey lies the statue of Lord Buddha and the walls are painted with the depiction of Lord Buddha’s “Zepa Chungyni” or the twelve deeds of the Buddha. The top floor is the “goenkhang”, which houses the altar of the local deity Yuila Zatsen. <br />
Spend some time at the park and enjoy the view of Tsirang Dzong, one of the recent dzongs constructed during the reign of our present 5th HRH King Jigme Khesar Namgyal Wangchuk. The Dzong is presently used as the district administration office. Afternoon drive backs the same road towards Punakha and check in. O/n at Punakha.</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> Punakha Sightseeing
										</p>
										<p class="aj">Morning visit the majestic Punakha Dzong placed strategically at the junction of the Pho Chu and Mo Chu rivers, the dzong was built in 1637 by Zhabdrung Ngawang Namgyal to serve as the religious and administrative seat of the region. It was here that the dual system of government was introduced in the 17th century and in 1907, enthroned the first King Gongsar Ugyen Wangchuk. A short walk through the villages to Chimmi Lhakhang – The divine madman also known, as Drukpa Kinley is a famous teacher with whom the phallic symbol is associated. Do not miss the master’s deeds painted on the walls. Japanese and several American couples visited this temple and were blessed miraculously with children. Afternoon at leisure. O/n at Punakha</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> Punakha – Paro Valley – 145 km 4hrs drive
										</p>
										<p class="aj">Morning drive to Paro same road via Semtokha entering the Babesa express highway. Upon reaching Chuzom check post, stop for a while at the bridge, stretch your legs and walk through the bridge. Proceed towards Paro and check in the hotel. Rest of the day at leisure. O/n 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 8:</b> Paro valley sightseeing
										</p>
										<p class="aj">Morning visit Paro Dzong, the National Museum housed in a round fortress called as the Ta Dzong considered to be one of the best natural history museums in Asia where it has a fine collection of natural and historic artifacts, Paro Penlop Heritage Farm house, Kyichu Lhakhang the monastery dates back to 7th century and is one of the oldest and most sacred. Afternoon visit ruins of Drukgyel Dzong and drive till the base of Tigers Nest. Evening at leisure. O/n at Paro.at leisure and evening visit the town for shopping. O/n 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> Departure
										</p>
										<p class="aj">Morning transfer to Paro International Airport for your next destination.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tsirang 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="183152"/>
						</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.eastcapeholidays.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-phuentsholing.htm" title="Packages in Phuentsholing">Phuentsholing</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</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.eastcapeholidays.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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.eastcapeholidays.in/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</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.eastcapeholidays.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.eastcapeholidays.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.eastcapeholidays.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</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 New Delhi, Guwahati, Kolkata, Kathmandu, Bagdogra, Thimphu</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.eastcapeholidays.in/tour-packages/bhutanat-glance-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278697.jpg"  alt="Bhutan At Glance Tour" title="Bhutan At Glance Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/bhutanat-glance-tour.htm" title="Bhutan At Glance Tour"><h3>Bhutan At Glance 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bagdogra, Thimphu, Paro, Phuentsholing</p>
															<div class="mt10px small">
							<form name="pkg_183151" id="pkg_183151" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/bhutanat-glance-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bhutan At Glance 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="183151"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.eastcapeholidays.in/tour-packages/bhutan-packages.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278696.jpg"  alt="Bhutan Packages" title="Bhutan Packages"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/bhutan-packages.htm" title="Bhutan Packages"><h3>Bhutan Packages</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bagdogra, Thimphu, Paro, Punakha, Phuent..</p>
															<div class="mt10px small">
							<form name="pkg_183150" id="pkg_183150" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/bhutan-packages.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bhutan Packages - 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="183150"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.eastcapeholidays.in/tour-packages/6-days-delhi-with-manali-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278711.jpg"  alt="6 Days Delhi with Manali Tour" title="6 Days Delhi with Manali Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/6-days-delhi-with-manali-tour.htm" title="6 Days Delhi with Manali Tour"><h3>6 Days Delhi With Manali 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Manali</p>
															<div class="mt10px small">
							<form name="pkg_183158" id="pkg_183158" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/6-days-delhi-with-manali-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="6 Days Delhi with Manali 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="183158"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.eastcapeholidays.in/tour-packages/freedom-bhutan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278695.jpg"  alt="Freedom Bhutan Tour" title="Freedom Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/freedom-bhutan-tour.htm" title="Freedom Bhutan Tour"><h3>Freedom 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Guwahati, Kolkata, Kathmandu,..</p>
															<div class="mt10px small">
							<form name="pkg_183149" id="pkg_183149" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/freedom-bhutan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Freedom 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="183149"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.eastcapeholidays.in/tour-packages/miraculous-bhutan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278706.jpg"  alt="Miraculous Bhutan Tour" title="Miraculous Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/miraculous-bhutan-tour.htm" title="Miraculous Bhutan Tour"><h3>Miraculous 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> :  Bagdogra, Thimphu, Paro, Punakha, Phuent..</p>
															<div class="mt10px small">
							<form name="pkg_183154" id="pkg_183154" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/miraculous-bhutan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Miraculous 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="183154"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.eastcapeholidays.in/tour-packages/native-bhutan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/515153/278709.jpg"  alt="Native Bhutan Tour" title="Native Bhutan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.eastcapeholidays.in/tour-packages/native-bhutan-tour.htm" title="Native Bhutan Tour"><h3>Native 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Thimphu, Paro</p>
															<div class="mt10px small">
							<form name="pkg_183156" id="pkg_183156" method="post" action="http://www.eastcapeholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.eastcapeholidays.in/tour-packages/native-bhutan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Native 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="183156"/>
							</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:51:"Book Tsirang Tour - 8 Nights / 9 Days Tour Packages";i:2;s:153:"book tsirang tour - 8 nights / 9 days tour packages, hill station tour packages, new delhi, guwahati, kolkata, kathmandu, bagdogra, thimphu tour packages";i:3;s:211:"Book Tsirang Tour - 8 Nights / 9 Days tour packages from Eastcape Holidays Pvt. Ltd - Get attractive 8 Nights / 9 Days Hill Station  tour packages for  New Delhi, Guwahati, Kolkata, Kathmandu, Bagdogra, Thimphu.";i:4;s:1528:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Guwahati, Kolkata, Kathmandu, Bagdogra, Thimphu"        
		                 },
		      "description": "Bhutan is a landlocked nation in South Asia. Situated in the Eastern Himalayas, it is bordered by Tibet Autonomous Region of China in the north, the Sikkim territory of India and the Chumbi Valley of Tibet in the west, the Arunachal Pradesh province of India in the east, and Assam and West Bengal in the south. Bhutan is geopolitically in South Asia and is the locale’s second slightest crowded country after the Maldives. Thimphu is its capital and biggest city, while Phuntsholing is a border town and the gateway of Bhutan located at the southern foothills of the kingdom. Bhutan is the country of rolling hills and towering crags exuding an ultimate charm. With magnificent mountains, dense forests, delightful people, pure air and architectural inspiration, the country turns into a superb place for holidaying. Discover a number of holiday packages of Bhutan displaying on our portal. Our Bhutan tour packages offer pleasant trip to Bhutan, memorable stay in its hotels, sightseeing and various fun activities. Buy Bhutan tours and go for a memorable vacation and cherish life.",
		      "name": "Tsirang Tour",
		      "telephone": "+91-9892960972"
		    }
		    </script>
			";i:5;N;}