a:6:{i:0;s:12337:"				<div class="h1"><h1>Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sharmatravel.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) 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">MY-KM03L</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Lucknow, Nepalgunj</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 158000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) 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="121814"/>
						</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_18/513007/196789.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/513007/196789.jpg"  width="150" height="150"    alt="Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour" title="Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Trip Overview<br />
This is an ultimate journey to Mt. Kailash famed as the 'Center of the Universe' by Heli charter flight. It begins by airways from Kathmandu to Nepalgunj and continues to Simikot. After Simikot, you make a charter helicopter flight to Hilsa, the place close to China boarder and drive to the Lake Manasarovar and base camp of Mt Kailash. This is the truly trip of a lifetime with a divine experience and stunning scenery.<br />
Trip Fact <br />
Trip Code : MY-KM03L<br />
Duration : 09 Days<br />
Trip starts from : Pick up from Lucknow<br />
Trip ends at : Drop to Lucknow <br />
Mode of Trip in Nepal : By Coach, Air, Helicopter <br />
Mode of Trip in Tibet : By Coach<br />
Best time of travelling : May, June & September <br />
Maximum altitude : 1350m to 5850m<br />
<br />
NETT COST: INR 1,58,000.00 PER PERSON FROM LUCKNOW –LUCKNOW ( 9 Days)  + GST @ 5%<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> Pick up from Lucknow Arrive Nepalgunj
								</p>
								<p class="aj">Arrive Nepalgunj overnight at Nepalgunj Overnight Kalpatru Hotel with attached bath <br />
Alt: 450 m<br />
4/5 hrs Drive</p>					
									<p><b>Meals : </b> 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> Fly Simikot- Hilsa. Drive to Purang(Taklakot)
								</p>
								<p class="aj">Early morning fly to Simikot by domestic airlines. Upon reaching Simikot airport take a flight to Hilsa by Helicopter. Fresh up at local guest house with tea/coffee. Then crossing Karnali bridge arrive to Chinese land. Drive to Purang (Taklakot). Before Purang have immigration formalities at Chinese custom office Overnight Himalaya Hotel with attached bath<br />
<br />
Alt: 3770m<br />
Simikot Flt: 45 min<br />
Hilsa Flt: 25 min<br />
Driving Dist: 15 km<br />
Driving hr: 45 min</p>					
									<p><b>Meals : </b> 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> Rest at Purang (Taklakot)
								</p>
								<p class="aj">Full day rest day in Purang (Taklakot) for acclimatization purpose. You may do shopping at Purang market overnight Hotel with attached bath<br />
Alt: 3770</p>					
									<p><b>Meals : </b> 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> Drive Purang to Mansarovar
								</p>
								<p class="aj">After breakfast drive to Mansarovar Lake. Before reaching Mansarovar Lake you see Rakshyas Tal from the way. Today is the day of lifetime as you have the first sight of Holy Mt. Kailash and holy lake Mansarovar. Have Pooja and Holy bath at Mansarovar. Your overnight will be at Chu Gompa nearby Mansarovar.<br />
At Mansarovar yatris who want Mt. Kailash Parikarma with horses and porters will have to confirm our guide so that he can arrange all before starting the parikarma. overnight Guest house<br />
<br />
Alt: 4558 m<br />
Dist: 110 km<br />
Driving hr: 2 ½ hr</p>					
									<p><b>Meals : </b> 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> Drive nearby Yam Dwar. 1st Day of Parikrama to Diraphuk
								</p>
								<p class="aj">Morning drive near to Yama Dwar via Darchen. Here you will meet our yaks and yak men. We will load all logistics on yaks and start Parikrama. Visit Yama Dwar on the way. The First day of Kora is a gradual walking of 5 hours. From the way you have Darshan of West face of Kailash. Today your night halt at Dirapuk. From Dirapuk view of North face of Kailash in a distance overnight Guest House<br />
<br />
Alt: 4860 m <br />
Dist: 45 km (Drive)<br />
Dist: 16 km (Walking) <br />
Driving hr: 1 hr 45 min<br />
Walking hr: 5 hr</p>					
									<p><b>Meals : </b> 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> 2nd Day of Parikrama to Zuthulphuk
								</p>
								<p class="aj">Early morning trek uphill Dolmala Pass. It takes about 4 to 5 hours. After reaching top of the pass 5800 m then trek down to the valley floor. It takes another 4 to 5 hours. After cross Dolmala when you move down you see Gauri Kunda. This day is the longest and toughest day of Parikarma. So be prepared in mind accordingly overnight Guest House<br />
<br />
Alt: 5800 m<br />
Dist: 22 km<br />
Walking hr: 10 hr</p>					
									<p><b>Meals : </b> 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> 3rd Day of Parikrama. Drive to Purang or Hilsa
								</p>
								<p class="aj">Today is last day of Parikarma. After breakfast you trek down of 10 kms with the winding gradual track and arrive at the place called Chongdo. Our transport will pick up you and drive to Purang. Before moving towards Purang you will have Mansarovar lake parikarma by drive. Today your night halt will be either Purang or Hilsa overnight Himalaya Hotel with attached bath <br />
<br />
Alt: 3770 m<br />
Dist: 145 km<br />
Walking hr: 3 hr<br />
Driving hr: 5 hr</p>					
									<p><b>Meals : </b> 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> Fly Hilsa – Simikot or Nepalgunj
								</p>
								<p class="aj">Morning fly to Simikot by Helicopter. Fly back to Nepalgunj<br />
Overnight at Simkot Or Nepalgunj overnight Hotel with attached bath <br />
Alt: 450 m<br />
Simikot Flt: 25 min Nepalgunj Flt: 45 min</p>					
									<p><b>Meals : </b> Breakfast, Lunch</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">After breakfast transfer to Lucknow to onward destination<br />
Lucknow : 4/5 hrs drop</p>					
									<p><b>Meals : </b> Breakfast</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>Transport</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.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) 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="121814"/>
						</form>
						</div>
						
						";i:1;s:100:"Book Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour - 8 Nights / 9 Days Tour Packages";i:2;s:162:"book kailash mansarovar yatra (helicopter package ex-lucknow) tour - 8 nights / 9 days tour packages, hill station tour packages, lucknow, nepalgunj tour packages";i:3;s:192:"Sharma Travel offers Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour - 8 Nights / 9 Days tour package, budget Hill Station tour packages for Lucknow, Nepalgunj at exciting price.";i:4;s:1273:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Lucknow, Nepalgunj"        
		                 },
		      "description": "Trip Overview
This is an ultimate journey to Mt. Kailash famed as the 'Center of the Universe' by Heli charter flight. It begins by airways from Kathmandu to Nepalgunj and continues to Simikot. After Simikot, you make a charter helicopter flight to Hilsa, the place close to China boarder and drive to the Lake Manasarovar and base camp of Mt Kailash. This is the truly trip of a lifetime with a divine experience and stunning scenery.
Trip Fact 
Trip Code : MY-KM03L
Duration : 09 Days
Trip starts from : Pick up from Lucknow
Trip ends at : Drop to Lucknow 
Mode of Trip in Nepal : By Coach, Air, Helicopter 
Mode of Trip in Tibet : By Coach
Best time of travelling : May, June & September 
Maximum altitude : 1350m to 5850m

NETT COST: INR 1,58,000.00 PER PERSON FROM LUCKNOW –LUCKNOW ( 9 Days)  + GST @ 5%",
		      "name": "Kailash Mansarovar Yatra (Helicopter Package Ex-Lucknow) Tour",
		      "telephone": "+91-9643567755"
		    }
		    </script>
			";i:5;N;}