a:6:{i:0;s:19356:"				<div class="h1"><h1>Srinagar – Leh – Srinagar (10 Days) Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluedolphintravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluedolphintravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Srinagar – Leh – Srinagar (10 Days) 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srinagar – Leh – Srinagar (10 Days) 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="96755"/>
						</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_15/428110/163842.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/163842.jpg"  width="150" height="150"    alt="Srinagar – Leh – Srinagar (10 Days) Tour" title="Srinagar – Leh – Srinagar (10 Days) Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Traditional Welcome in the hotel <br />
Accommodation on twin sharing basis as per the selected category of packages <br />
BT: Bed Tea, B: Breakfast, D: Dinner <br />
Kindly Note the vehicles provided are not on disposable basis and are strictly on point to point basis as per the Itinerary selected <br />
Inner line Permit. <br />
All airport transfers & sightseeing tours by: <br />
Budgeted: = NAC Tavera/Qualis, <br />
Deluxe: = NAC Innova / Scorpio / Xylo <br />
Super Deluxe: = NAC Innova / Scorpio / Xylo <br />
Luxury: = 01 NAC Innova <br />
Wild life fee & Red Cross fee. <br />
The Ladakh Autonomous Hill Development Council fee (Ladakh entry fee)9 % GST Tax Extra <br />
Airfare to and from Leh or any other destination <br />
Monument & Museum Entrance Fees to be paid directly. <br />
Any kind of personal expenses, extra meals, starters & Drinks (Alcoholic, Mineral, Aerated etc) <br />
Any kind of optional tours <br />
Tips, Insurance, Laundry, Phone Calls, Guide Fee & Camera Fee<br />
Services of vehicle on leisure days and after finishing the sightseeing tour <br />
Adventure activity costs (Pony Ride, Camel Safari, Rafting, paragliding etc) <br />
Medical & Travel insurance <br />
Additional Costs due to Flight Cancellations, Road blocks, natural calamities and nature’s fury <br />
Anything not mentioned under the category “PACKAGE INCLUSIONS”<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> Srinagar airport pick up O/N Srinagar
								</p>
								<p class="aj">Arrival Srinagar. Transfer to the hotel. Rest of the day free at leisure. Enjoy shikara ride in the evening. O/N in Srinagar.</p>					
									<p><b>Meals : </b> ( 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> Srinagar – Drass – Kargil (8 HRS – 209 KMS)
								</p>
								<p class="aj">Morning after Breakfast leave for Kargil, by visiting Sonamarg (Known As Meadow of Gold), Enroute Drass which has become famous as the second coldest inhabited place in the world by virtue of the intense cold that descends upon the valley along with repeated snowfall during winter. Winter temperature is sometimes known to plummet to less than 40 degree Celsius. Have a magnificent view of Kargil war Famous Peaks (Tiger Hill, Tololing) & visit Vijay Smarak and pay your tribute to soldiers who laid their lives for us in Kargil War in 1999, reach Kargil hotel by evening. O/N Kargil.</p>					
									<p><b>Meals : </b> (Breakfast & 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> Kargil – Leh (6HRS – 213 KMS)
								</p>
								<p class="aj">Morning after Breakfast leave for Ule, enroute visit Mulbek it is a huge Chamba statue, an image of a future Buddha, cutting to the rock face beside the road. It's one of the most interesting stops along the road, after that visit Lamayuru monastery (Founded in the 10th Century it’s the Oldest Monastery in Central Ladakh) later have a magnificent view of spectacular Moonlandscape. Enrooted visit Alchi, Likir Monastery, Magnetic Hill, Pathar Sahib Gurudwara. Lunch at Hotel in Leh. Evening free time at Leisure. O/N Leh.</p>					
									<p><b>Meals : </b> (Breakfast & 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> Leh Local Sightseeing (Shey – Thiksey – Hall of Fame - Shanti Stupa)
								</p>
								<p class="aj">After breakfast drive up along the scenic Indus valley. Enroute stop over to visit the famous Shey Palace & Monastery, Thiksey Monastery, visit Hall of Fame and enjoy an evening sunset at Shanti Stupa. O/N Leh.. <br />
• Shey Palace & Monastery<br />
This summer palace of the erstwhile King of Leh is set upon a hill. The monastery itself has a 7.5 meter high, copper statue of a sitting Buddha, wrought in gold. This is the largest of it’s kind in the world. <br />
• Thiksey Monastery <br />
19 Kms from Leh, Thiksey is one of the largest and most impressive Gompas of Ladakh. The Thiksey monastery provides a panoramic view of the green Indus Valley from its vantage point atop a hill. It has chambers full of statues, Stupas and colorful Tankhas. <br />
• Hall of Fame <br />
Hall of Fame near Leh is worth a visit for every citizen. It is a glorious museum constructed by Indian army. You can see the memorabilia, eminent defence personalities with biographies, images and weapons used during Kargil war. <br />
• Shanti Stupa <br />
Shanti Stupa is located at about 1km from Leh. It was built by a Japanese order and has wonderful views over Leh and the Indus valley especially at sunset. The stupa was built in 1980s and is a beautiful monument decorated with colourful paintings and enshrines large statues of Buddha. O/N Leh</p>					
									<p><b>Meals : </b> (Breakfast & 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> Leh - Nubra Valley (5 HRS – 120 KMS)
								</p>
								<p class="aj">After Breakfast drive to Nubra Valley via Khardung la pass the highest motorable pass in the world (18,380 feet). On the way you get excellent view of great Karakoram Range. Keep driving through Syok River and reach Hundur by Afternoon. visit sand dunes for camel safari. O/N Hundur.</p>					
									<p><b>Meals : </b> (Breakfast & 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> Nubra Valley – Pangong Lake (10 HRS)
								</p>
								<p class="aj">Today we Drive on one of the remotest route of Ladakh made especially for the Indian Army, which connects Nubra Valley to Pangong Lake by passing Leh. This route was washed away in a cloud burst in 2010. Parts of it are still not rebuilt. With various stream crossings, driving on dry riverbeds, smoothtarmac and switchbacks, it truly is a religious experience for an adventure lover.Later free time at leisure and enjoy the colour changing lake and the sun set on the banks of lake .O/N PangongLake .</p>					
									<p><b>Meals : </b> (Breakfast & 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> Pangong Lake – Leh (4 HRS ONE WAY – 140 KMS)
								</p>
								<p class="aj">Early morning after Breakfast leave for Lehthrough Changla Pass 17,350 ft. (3rd Highest Motorable road in the world), Spend time at the banks of Pangong Lake. This lake of Pangong is 5/6 kms wide and over 144 kms long and is shared by two countries (25% India and 75% China). Later free for Shopping at Leh Local Market.Overnight at Leh..O/N Leh.</p>					
									<p><b>Meals : </b> (Breakfast & 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> Leh – Kargil (05 HRS -213 KMS)
								</p>
								<p class="aj">After Breakfast drive to Alchienroute visit GurudwaraPathar Sahib, Magnetic Mountain &Likir Monastery. Arrive Ule by afternoon enroute have a spectacular view of Moonlandscape, Lamayuru (Oldest Monastery in Ladakh) and Giant Maitreya Buddha at Mulbekh. Arrive at Kargil by late evening. O/N Kargil.</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> Kargil - Drass - Sonamarg – Srinagar (8Hrs – 204 KMS)
								</p>
								<p class="aj">After early Breakfast by 5.00 am drive to Srinagar passing through Drass, the second coldest inhabited Place on earth and you can have spectacular view of Kargil War famous Peaks Tiger Hill and Tololing Peak. O/N Srinagar.</p>					
									<p><b>Meals : </b> (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 10:</b> Srinagar – Back to Destination
								</p>
								<p class="aj">Early morning transfer to airport and fly back to Destination with Sweet Memories of Ladakh.</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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>9 % GST Tax Extra </li><li>
Airfare to and from Leh or any other destination </li><li>
Monument & Museum Entrance Fees to be paid directly. </li><li>
Any kind of personal expenses, extra meals, starters & Drinks (Alcoholic, Mineral, Aerated etc) </li><li>
Any kind of optional tours </li><li>
Tips, Insurance, Laundry, Phone Calls, Guide Fee & Camera Fee</li><li>
Services of vehicle on leisure days and after finishing the sightseeing tour </li><li>
Adventure activity costs (Pony Ride, Camel Safari, Rafting, paragliding etc) </li><li>
Medical & Travel insurance </li><li>
Additional Costs due to Flight Cancellations, Road blocks, natural calamities and nature’s fury </li><li>
Anything not mentioned under the category “PACKAGE INCLUSIONS”</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Professional Tourist Guide @ INR. 2000 per day</li>
	<li>Camel Safari @ INR. 500 per ride</li>
	<li>River Rafting in Indus (Phey to Nimo) @ INR. 2200 per person (25th June to 30th August only)</li>
	<li>Cultural program @ INR. 8500 per program</li>
</ul>

<p><strong>IMPORTANT NOTE</strong> Kindly note that names of hotels / Camps mentioned above only indicate that our rates have been based on usage of these hotels and it is not to be construed that accommodation is confirmed at these hotels until and unless we convey such confirmation to you. In the event of accommodation not becoming available at any of the above mentioned hotels we shall book alternate accommodation at a similar or next best available hotel and shall pass on the difference of rates (supplement/reduction whatever applicable) to you. Our offer is based on usage of base category rooms at the mentioned hotels (unless specified otherwise) and if this category of rooms is not available we shall try to confirm accommodation in next available higher category of rooms and shall advise supplementary cost involved while conveying the status. We shall not be responsible for any change in the itinerary due to landslides, flight cancellations, weather conditions or any unforeseen circumstances. The additional cost incurred will be in addition to the cost

<p><strong>BOOKING POLICY</strong>

<ul>
	<li>50% advance to confirm the booking</li>
	<li>50% balance 30 days before the date of travel</li>
</ul>

<p><strong>CANCELLATION POLICY&nbsp;</strong>

<ul>
	<li>25 % before 60 days from date of commencement of tour</li>
	<li>50 % before 45 days from date of commencement of tour</li>
	<li>75 % before 30 days from date of commencement of tour</li>
	<li>100 % before 15 days from date of commencement of tour</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Package Cost</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Minimum Paying Pax</td>
				<td class="headHr p5px b">Standard</td>
				<td class="headHr p5px b">Deluxe</td>
				<td class="headHr p5px b">Super Dlx</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">10 pax with Tempo Traveler</td>
				<td class="data p5px">Rs. 34,100</td>
				<td class="data p5px">Rs. 38,500</td>
				<td class="data p5px">Rs. 46,200</td>
				<td class="data p5px">Rs. 66,000</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotel Details</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Standard</td>
				<td class="headHr p5px b">Deluxe</td>
				<td class="headHr p5px b">Super Deluxe</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">Srinagar</td>
				<td class="data p5px">Al Hamra / Similar</td>
				<td class="data p5px">Hotel Royal Batoo, Hotel Asian Park ,  Hotel Supreme Hill</td>
				<td class="data p5px">Hotel Pine Spring , Hotel Grand Mumtaz, Hotel New Mumtaz</td>
			</tr>
			<tr>
				<td class="data p5px">Kargil</td>
				<td class="data p5px">Zojila Residency, Hotel Royal Gasho,</td>
				<td class="data p5px">Zojila Residency, Hotel Royal Gasho,</td>
				<td class="data p5px">The Caravan Serai, The Highland Mountain Resort</td>
			</tr>
			<tr>
				<td class="data p5px">Leh</td>
				<td class="data p5px">Sia la, Horpo, Royal Ladakh, Kangla</td>
				<td class="data p5px">Ladakh Imperial, New Antelope, The palace, Hilltown, Rafica, Ladakh Continental, The ladakh, The Himalaya</td>
				<td class="data p5px">Grand Himalaya, Spic n span,  Shangrila</td>
			</tr>
			<tr>
				<td class="data p5px">Hundur (Nubra)</td>
				<td class="data p5px">Chunkas Camp, Summer Camp, Desert oasis</td>
				<td class="data p5px">Chunkas Camp, Summer Camp, Desert oasis</td>
				<td class="data p5px">Chunkas Camp, Summer Camp, Desert oasis</td>
			</tr>
			<tr>
				<td class="data p5px">Pangong</td>
				<td class="data p5px">Red start, Dreamland Wooden Cottage, Wonderland Camp</td>
				<td class="data p5px">Red start, Dreamland Wooden Cottage, Wonderland Camp</td>
				<td class="data p5px">Red start, Dreamland Wooden Cottage, Wonderland Camp</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srinagar – Leh – Srinagar (10 Days) 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="96755"/>
						</form>
						</div>
						
						";i:1;s:84:"Book Srinagar – Leh – Srinagar (10 Days) Tour - 9 Nights / 10 Days Tour Packages";i:2;s:130:"book srinagar – leh – srinagar (10 days) tour - 9 nights / 10 days tour packages, valley tour packages, srinagar tour packages";i:3;s:183:"Book Srinagar – Leh – Srinagar (10 Days) Tour - 9 Nights / 10 Days tour packages from Blue Dolphin Travels - Get attractive 9 Nights / 10 Days Valley  tour packages for  Srinagar.";i:4;s:1697:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar"        
		                 },
		      "description": "Traditional Welcome in the hotel 
Accommodation on twin sharing basis as per the selected category of packages 
BT: Bed Tea, B: Breakfast, D: Dinner 
Kindly Note the vehicles provided are not on disposable basis and are strictly on point to point basis as per the Itinerary selected 
Inner line Permit. 
All airport transfers & sightseeing tours by: 
Budgeted: = NAC Tavera/Qualis, 
Deluxe: = NAC Innova / Scorpio / Xylo 
Super Deluxe: = NAC Innova / Scorpio / Xylo 
Luxury: = 01 NAC Innova 
Wild life fee & Red Cross fee. 
The Ladakh Autonomous Hill Development Council fee (Ladakh entry fee)9 % GST Tax Extra 
Airfare to and from Leh or any other destination 
Monument & Museum Entrance Fees to be paid directly. 
Any kind of personal expenses, extra meals, starters & Drinks (Alcoholic, Mineral, Aerated etc) 
Any kind of optional tours 
Tips, Insurance, Laundry, Phone Calls, Guide Fee & Camera Fee
Services of vehicle on leisure days and after finishing the sightseeing tour 
Adventure activity costs (Pony Ride, Camel Safari, Rafting, paragliding etc) 
Medical & Travel insurance 
Additional Costs due to Flight Cancellations, Road blocks, natural calamities and nature’s fury 
Anything not mentioned under the category “PACKAGE INCLUSIONS”",
		      "name": "Srinagar – Leh – Srinagar (10 Days) Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}