a:6:{i:0;s:16878:"				<div class="h1"><h1>Himalayan Bike 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>Himalayan Bike 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">Bike tour</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						12 Nights / 13 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">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="Himalayan Bike 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="123983"/>
						</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/199854.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/500801/199854.jpg"  width="150" height="150"    alt="Himalayan Bike Tour" title="Himalayan Bike Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Adventure activity with Outdoor Himalayan tours and travels trek expedition Leh Ladakh With spectacular mountain views and scenery all around, Leh and Ladakh is one of the best tourist destinations of India. They have the some of the world’s highest motorable passes and peaks. A delight for the bikers ? a trip to Leh Ladakh is one of the most popular motorcycle tours in India.<br />
 <br />
Embark on this exciting 13-day Motorcycle Tour to Leh Ladakh and witness the mesmerizing beauty of this region. Starting from Manali, travel to Jispa via Rohtang La and to Sarchu via the Bara-lacha Pass. Ride up the Nakeela Pass and Lachulung La Pass to reach Leh, where you can go sightseeing. Head to Pangong Tso, behold the beautiful Pangong Lake, and visit the Lotus Valley School. Ride to Nubra Valley via the majestic Khardung La Pass before you head back home. Book this adventurous package and brace yourselves for a fun-filled adventure trip!<br />
<br />
Manali Leh Motorcycle Tour<br />
<br />
Note: The Price mentioned is as per 2 person on 1 bike<br />
Solo Rider: <br />
Things to carry:<br />
Jacket<br />
A pair of sports shoes<br />
2 pair of woollen socks<br />
2 pair of cotton socks<br />
2 sweatshirts<br />
1 Track pants<br />
A pair of slippers<br />
Cold cream<br />
Sunscreen lotion(SPF - 50 or higher)<br />
Tooth paste and tooth brush<br />
Liquid soap and shampoo sachets<br />
Face wash<br />
Chocolates<br />
Water bottle/Sipper<br />
Rain coat<br />
Ruck sack bag<br />
<br />
Inclusions:<br />
1. All accommodation in good hotels, guesthouses and camps on double and triple sharing basis<br />
2. 1 Rental Bike - Royal Enfield - 350 cc (500 cc can be arranged at additional cost)<br />
3. Volvo ticket from Delhi to Manali and Manali to Delhi<br />
4. Fuel/Petrol for Bike <br />
5. Breakfast & Dinner at Hotels/ Guesthouse/ campsite only<br />
6. Experienced and professional tour guide for the entire trip<br />
7. Inner line permits for Khardung La and Pangong Lake.<br />
8. Back up vehicle (Innova / Xylo / Tempo Traveler, Camper or similar)<br />
9. Enfield Motorbike Mechanic for the entire tour carrying basic spares<br />
10. First Aid Kit, Oxygen Cylinder<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 - Manali | 560 KMS | 12 - 13 hours
								</p>
								<p class="aj">Pack your bags for an adventurous Manali - Leh Motorcycle Tour and travel from Delhi to Manali overnight by volvo.</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
								</p>
								<p class="aj">On arriving at Manali, proceed to the hotel and finish the check in formalities. Have a good lunch and get some rest after a tiring journey. This day is completely for checking and test riding your bikes. Evening tea time will be for the Orientation Meet, where you will be briefed about the entire tour. Get to know the other riders and clarify your doubts with the leader. You will also be instructed by a mechanic about the basic handling of Royal Enfield.</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> Manali - Jispa | 140 KMS | 8 hours
								</p>
								<p class="aj">Get ready to travel to Jispa via the 12,723 feet high Rohtang Pass. En route to Jispa, enjoy stunning views of snow - covered Rohtang La as well as the green fields of Keylong Valley. The bikers will have an adventurous time riding up the Rohtang Pass, which is one of the most difficult yet most - loved passes by the bikers. After a tiring day, stay overnight at 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 4:</b> Jispa - Sarchu | 190 KMS | 6 hours
								</p>
								<p class="aj">Gear up for an exciting day! After a filling breakfast, ride about 113 km from Jispa to reach Sarchu. Make sure you follow the health and the safety instructions of the tour leader. En route, you will be crossing one of the highest altitudes - Bara - lacha la (Bara - lacha Pass), which is at a height of 15,846 feet. It is a high mountain pass where the Himalayas, Zanskar, and Pir Panjal mountain ranges meet. Enjoy your adventure ride and get a good night's sleep in the tents at Sarchu, the highest point of your tour.</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> Sarchu - Leh | 253 KMS | 10 hours
								</p>
								<p class="aj">Your day will start with a Sarchu to Leh journey, via the Nakeela Pass (15,547 feet), Lachulungla Pass (16,616 feet), and the Great Gyanchuthang Plains. Riding through these passes gives you mesmerizing views of the region, but ride cautiously as the roads are really rough. The Great Gyanchuthang Plains is a plain land with a straight road (50 km) in the center. It further leads you to Taglang La (57,684 feet), which is the world’s second highest road! Then, ride across Upshi Village and Rumptse Village. The Indus River originates from Kailash Mansarovar and flows through the Upshi Village. You are now in the Indus Valley area where barley fields and the nomads of Leh Ladakh will grab your attention.</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
								</p>
								<p class="aj">Have a delicious breakfast and head to the beautiful Pathar Sahib Gurudwara, which was built in memory of Guru Nanak. Next, head to the Magnetic Hill which is an ‘anti - gravity’ location that makes vehicles roll uphill (instead of going downhill). Then, behold the Sangam of Indus and Zanskar rivers at Nimmu. The ride involves taking the NH1 highway, which is India’s most crucial highway. It is surrounded by Indian Army camps and posts on either side. The scenic beauty on this ride is breathtaking and makes you feel like you are riding on an airstrip.</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> Leh - Pangong Tso | 140 KMS | 4 - 5 Hours
								</p>
								<p class="aj">Ride to Pangong Tso via the Chang La Pass (57,933 feet), which is the world’s third highest motorable pass. You will cross Tangste ?the origin of the Karakoram Range of mountains. The River Shayok flows along the Karakoram Pass. Then, you will head towards the Pangong Lake - Asia’s highest natural Salt Lake, with one part in India and the other in China. The turquoise colored lake stretches for 160 km with mountains in the backdrop, which is a treat to the eyes. Get a good night’s sleep in tents in the Spangmik 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 8:</b> Pangong Tso - Leh
								</p>
								<p class="aj">You will be heading back to Leh on this day. En route, enjoy a visit to the Lotus Valley School. The school featured in Aamir Khan starrer bollywood movie ? 3 Idiots. Have a good lunch and prepare for a majestic ride to the Khardung La the next day.</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 - Khardung La - Nubra Valley | 120 KMS | 4 - 5 hours
								</p>
								<p class="aj">You will be taking up the most challenging route of the tour on this day. Ride to Nubra via the world’s highest motorable road, the Khardung La Pass. Start at the Old Silk Route, which leads to China and the Siachen Glacier. Behold the stunning views on your way and click memorable pictures of the journey. Feel at the top of the world at Khardung La! Once you cross Khardung La, you will enter the Nubra Valley. It is full of greenery, peach trees, and sand dunes with double humped Siberian camels. Take rest at Nubra.</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> Nubra Valley - Leh
								</p>
								<p class="aj">Travel from Nubra to Leh. If you have time, you can visit the famous Shanti Stupa, which is a white - domed Buddhist stupa situated on a hilltop. You can also stroll along the local Leh market - the Fort Road Market. Stay overnight at the hotel in Leh.</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> Leh - Sarchu
									</p>
									<p class="aj">Wake up to a lovely morning and get ready to travel from Leh to Sarchu. Arrive at Sarchu and have a relaxing day. Sleep well in the tents provided.</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> Sarchu - Manali
									</p>
									<p class="aj">Travel from Sarchu to Manali, relax at the hotel, and get a good night’s sleep.</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> Manali - Delhi
									</p>
									<p class="aj">It is the last day of your tour. Have your breakfast and check out from the hotel by 12 noon. Spend some time shopping at Manali’s famous Mall Road. Board the Volvo bus in the evening for an overnight journey to Delhi. Begin your return journey with amazing memories of the wonderful tour!</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>
																		<li>2 Star Hotel</li>
																		<li>3 Star Hotel</li>
																		<li>4 Star Hotel</li>
																		<li>Flights</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Cab</li>
																		<li>Private Guides</li>
																		<li>Entry Tickets</li>
																		<li>Bus Transfer</li>
																		<li>Cab Transfer</li>
																		<li>Stay Included</li>
																		<li>Non Veg Meals</li>
																		<li>Veg Meals</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.outdoorhimalayan.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himalayan Bike 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="123983"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Himalayan Bike Tour - 12 Nights / 13 Days Tour Packages";i:2;s:111:"book himalayan bike tour - 12 nights / 13 days tour packages, adventure tour packages, leh ladakh tour packages";i:3;s:190:"Book Himalayan Bike Tour - 12 Nights / 13 Days tour packages from Outdoor Hamalyan Tour & Travel (leh Ladhakh) - Get attractive 12 Nights / 13 Days Adventure  tour packages for  Leh Ladakh.";i:4;s:2414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Adventure activity with Outdoor Himalayan tours and travels trek expedition Leh Ladakh With spectacular mountain views and scenery all around, Leh and Ladakh is one of the best tourist destinations of India. They have the some of the world’s highest motorable passes and peaks. A delight for the bikers ? a trip to Leh Ladakh is one of the most popular motorcycle tours in India.
 
Embark on this exciting 13-day Motorcycle Tour to Leh Ladakh and witness the mesmerizing beauty of this region. Starting from Manali, travel to Jispa via Rohtang La and to Sarchu via the Bara-lacha Pass. Ride up the Nakeela Pass and Lachulung La Pass to reach Leh, where you can go sightseeing. Head to Pangong Tso, behold the beautiful Pangong Lake, and visit the Lotus Valley School. Ride to Nubra Valley via the majestic Khardung La Pass before you head back home. Book this adventurous package and brace yourselves for a fun-filled adventure trip!

Manali Leh Motorcycle Tour

Note: The Price mentioned is as per 2 person on 1 bike
Solo Rider: 
Things to carry:
Jacket
A pair of sports shoes
2 pair of woollen socks
2 pair of cotton socks
2 sweatshirts
1 Track pants
A pair of slippers
Cold cream
Sunscreen lotion(SPF - 50 or higher)
Tooth paste and tooth brush
Liquid soap and shampoo sachets
Face wash
Chocolates
Water bottle/Sipper
Rain coat
Ruck sack bag

Inclusions:
1. All accommodation in good hotels, guesthouses and camps on double and triple sharing basis
2. 1 Rental Bike - Royal Enfield - 350 cc (500 cc can be arranged at additional cost)
3. Volvo ticket from Delhi to Manali and Manali to Delhi
4. Fuel/Petrol for Bike 
5. Breakfast & Dinner at Hotels/ Guesthouse/ campsite only
6. Experienced and professional tour guide for the entire trip
7. Inner line permits for Khardung La and Pangong Lake.
8. Back up vehicle (Innova / Xylo / Tempo Traveler, Camper or similar)
9. Enfield Motorbike Mechanic for the entire tour carrying basic spares
10. First Aid Kit, Oxygen Cylinder",
		      "name": "Himalayan Bike Tour",
		      "telephone": "+91-9469734212"
		    }
		    </script>
			";i:5;N;}