a:6:{i:0;s:30538:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Ladakh Tour Ex Manali</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thebluetour.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thebluetour.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Ladakh Tour Ex Manali</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> Manali, Leh Ladakh, Jispa</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.thebluetour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Tour Ex Manali - 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="191029"/>
						</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_20/579882/300731.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/579882/300731.jpg"  width="150" height="96"    alt="Ladakh Tour Ex Manali" title="Ladakh Tour Ex Manali" /></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>
													
								ABOUT LADAKH: - - Hidden over high passes in an arid, largely treeless rain shadow, Ladakh is classic Trans Himalayan scenery: huge khaki-colored valleys and harsh rock walls brought alive by the occasional splash of irrigated green. Traditional Tibetan Buddhist culture remains intact here, with spectacularly located monasteries that burst into life during medieval masked dance festivals that have changed little in 500 years. For travelers there's a bit of everything – epic treks, sparkling high-altitude mountain lakes and a well developed backpacker infrastructure based around the capital, Leh.<br />
<br />
SPECIAL ATTRACTION: - Multiple departure options from June to August Bikes with Fuel <br />
Backup vehicle with mechanical support <br />
Experienced tour marshal on bike to lead the entire tour <br />
Breakfast and dinner at all places SOME MAJOR HIGH PASSES DURING THE RIDE: - <br />
Khardung-La <br />
Baralacha-La <br />
Nakee-La <br />
lachulung la <br />
Rohtang-La <br />
CHANG-LA								</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> MANALI ARRIVAL
										</p>
										<p class="aj">After reaching Manali, freshen up yourself after checking in at your hotel. This day you are free to explore locally on your own and visit places like hidimba temple,vashishth,old manali and etc. Gather in the evening for a tour briefing, safety and rescue session by professionals.</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> MANALI TO JISPA (138 Kms.)
										</p>
										<p class="aj">In the morning after Breakfast, we all will have to gather early for the allocation of seats and start up the journey. This day is the first day of our adventurous journey, which will be a lifetime memorable and self motivated trip. As soon as we will start our journey we will be riding through one of the famous high passes named Rohtang-La at approx 13000 ft to koksar and then to our destination JISPA to keylong .After reaching jispa enjoy beautiful landscape and river side camp site and Overnight stay in Jispa.</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> JISPA TO SARCHU (92 Kms.)
										</p>
										<p class="aj">After breakfast we will start our ride lately by 9:00 am as there is only 100 kms approx ride. En-route we will enjoy the beauty of Baralacha-la Pass, Zing-zing bar. In the evening we will have some camp-fire at our stay. Overnight stay at Sarchu.</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> SARCHU TO LEH (260 Kms.)
										</p>
										<p class="aj">In the morning, after breakfast we are heading towards Leh from the sharing border of J&K with Himachal Pradesh. After crossing Mori-planes, Pang, Gata Loops, Nakee-la, Lachung-La and tanglang la pass then we will be reaching our destination LEH in evening.</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> LEH LOCAL SIGHTSEEING – SHAM Valley up to Confluence(60 Kms.)
										</p>
										<p class="aj">After the Breakfast, We will depart for the local sightseeing towards the Leh Palace, Shey Palace, Magnetic hill, Gurudwara Pather Sahib, Sangam River and back to the Hotel. In evening back to hotel. Dinner and Overnight stay at the 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 6:</b> LEH TO NUBRA (160 Kms.)
										</p>
										<p class="aj">Today, we will take the road to the highest motor able pass in the world – Khardung-La - at 18,380 feet. In spite of the altitude, today we will ride on some of the smoothest roads so far and the landscape also becomes grand. After celebrating at Khardung-La pass, you descend into the dramatically different landscape of the Nubra valley via khardung village on which khardung la pass is named.</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> NUBRA TO PANGONG (140 Kms.)
										</p>
										<p class="aj">In the morning, after breakfast we are going through one of the most uncommon routes in Ladakh area via Shayok village, which is opened recently for the tourists.</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> PANGONG TO LEH (140 Kms.)
										</p>
										<p class="aj">After the breakfast, we will drive back to Leh via Chang-la Pass which is also known as the World's Third Highest Motorable Pass and before leaving we enjoy and spend time at 3 idiot point have some beautiful memories and photographs. Overnight stay 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 9:</b> LEH TO SARCHU (260 Kms.)
										</p>
										<p class="aj">After breakfast we will leave for LEH from the same old route and stay at sarchu which is between Himachal Pradesh and have our 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> SARCHU TO MANALI (230 Kms.)
										</p>
										<p class="aj">In the morning we leave from Sarchu and this is the final leg of our ritual road trip. We start our day early and ride from Keylong to Manali. The route is slightly rough. So, this day we shall try and cover the maximum distance with minimum stopovers. We arrive in Manali by the evening, followed by covering Rohtang-La Pass. Overnight stay at hotel.</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
											</p>
											<p class="aj">In Morning, after breakfast we all have to check out from the hotel. You can go ahead for your onward journey</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>Royal Enfield 500 cc OR 350 CC for Two rider and 350 cc for single rider </li><li>
Fuel for the mentioned itinerary (Manali to Manali) </li><li>
Accommodation on Triple sharing basis and for couples it is on Double Sharing Basis in hotel / camp </li><li>
Daily Breakfast and dinner </li><li>
Backup vehicle as well as Luggage van (both are same ) </li><li>
Mechanical Support through backup vehicle for bikes </li><li>
Tour Marshal </li><li>
All Inner Line Permits </li><li>
Oxygen Cylinder with basic First Aid </li><li>
Helmets (Recommended to carry their own)</li><li>
Motorcycle is only to run as per itinerary. In case guests want to go somewhere for example: local marker, Bike won’t be available for it. </li><li>
All taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Meals which are not mentioned </li><li>
Any Travel expenses To and Fro from Delhi or manali to delhi </li><li>
Any personal expenses like laundry, telephone bills, tips.. etc </li><li>
Any kind of Biking gears (such as Elbow Guard, Knee Guard, Riders Jacket etc.) </li><li>
Any cost arising due to natural calamities like landslides, roadblocks. . Etc to be borne by the clients directly on the spot</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>All given rates are per person on Twin/Double sharing basis, until unless specified specially in Quotation.</li><li>
All given rates at quotation level are based on real time availability. There may be a change in price in between the time interval of Quotation and Confirmation of Package. Any such change will be specified accordingly.</li><li>
Special payment and cancellation policy will be applicable during peak season/Blackout dates. These dates usually – City Events, Regional/National Holidays, Political Conferences, Major Cultural festivals or any other Event which can affect regular tourist movement.</li><li>
In case of unavailability of rooms in given Hotels due to any unexpected scenario, alternate accommodation arrangement will be made in similar standard available Hotel.</li><li>
Room occupancy will strictly be in accordance with the one confirmed at the time of booking.</li><li>
Check-in and Check-out timings of Hotels are different and based on the regulations/Policies of local Hotel unions of concern region/City or general trend of market. These will be specified at the time of quotation/Communication.</li><li>
In case of Triple sharing room, rolling mattress will be provided for third person. Occupancy regulations for Family rooms and other Club rooms will be in accordance with Hotel’s policy.</li><li>
Availability of rooms, given at the time of Quotation, will be on real time basis and final availability will be shared at the time of confirmation of package. OYO will not hold any services on confirmed state, at quotation stage.</li><li>
Any booking related with flight tickets will be booked on real time price basis. OYO will not hold any Air ticket on confirmed basis without final payment of air tickets share. As airfares are extremely dynamic in nature, any difference in cost, arises during acknowledgement and issuance of ticket, will be taken care by Client.</li><li>
Any amendment in issued flight tickets, like – Change in Dates, Names, timing, airline or any other information will attract amendment charges as per Airline’s amendment Policies.</li><li>
Flight ticket cancellation / Refund is strictly in accordance with Airline’s cancellation/Refund policies.</li><li>
OYO Shall not be responsible for any Loss of Baggage / Loss of Belongings / Broken Baggage at Airport or anywhere else.</li><li>
Flight timings are to be kept into consideration while reaching to the airport. OYO shall not be responsible for any incidence where client is not able to reach airport / Board the flight due to any reason of personal nature, Insufficient time duration in connecting flights or any other reason related with airline’s governance like – Delay in Flight, Change in timing / Overbooking by Airline or any other factor.</li><li>
Vehicle provided during tour will follow the tour plan specified in the itinerary. Driver in any way will not be deviated from the specified / common route.</li><li>
Vehicle provided during the tour will not be on disposable basis. Any travel, after the activity decided in tour will not be permitted. Late evening / late night drive apart from designed plan will be prohibited.</li><li>
There are some monuments/areas, restricted for Vehicle entrance by the local authorities. In any such case, Vehicle will drop you till the nearest possible point and further arrangements will have to be managed by Client.</li><li>
Vehicle will not be allocated on the leisure day (day free for relaxation).</li><li>
Air Condition in Vehicles will not be operational on hilly areas (due to mechanical reasons). Driver reserves the rights to switch off /operate AC as per the terrain, climatic and vehicle’s condition.</li><li>
Any entrance fees, monument fees or any other activity charges, including but not limited to charges in relation to parking, transportation, tolls, taxes, camping, admission, meals etc. will not be included in the package until and unless so specified specially in inclusion section.</li><li>
The above mentioned package may not be available with displayed price during Long Week-ends, National Holidays and Regional festivals. There is a probability of difference in cost, which will be specified at the time of communication.</li><li>
In case of amendment in package due to increase in number of Guests. The difference in cost shall be borne by the Client/customer.</li><li>
Any charges related with on-ground modification/addition of service, which is opted by Client by his/her own choice and not affecting rest of the tour itinerary, will have to be paid directly to Driver/Supplier on the behalf of OYO.</li><li>
OYO reserves the right to modify or cancel the tour package, in part or in whole, at any time prior to the commencement of the tour or a particular part of the tour, as the case may be, for any reason including but not limited to the act of god, act of man whether or not unforeseen and / or unexpected etc. In all such cases, refund will be processed according to the Cancellation policy of OYO as applicable at that specific point of time.</li><li>
OYO Shall not be held responsible for any refund/Charges, in case of services booked of non-refundable nature. OYO’s liability in relation to the Package shall at all times be limited to those circumstances where an express liability has been cast on it under these Terms.</li><li>
In case of any on ground issues with any third party, OYO shall try to support in all possible ways but shall not be held liable for the act and hence will not be liable for any sort of compensation.</li><li>
In case of any natural calamity or any other force majeure incident, OYO reserves the rights to modify/change or cancel the partial or complete tour Package. OYO shall not be held responsible for refund/Compensation in any such circumstances.</li><li>
Package price is a consolidation of different components inseparable in nature in terms of costing. Any unused service/services due to any unspecified reason, will not be refunded back.</li><li>
Refund on cancellation (Cancellation in accordance with Cancellation Policies) is strictly dependent on Cancellation policies and the refund process will take minimum 14 working days.</li><li>
Oyo's entire liability to the Client for any claim arising out of this Package / browsing the website/ application, shall be limited to the amount equivalent to the price paid by the Client for the Package giving rise to such claim minus all applicable taxes and third-party charges.</li><li>
OYO shall not be liable to pay for any loss suffered by the Client, if it is found that the Client had been in violation of any express or implied directions given by or on behalf of OYO, applicable law, rule and / or regulations.</li><li>
No offer, promo code or discount shall be applicable to this Package unless so expressly notified by OYO on its website and this Package cannot be clubbed with any scheme, offer, package of OYO or its associates.</li><li>
All grievances shall first be raised with Customer relationship team within 15 days of the occurrence of such event. In case no resolution to such grievance is provided by Customer relationship team within 30 days, the Client shall have the right to escalate the dispute in the accordance with these terms and OYO’s applicable policies.</li><li>
Client shall be liable to reimburse OYO for any and all losses suffered and / or charges incurred as a result of the Client’s actions, direct or indirect, in relation t CLient</li><li>
This Package shall be governed by laws of India, and all disputes in relation to this package shall be resolved via arbitration in Delhi in accordance with the Arbitration and Conciliation Act, 1996. The courts of Delhi shall have the exclusive jurisdiction in relation to any matter arising out of the Package.</li><li>
This Package and all of your rights and obligations in relation to the same are non-transferable and cannot be assigned without the prior permission of OYO.</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>Timelines</li><li>
Penalty</li><li>
45 or more days prior to departure</li><li>
25% of package cost will be charged as penalty.</li><li>
Within 30 days before departure.</li><li>
100% of package cost will be charged as penalty</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Tour Ex Manali - 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="191029"/>
						</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.thebluetour.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/coimbatore-tour-packages.htm" title="Coimbatore Tour Packages">Coimbatore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/kumarakom-tour-packages.htm" title="Kumarakom Tour Packages">Kumarakom</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</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.thebluetour.in/coorg-tour-packages.htm" title="Coorg Tour Packages">Coorg</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.thebluetour.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</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.thebluetour.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</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.thebluetour.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</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.thebluetour.in/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</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.thebluetour.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.thebluetour.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/camping-holidays-catid.htm" title="Camping Packages">Camping</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 Manali, Leh Ladakh, Jispa</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.thebluetour.in/holiday-packages/simply-himachal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/579882/300730.jpg"  alt="Simply Himachal Tour" title="Simply Himachal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thebluetour.in/holiday-packages/simply-himachal-tour.htm" title="Simply Himachal Tour"><h3>Simply Himachal 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, Manali, Shimla</p>
															<div class="mt10px small">
							<form name="pkg_191028" id="pkg_191028" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thebluetour.in/holiday-packages/simply-himachal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Simply Himachal 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="191028"/>
							</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 Ladakh Tour Ex Manali - 111 Days Tour Packages";i:2;s:120:"book ladakh tour ex manali - 111 days tour packages, hill station tour packages, manali, leh ladakh, jispa tour packages";i:3;s:159:"The Blue Tour & Travel offers Ladakh Tour Ex Manali - 111 Days tour package, budget Hill Station tour packages for Manali, Leh Ladakh, Jispa at exciting price.";i:4;s:1368:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Leh Ladakh, Jispa"        
		                 },
		      "description": "ABOUT LADAKH: - - Hidden over high passes in an arid, largely treeless rain shadow, Ladakh is classic Trans Himalayan scenery: huge khaki-colored valleys and harsh rock walls brought alive by the occasional splash of irrigated green. Traditional Tibetan Buddhist culture remains intact here, with spectacularly located monasteries that burst into life during medieval masked dance festivals that have changed little in 500 years. For travelers there's a bit of everything – epic treks, sparkling high-altitude mountain lakes and a well developed backpacker infrastructure based around the capital, Leh.

SPECIAL ATTRACTION: - Multiple departure options from June to August Bikes with Fuel 
Backup vehicle with mechanical support 
Experienced tour marshal on bike to lead the entire tour 
Breakfast and dinner at all places SOME MAJOR HIGH PASSES DURING THE RIDE: - 
Khardung-La 
Baralacha-La 
Nakee-La 
lachulung la 
Rohtang-La 
CHANG-LA",
		      "name": "Ladakh Tour Ex Manali",
		      "telephone": "+91-9509888449"
		    }
		    </script>
			";i:5;N;}