a:6:{i:0;s:14112:"				<div class="h1"><h1>08Nts / 09Days Tour Package</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>08Nts / 09Days Tour Package</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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar, Leh Ladakh, Kargil</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="08Nts / 09Days Tour Package - 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="96355"/>
						</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/163636.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/163636.jpg"  width="150" height="150"    alt="08Nts / 09Days Tour Package" title="08Nts / 09Days Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Srinagar airport pick up O/N Srinagar
								</p>
								<p class="aj">Arrival Srinagar. Transfer to the hotel. Rest of the day free at liesure. Enjoy shikara ride in the evening. O/N in Srinagar (D)</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 (B &D) </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 – 213Kms)
								</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. <br />
enroute visit Alchi, Likir Monastery, Magnetic Hill, Pathar Sahib Gurudwara. Lunch at Hotel in Leh.Evening free time at Leisure.O/N Leh (B &D) </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 – Hemis- 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 after Hot Lunch at hotel visit Hall of Fame and enjoy an evening sunset at Shanti Stupa.<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 its kind in the world. <br />
<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 colourful Tankhas.<br />
<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 (B & D)</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 – 160 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). Enrouteget excellent view of great Karakoram Range. Keep driving through Syok River and reach Hundur by Afternoon. After Lunch visit sand dunes for camel safari. O/N Hundur (B &D) </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 –Turtuk -  Nubra (05 HRS ONE WAY-165 KMS)
								</p>
								<p class="aj">Today get ready to Explore the unexplored, After Breakfast we’ll Drive towards turtuk. Turtuk was under Pakistan's control until 1971, after which India gained control of this strategic area. On the way we’ll view Beautiful Valley, part of the Shyok Valley. Turtuk is the last village before the Line Of Control. After Exploring Turking we’ll ride back towards our Nubra Later on we Drive the sand dunes of Nubra into Hunder and also enjoy thedoublehumpBactrian camel safari into the dunes.O/N Hundur.(B &D) </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 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 . (B &D) </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 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 (B & D)</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 – Back to Destination
								</p>
								<p class="aj">Early morning transfer to airport and fly back to Destination with Sweet Memories of Ladakh. (BT)</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">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. ~^#^~						
    	<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 Deluxe</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">02 Pax with Innova / Xylo</td>
				<td class="data p5px">Rs. 42,784</td>
				<td class="data p5px">Rs. 45,646</td>
				<td class="data p5px">Rs. 52,676</td>
				<td class="data p5px">Rs. 68,162</td>
			</tr>
			<tr>
				<td class="data p5px">04 Pax with Innova / Xylo</td>
				<td class="data p5px">Rs. 29,423</td>
				<td class="data p5px">Rs. 32,285</td>
				<td class="data p5px">Rs. 39,315</td>
				<td class="data p5px">Rs. 54,801</td>
			</tr>
			<tr>
				<td class="data p5px">06 Pax with Innova / Xylo</td>
				<td class="data p5px">Rs. 24,968</td>
				<td class="data p5px">Rs. 27,831</td>
				<td class="data p5px">Rs. 34,860</td>
				<td class="data p5px">Rs. 50,347</td>
			</tr>
			<tr>
				<td class="data p5px">08 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 25,080</td>
				<td class="data p5px">Rs. 29,150</td>
				<td class="data p5px">Rs. 34,972</td>
				<td class="data p5px">Rs. 50,458</td>
			</tr>
			<tr>
				<td class="data p5px">10 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 23,276</td>
				<td class="data p5px">Rs. 26,138</td>
				<td class="data p5px">Rs. 33,168</td>
				<td class="data p5px">Rs. 48,654</td>
			</tr>
			<tr>
				<td class="data p5px">12 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 22,074</td>
				<td class="data p5px">Rs. 24,936</td>
				<td class="data p5px">Rs. 31,966</td>
				<td class="data p5px">Rs. 47,452</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="08Nts / 09Days Tour Package - 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="96355"/>
						</form>
						</div>
						
						";i:1;s:66:"Book 08Nts / 09Days Tour Package - 8 Nights / 9 Days Tour Packages";i:2;s:132:"book 08nts / 09days tour package - 8 nights / 9 days tour packages, valley tour packages, srinagar, leh ladakh, kargil tour packages";i:3;s:184:"Book 08Nts / 09Days Tour Package - 8 Nights / 9 Days tour packages from Blue Dolphin Travels - Get attractive 8 Nights / 9 Days Valley  tour packages for  Srinagar, Leh Ladakh, Kargil.";i:4;s:427:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Leh Ladakh, Kargil"        
		                 },
		      "description": "",
		      "name": "08Nts / 09Days Tour Package",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}