a:6:{i:0;s:23736:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Kailash Mansarovar Yatra From Kathmandu</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bholeyatra.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.bholeyatra.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Kailash Mansarovar Yatra From Kathmandu</p>
						</div>
						</div>
						</section>
										<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> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu, Pokhara</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 170000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kailash Mansarovar Yatra from Kathmandu - 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="194061"/>
						</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_23/667967/307008.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/667967/307008.jpg"  height="150"  width="150"    alt="Kailash Mansarovar Yatra from Kathmandu" title="Kailash Mansarovar Yatra from Kathmandu" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Kailash Mansarovar Yatra from Kathmandu<br />
<br />
Bhole Shankar Teerth Yatra Co. offers Kailash Mansarovar Yatra by Helicopter from Kathmandu. These helicopter packages ensure a faster and comfortable journey to Mount Kailash without facing any difficulty. The 10 nights/11 days from Kathmandu covers Nepal Gunj, Simikot, Hilsa, Purang, Mansarovar Lake, Darchen, Yam Dwar, Diraphuk, Dolma La Pass, Zuthulphuk. The pilgrims will stay in 3/4-star hotels. They will avail helicopter rides from Kathmandu to Nepalgunj to Simikot and then, from Simikot to Hilsa.<br />
<br />
Kailash Mansarovar Yatra By Helicopter From Kathmandu<br />
<br />
Destination Covered : Kathmandu – Nepal Gunj – Simikot – Hilsa – Purang- Mansarovar Lake – Darchen – Yam Dwar – Diraphuk – Dolma La Pass – Zuthulphuk<br />
<br />
<br />
Hotels Details:<br />
LOCATION	HOTEL NAME<br />
Nepal Gunj	Hotel Sneha International/Similar<br />
Simikot	        Hotel Mansarovar/Similar<br />
Purang	        Hotel Himalayan/Similar<br />
Mansarovar	Chu Gompa Guest House on sharing basis<br />
Darchen	        Hotel Himalayan/Similar<br />
Diraphuk   	Guest House/Tent on sharing basis<br />
Zhulthulphuk 	Guest House/Tent on sharing basis								</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> Arrival at Kathmandu
										</p>
										<p class="aj">On arrival in the Kathmandu, meet our tour executive. transfer to hotel, After check-in the hotel at kathmandu, rest of the day is at leisure. Go to explore the surroundings on your own. Dinner & overnight stay in Hotel.</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> Kathmandu Sightseeing – Nepal Gunj
										</p>
										<p class="aj">Next day in the morning darshan at Pashupatinath temple, Later fly to Nepal gunj which is located at a short distance. Nearly after about one hour of flying, you will reach the town. Check-in at the hotel and spend the day leisurely. Overnight stay at the Nepal Gunj hotel.</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> Nepalgunj – Simikot
										</p>
										<p class="aj">Next day, in the morning transfer to the airport in Nepalganj. Board a flight to Simikot which takes about 45 minutes to reach Simikot. Upon arrival, check-in the hotel and overnight stay.</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> Simikot – Purang
										</p>
										<p class="aj">Next day in the morning After breakfast transfer to Hilsa by Helicopter (Nepali border) 20-minute fly & pick up at Sher border (walk 10 minute) cross to border and enter in Tibet. Meet our Tibetan and Nepali guide and drive to Purang, On arrival check-in the hotel and overnight stay.</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> Purang – Mansarovar Lake
										</p>
										<p class="aj">Next day in the Morning transfer to Mansarovar Lake which is approx 78 kms. On arrival at Mansarovar Lake, perform spiritual activities such as the abode of god will be a lifetime – achievement. Pooja, Havana worship, meditation, holy bath etc. Overnight stay Lodge at the shore of Lake Manasarovar.</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> Mansarovar Lake – Darchen
										</p>
										<p class="aj">In the morning after breakfast transfer to Darchen, the base camp of Holy Mt. Kailash. Rest of day free for acclimatization and preparing for Parikarma, Overnight stay.</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> Darchen – Diraphuk (18 Kms)
										</p>
										<p class="aj">In the morning drive for 10 kms to “yam dwar” and trek up about 04/05 hour Diraphuk (4890m) to reach Parikarma/Cora begins. Overnight stays at Guest 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 8:</b> Diraphuk – Zhulthulphuk (22 Kms)
										</p>
										<p class="aj">Next Day in the morning, at first you will cross Dolma La, the highest point of the trip. The trek then begins to descend towards Zhuthulpuk. After some time, you will then be walking on a flat surface while relaxing a bit. Finally, you will reach Zhuthulpuk. Stay overnight in a guesthouse/lodge/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> Zhuthulpuk – Purang
										</p>
										<p class="aj">Next day in the morning, trek down to Nandi Parvat. It will take around 3-4 hours. Take rest and begin another trek to Kailash Kora. Upon arrival at Kailash Kora, trekking will be complete. From here, board a bus that will take you to Purang. Arrive at Purang, Chek-in the Hotel/Guest House/Lodge/Camp and Overnight stay.</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> Purang – Simikot – Nepalgunj – Kathmandu
										</p>
										<p class="aj">In the morning after breakfast drive to hilsa, from here cross the nepali border and reach simikot by helicopter. After arrive Simikot Again board a flight to Nepalgunj. Upon reaching, embark on a connecting flight to Kathmandu. Check-in the Hotel and Overnight Stay.</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> Departure from Kathmandu
											</p>
											<p class="aj">n the morning after breakfast, check out from hotel. Transfer to Kathmandu airport. Depart for home with the blessings of Lord Shiva and the absolving pilgrimage to Kailash Mansarovar Yatra By Helicopter.<br />
Tour End With Bhole Shankar Teerth Yatra Co..</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>10 Night accommodation with all Veg. meal.</li><li>
Nepalgunj/Simikot both way air fare.</li><li>
Helicopter from Simikot/Hilsa both </li><li>
way.</li><li>
Accommodation at hotel/guest </li><li>
house during Kailash Yatra full board </li><li>
Veg. meal.</li><li>
A/C Luxury Coach.</li><li>
Nepali Team leader and supporting </li><li>
team.</li><li>
English & Hindi speaking guide.</li><li>
Chinese permit & visa.</li><li>
All entry fees for the yatra.</li><li>
Sleeping mat, Jacket and Sleeping </li><li>
Bag while on Kailash Tour.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Service tax as applicable.</li><li>
Cost for extra night accommodation (if any).</li><li>
Food & transport in case of any delay due to weather or unforeseen reason.</li><li>
Evacuation cost (if required)</li><li>
Travel insurance & Expenses of personal nature etc.</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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>170000</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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.bholeyatra.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kailash Mansarovar Yatra from Kathmandu - 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="194061"/>
						</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.bholeyatra.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">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.bholeyatra.com/yamunotri-tour-packages.htm" title="Yamunotri Tour Packages">Yamunotri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bholeyatra.com/guptakashi-tour-packages.htm" title="Guptakashi Tour Packages">Guptakashi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bholeyatra.com/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">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.bholeyatra.com/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</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.bholeyatra.com/lumbini-tour-packages.htm" title="Lumbini Tour Packages">Lumbini</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.bholeyatra.com/dehradun-tour-packages.htm" title="Dehradun Tour Packages">Dehradun</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.bholeyatra.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bholeyatra.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</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 Kathmandu, Pokhara</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.bholeyatra.com/holiday-packages/kailash-mansarovar-yatraby-road-from-kathmandu.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_23/667967/307007.jpg"  height="100"  width="100"    alt="Kailash Mansarovar Yatra By Road from Kathmandu" title="Kailash Mansarovar Yatra By Road from Kathmandu"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bholeyatra.com/holiday-packages/kailash-mansarovar-yatraby-road-from-kathmandu.htm" title="Kailash Mansarovar Yatra By Road from Kathmandu"><h3>Kailash Mansarovar Yatra By Road From Kath..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 132000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								13 Nights / 14 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara, Lumbini</p>
															<div class="mt10px small">
							<form name="pkg_194060" id="pkg_194060" method="post" action="http://www.bholeyatra.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bholeyatra.com/holiday-packages/kailash-mansarovar-yatraby-road-from-kathmandu.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kailash Mansarovar Yatra By Road from Kathmandu - 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="194060"/>
							</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:69:"Book Kailash Mansarovar Yatra from Kathmandu - 111 Days Tour Packages";i:2;s:141:"book kailash mansarovar yatra from kathmandu - 111 days tour packages, religious & pilgrimage tour packages, kathmandu, pokhara tour packages";i:3;s:175:"Book Kailash Mansarovar Yatra from Kathmandu - 111 Days tour packages from Bhole Yatra - Get attractive 111 Days Religious & Pilgrimage  tour packages for  Kathmandu, Pokhara.";i:4;s:1565:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "Kailash Mansarovar Yatra from Kathmandu

Bhole Shankar Teerth Yatra Co. offers Kailash Mansarovar Yatra by Helicopter from Kathmandu. These helicopter packages ensure a faster and comfortable journey to Mount Kailash without facing any difficulty. The 10 nights/11 days from Kathmandu covers Nepal Gunj, Simikot, Hilsa, Purang, Mansarovar Lake, Darchen, Yam Dwar, Diraphuk, Dolma La Pass, Zuthulphuk. The pilgrims will stay in 3/4-star hotels. They will avail helicopter rides from Kathmandu to Nepalgunj to Simikot and then, from Simikot to Hilsa.

Kailash Mansarovar Yatra By Helicopter From Kathmandu

Destination Covered : Kathmandu – Nepal Gunj – Simikot – Hilsa – Purang- Mansarovar Lake – Darchen – Yam Dwar – Diraphuk – Dolma La Pass – Zuthulphuk


Hotels Details:
LOCATION	HOTEL NAME
Nepal Gunj	Hotel Sneha International/Similar
Simikot	        Hotel Mansarovar/Similar
Purang	        Hotel Himalayan/Similar
Mansarovar	Chu Gompa Guest House on sharing basis
Darchen	        Hotel Himalayan/Similar
Diraphuk   	Guest House/Tent on sharing basis
Zhulthulphuk 	Guest House/Tent on sharing basis",
		      "name": "Kailash Mansarovar Yatra from Kathmandu",
		      "telephone": "+91-9414401325"
		    }
		    </script>
			";i:5;N;}