a:6:{i:0;s:16375:"				<div class="h1"><h1>Chader Trek To Zanskar Valley Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.outdoorhimalayan.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Chader Trek To Zanskar Valley 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">
						19 Nights / 20 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Leh Ladakh</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.outdoorhimalayan.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chader Trek To Zanskar Valley 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="120025"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</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 w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/500801/194500.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/500801/194500.jpg"  width="150" height="150"    alt="Chader Trek To Zanskar Valley Tour" title="Chader Trek To Zanskar Valley Tour" /></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> Delhi (Arrival)
								</p>
								<p class="aj">Around midnight arrival in New Delhi. Upon arrival, you will be transferred to the hotel in New Delhi.</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> Delhi - Leh (by air)
								</p>
								<p class="aj">In the morning we will drive to airport for the flight to Leh and cross over the great Himalayas, the flight is a spectacle in itself. Upon arrival, you will be transferred to the hotel in Leh. Today you will acclimatize yourself in this enchanting Ladakhi town.</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> Leh Local Sightseeing
								</p>
								<p class="aj">After a day of acclimatization in this enchanting Ladakhi town, today you will explore the local attractions and the magnificent monasteries of Shey, Hemis and Thikse.</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> Drive Leh – Sumdha (Chilling - 3180mtrs) - Trek Tilit Sumdo (3750 mtrs.) (3hrs)
								</p>
								<p class="aj">Get set and go, to start the most exciting trip on the Zanskar River. We Drive from Leh to Chilling to begin with. The road follows the Indus River for an hour to the confluence of Indus and Zanskar River, then fallow The Zanskar River till Sumdha-Do. We then trek for an hour on and off the frozen river to the village of Chilling. We camp near the village or stay in a family house.</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> Trek Tilit Sumdo (3750 mtrs.) – Markhala (6 hrs)
								</p>
								<p class="aj">For the next five days we trek up on the frozen river through gorges and deep valleys. There are number of choices for camping, and there for we can make our itinerary during this time as flexible as we like. There are also many caves (locals call it Bawo) which can be used for the night Shelter. The names of the stopping places are listed below. Tonight we camp at Markhala.</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> Trek Markhala to Tip Yokma (6 hours walk)
								</p>
								<p class="aj">Today we start our trek from Markhala & will be walking on ice. During the trek at times we need to give up walking on chadar depending on the condition of chadar and start walking on rock. Dinner and overnight stay in cave / camp. Zanskari People depend entirely on perpetual snows in the mountains as a water source for their farm fields.</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> Trek Tip Yokma to Nirik Pullo (6 – 7 hours walk)
								</p>
								<p class="aj">Trek Tip Yokma to Nirik Pullo (6 – 7 hours walk)</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> Trek Nirik Pullo to Lingshed (3700mtrs) (5-6 hours walk)
								</p>
								<p class="aj">In morning we start our trek from Nirik Pullo. We steep walk till Lingshed village and leave behind chadar. Visit Lingshed village & villagers hospitality. Dinner and overnight stay in camp.</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> Trek Lingshed to Tsarak Do (7 hours walk)
								</p>
								<p class="aj">Visiting the Lingshed monastery in the morning & exploring around. Then start our trek from Tsarak Do. Today it will be a long trek walking for around 7 hours.</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> Trek from Tsarak Do to Pidmo (5 hours)
								</p>
								<p class="aj">We continue on the ice and start our trail from Tsarak Do and walk for about 5 hrs till we reach Pidmo. The gorge ends at Hanamur and the view opens at Pidmo. THe village of Zangla and the old King's Palace can be seen on the opposite bank. During the trek we'll come across Hanumil Village. Overnight in Camp. Wearing rubber boots is the best for 'Chadar Trek' because at times we have to walk on ice with water overflowing.</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> Trek from Pidmo to Zangla (3370mtrs.) (5 hours walk)
									</p>
									<p class="aj">Today a short walk on the road from Pidmo to the village of Zangla. We cross the Chadar by bridge to reach Zangla, where the erstwhile king of Zanskar resides. We will visit the fort and go around the large village. Overnight in Zangla village.</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> Drive Zangla (3370mtrs.) to Stongde (3450mtrs.) and then Karsha (3800mtrs.)
									</p>
									<p class="aj">Today we'll have full day culture tour. Morning after breakfast, drive to Stongde village. Visit beautiful picturesque monastery built on hill top by Lama Marpa 950 years ago. Approximately 60 monks are residing in this monastery. After the visit, continue drive to Karsha (Pair of White i.e., Outer white and Inner white). Visit Karsha monastery. This monastery is the largest of all the monastery in Zanskar and this monastery (Gonpa) was first founded by Great Lama Phagspa Shesrap (the translator of Zanskar). From the monastery, you have amazing and spectacular view of mountains.</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> Drive Karsha (3800mtrs.) to Tsarak Do
									</p>
									<p class="aj">Drive to Karsha from Tsarak Do. After running throught the Himalayan mountains, the Doda river from the north and the Tsarap River from the south meet near Karsha to become one river, which is called the Zanskar River. It flows into the Indus River at Nyemo.</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> Trek back from Tsarak Do to Tilit Sumdo - Chilling
									</p>
									<p class="aj">Trek back from Zangla till Chilling on same route. The return trek is apparently quicker and easier. On the 19th day evening we will pick you up from Sumdhado and drive back to Leh. Overnight at Hotel in Leh.</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 15:</b> Trek back from Tsarak Do to Tilit Sumdo - Chilling
									</p>
									<p class="aj">Trek back from Zangla till Chilling on same route. The return trek is apparently quicker and easier. On the 19th day evening we will pick you up from Sumdhado and drive back to Leh. Overnight at Hotel in Leh.</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 16:</b> Trek back from Tsarak Do to Tilit Sumdo - Chilling
									</p>
									<p class="aj">Trek back from Zangla till Chilling on same route. The return trek is apparently quicker and easier. On the 19th day evening we will pick you up from Sumdhado and drive back to Leh. Overnight at Hotel in Leh.</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 17:</b> Trek back from Tsarak Do to Tilit Sumdo - Chilling
									</p>
									<p class="aj">Trek back from Zangla till Chilling on same route. The return trek is apparently quicker and easier. On the 19th day evening we will pick you up from Sumdhado and drive back to Leh. Overnight at Hotel in Leh.</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 18:</b> In Leh Day free at Leh
									</p>
									<p class="aj">One can go for shopping at Leh handicrafts center and in Choglamsar Tibetan handicrafts etc. Overnight at hotel in Leh.</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 19:</b> Trek Nirik Pullo to Lingshed (3700mtrs) (5-6 hours walk)
									</p>
									<p class="aj">Evening free. Overnight at hotel in Delhi.</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 20:</b> Depart Delhi
									</p>
									<p class="aj">Depart Delhi</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>Hotel</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.outdoorhimalayan.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Chader Trek To Zanskar Valley 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="120025"/>
						</form>
						</div>
						
						";i:1;s:75:"Book Chader Trek To Zanskar Valley Tour - 19 Nights / 20 Days Tour Packages";i:2;s:136:"book chader trek to zanskar valley tour - 19 nights / 20 days tour packages, trekking tour packages, new delhi, leh ladakh tour packages";i:3;s:215:"Book Chader Trek To Zanskar Valley Tour - 19 Nights / 20 Days tour packages from Outdoor Hamalyan Tour & Travel (leh Ladhakh) - Get attractive 19 Nights / 20 Days Trekking  tour packages for  New Delhi, Leh Ladakh.";i:4;s:427:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Leh Ladakh"        
		                 },
		      "description": "",
		      "name": "Chader Trek To Zanskar Valley Tour",
		      "telephone": "+91-9469734212"
		    }
		    </script>
			";i:5;N;}