a:6:{i:0;s:15469:"				<div class="h1"><h1>Silk Route Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.onyourmarkstravel.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.onyourmarkstravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Silk Route 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">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Jalpaiguri</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.onyourmarkstravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Silk Route 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="96371"/>
						</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_16/465683/163409.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163409.jpg"  width="150" height="150"    alt="On the way to Zuluk" title="On the way to Zuluk" /></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_16/465683/163410.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163410.jpg"  width="150" height="150"    alt="Reahikhola" title="Reahikhola" /></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_16/465683/163411.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163411.jpg"  width="150" height="150"    alt="KupKup lake" title="KupKup lake" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> NJP to Reshikhola
								</p>
								<p class="aj">Pickup from New Jalpaiguri railway station and proceed to Rishikhola. Total distance from NJP to Rishikhola is 165km and it will take almost 6 hours to reach the destination. On the way explore Pedong.<br />
<br />
Pedong in Bhutia means 'place full of fir trees'. <br />
<br />
A narrow road from the highway winds down to the Pedong bazaar at the lower level and ends at a large open field. This is where the famous agricultural fair (Pedong Mela) is held annually in the last week of February. During the week of the fair the whole of Pedong swings into life. Villagers from the surrounding hills come and sell their farming produces and handmade products, numerous food stalls are set up offering all kinds of local food. Pedong Agricultural Fair also draws large number of visitors and tourists.<br />
<br />
There is an old Bhutanese monastery here which was built in 1706 known as Sangchen Dorjee Gompa. It is at this monastery where the famous religious & cultural dance program 'Chaam', popularly known as 'Gumpa Dance' is held every year in honor of Guru Rimpoche Padma Shambhava. Pedong is one of the very few places where such Gumpa Dance is held more like a festival over three days on the 10th day of the 2nd month of Tibetan calendar. The festival attracts large gatherings from the local communities, particularly the Buddhist community.<br />
<br />
Take a leisure walk to Cross Hill. You will see a cross here and hence the name. In 1882, a French missionary Father Augustine Desgodins erected the cross here which faces Tibet. Many missionaries who went to Tibet around that time did not return. In their memories, Desgodins placed the cross here with the hope that one day they would return from Tibet. You can see Tibet from here. The views of the mountains ahead is wonderful and so is the sunset.<br />
Night stay at Reshikhola.</p>					
									<p><b>Meals : </b> Home Stay Meals -Veg/Non-Veg Meal</p>
								</td>
									<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" >
												<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/465683/163409.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163409.jpg"  width="150" height="150"    alt="On the way to Zuluk" title="On the way to Zuluk" /></a></p></div></li>
									</ul>
									</div>
									</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> Zuluk
								</p>
								<p class="aj">Morning after breakfast<br />
Visit a nearby village called Kashyong and see an old traditional Lepcha house. <br />
You can then visit Tinchuley View Point. You get sweeping views of Kanchenjunga peaks as well as the valley below, Jelepla pass, Nathula and also Sikkim hills. <br />
Another wonderful view point is Ramitay. From here you can see the river Teesta meandering through the valley below and also the towering Kanchenjunga.<br />
If you have time, visit the nearby Sillery Gaon, a small sleepy hamlet almost hidden on one side of a mountain slope. It's located at an altitude of 6,000ft at a distance of about 8kms from Pedong and surrounded by pine forest. This small little mountain village with only handful villagers & their families, offers stunning views of Kanchenjunga and the river Teesta meandering through the valley. You get the view of longest stretch of Teesta from Sillery Gaon.  <br />
The day we will start for Zuluk (2 hours 15mins from Pedong – around 65km).On the way – Padamchen, Keokhola, Lingtam<br />
Reshi river is one of the attraction is Reshikhola and you will also find some exotic species of birds in the location.<br />
Padamchen is an excellent base for sightseeing of the other notable places in the Silk Route circuit. Padamchen village is an ideal place for the avid bird watchers. The village offers shelters to a wide range of birds like Fulvettas, Laughing thrushes, Steppe Eagles, Honey Buzzards, Wrens, Tits, Pheasant and many more.<br />
Overnight stay at Zuluk.</p>					
									<p><b>Meals : </b> Home Stay Meals -Veg/Non-Veg Meal</p>
								</td>
									<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" >
												<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/465683/163410.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163410.jpg"  width="150" height="150"    alt="Reahikhola" title="Reahikhola" /></a></p></div></li>
									</ul>
									</div>
									</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> Nathang Valley
								</p>
								<p class="aj">Morning after breakfast<br />
We will start for Nathang Valley. Zuluk to Nathang is only 22Km and it will take only 40 minutes to reach the destination. Nathang is the highest location to stay in the Indian part of the Old Silk Route. It is one of the remotest Tibetan habitations in Himalayas. Nathang Valley usually remains covered with thick snow from January to April.<br />
The panoramic view of winding roads across Zuluk (also spelt as Dzuluk) with 32 turns is an interesting sight to Nathang. Lungthung - Dhupidara also has a great view of Mt. Kanchenjunga and so does Thambi View Point and Tukla Valley. From Nathang, you can also move ahead following the GN Road and reach Kupup Lake (also known as Elephant Lake or Bitan Cho) at 15,600 feet above sea level. <br />
Reach Nathang, freshen up!! Enjoy the evening at Nathang.<br />
Night stay at Nathang.Morning after breakfast<br />
Visit a nearby village called Kashyong and see an old traditional Lepcha house. <br />
You can then visit Tinchuley View Point. You get sweeping views of Kanchenjunga peaks as well as the valley below, Jelepla pass, Nathula and also Sikkim hills. <br />
Another wonderful view point is Ramitay. From here you can see the river Teesta meandering through the valley below and also the towering Kanchenjunga.<br />
If you have time, visit the nearby Sillery Gaon, a small sleepy hamlet almost hidden on one side of a mountain slope. It's located at an altitude of 6,000ft at a distance of about 8kms from Pedong and surrounded by pine forest. This small little mountain village with only handful villagers & their families, offers stunning views of Kanchenjunga and the river Teesta meandering through the valley. You get the view of longest stretch of Teesta from Sillery Gaon.  <br />
The day we will start for Zuluk (2 hours 15mins from Pedong - around 65km).On the way - Padamchen, Keokhola, Lingtam<br />
Reshi river is one of the attraction is Reshikhola and you will also find some exotic species of birds in the location.<br />
Padamchen is an excellent base for sightseeing of the other notable places in the Silk Route circuit. Padamchen village is an ideal place for the avid bird watchers. The village offers shelters to a wide range of birds like Fulvettas, Laughing thrushes, Steppe Eagles, Honey Buzzards, Wrens, Tits, Pheasant and many more.<br />
Overnight stay at Zuluk.</p>					
									<p><b>Meals : </b> Home Stay Meals -Veg/Non-Veg Meal</p>
								</td>
									<td class="p10px vat imgWidth150 w150px lh0">
									<div class="demo-wrap">
									<ul class="lsn m0px p0px" >
												<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/465683/163411.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/465683/163411.jpg"  width="150" height="150"    alt="KupKup lake" title="KupKup lake" /></a></p></div></li>
									</ul>
									</div>
									</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> Ramdhura
								</p>
								<p class="aj">Morning after breakfast<br />
The day we will visit Ramdhura. 3 h 23 min (100.8 km) from Nathang.<br />
The rooms of the homestay offer spectacular views of Mt. Kanchenjunga and Kalimpong hills as well as a bird’s eye view of the meandering Teesta River valley below. A pine forest surrounds Ramdhura, where you can take local short treks. <br />
Overnight stay at Ramdhura!!</p>					
									<p><b>Meals : </b> Home Stay Meals -Veg/Non-Veg Meal</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> Drop at New Jalpaiguri Railway Station
								</p>
								<p class="aj">Enjoy the great view of Mt. Kanchenjunga and the River Teesta. Drop at New Jalpaiguri Railway Station</p>					
									<p><b>Meals : </b> Home Stay Meals -Veg/Non-Veg Meal</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>Sightseeing</li>
																		<li>Transport</li>
																		<li>Veg & Non Veg Meals</li>
															</ul>
						<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.onyourmarkstravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Silk Route 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="96371"/>
						</form>
						</div>
						
						";i:1;s:54:"Book Silk Route Tour - 4 Nights / 5 Days Tour Packages";i:2;s:104:"book silk route tour - 4 nights / 5 days tour packages, trekking tour packages, jalpaiguri tour packages";i:3;s:153:"Book Silk Route Tour - 4 Nights / 5 Days tour packages from OnyourmarksTravel - Get attractive 4 Nights / 5 Days Trekking  tour packages for  Jalpaiguri.";i:4;s:397:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jalpaiguri"        
		                 },
		      "description": "",
		      "name": "Silk Route Tour",
		      "telephone": "+91-8334014211"
		    }
		    </script>
			";i:5;N;}