a:6:{i:0;s:23709:"				<div class="h1"><h1>10Nts / 11Days 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>10Nts / 11Days 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali, 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="10Nts / 11Days 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="96643"/>
						</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/163695.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/163695.jpg"  width="150" height="150"    alt="10Nts / 11Days Tour" title="10Nts / 11Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Assistance on arrival at Leh<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 />
<br />
OTHER CHARGES <br />
Professional Tourist Guide @ INR. 2000 per day<br />
Camel Safari @ INR. 500 per ride<br />
River Rafting in Indus (Phey to Nimo) @ INR. 2200 per person (25th June to 30th August only)<br />
Cultural program @ INR. 8500 per program<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.</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), EnrouteDrass 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. enroute 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 – 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 it’s 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 Tank has.<br />
<br />
<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 />
<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 – 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</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 –Turtuk-  Nubra
								</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.</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> 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 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.</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 9:</b> Leh – Sarchu (07 HRS-260 KMS)
								</p>
								<p class="aj">After Breakfast drive to Sarchu. Before  we reach Sarchu. We’ll pass Taglang La (17,480 ft) surrounded by Scenic Himalayas. The drive up to Sarchu would be Quite Scenic. ries of 21 switchbacks that take you down into the valley .O/N Sarchu.</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 10:</b> Sarchu – Manali (05 HRS – 230 KMS )
								</p>
								<p class="aj">The last day of the tour is the greenest so far, along the Chandra and Bagha rivers. Finally, we cross the scenic Rohtang pass down to the sight of lush green Himalayan mountains and waterfalls that appear out of nowhere. Nature here is at its best. After the descent from the pass, you drive into Manali, a popular hill station in the Himalayas and call it a day at a hotel here, your thirst for adventure undoubtedly sated. O/N Manali.</p>					
									<p><b>Meals : </b> (Breakfast & Dinner)</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> Manali to Destination
									</p>
									<p class="aj">After Breakfast, back to Destination with Sweet Memories of Ladakh.</p>					
										<p><b>Meals : </b> Breakfast</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>
															</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><li>
OTHER CHARGES </li><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><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Above rates are Net &amp; Non-commissionable to you.</li>
	<li>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.</li>
	<li>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.</li>
	<li>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</li>
</ul>

<p><strong>BOOKING POLICY</strong>

<ul>
	<li>50% advance to confirm the booking&nbsp;&nbsp;</li>
	<li>50% balance 30 days before the date of travel</li>
</ul>

<p><strong>CANCELLATION POLICY</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><strong>Terms &amp; Conditions:</strong>

<ul>
	<li>Prices valid from 01st April 2017 to 15th September 2017.</li>
	<li>Prices valid for minimum 02, 04 &amp; 06 pax travelling together in one vehicle.</li>
	<li>Journey can be arranged from Delhi / Chandigarh / Jammu Railway Station or Airport at Nominal Extra charges.</li>
	<li>Hotels / Houseboats Accommodation in Delhi / Chandigarh / Manali / Keylong / Jammu / Srinagar can be arranged on best deals.</li>
	<li>The above rates are applicable strictly for resident Indian citizens only.</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">02 Pax with Innova/Xylo</td>
				<td class="data p5px">Rs. 59,741</td>
				<td class="data p5px">Rs. 62,867</td>
				<td class="data p5px">Rs. 70,295</td>
				<td class="data p5px">Rs. 87,692</td>
			</tr>
			<tr>
				<td class="data p5px">04 Pax with innova/Xylo</td>
				<td class="data p5px">Rs. 39,608</td>
				<td class="data p5px">Rs. 42,732</td>
				<td class="data p5px">Rs. 50,161</td>
				<td class="data p5px">Rs. 67,559</td>
			</tr>
			<tr>
				<td class="data p5px">06 Pax  with Innova/Xylo</td>
				<td class="data p5px">Rs. 32,896</td>
				<td class="data p5px">Rs. 36,021</td>
				<td class="data p5px">Rs. 43,449</td>
				<td class="data p5px">Rs. 60,847</td>
			</tr>
			<tr>
				<td class="data p5px">08 pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 33,064</td>
				<td class="data p5px">Rs. 36,189</td>
				<td class="data p5px">Rs. 43,617</td>
				<td class="data p5px">Rs. 61,014</td>
			</tr>
			<tr>
				<td class="data p5px">10pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 30,345</td>
				<td class="data p5px">Rs. 33,470</td>
				<td class="data p5px">Rs. 40,899</td>
				<td class="data p5px">Rs. 59,346</td>
			</tr>
			<tr>
				<td class="data p5px">12 pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 28,502</td>
				<td class="data p5px">Rs. 31,658</td>
				<td class="data p5px">Rs. 39,087</td>
				<td class="data p5px">Rs. 56,484</td>
			</tr>
		</table></div><br>
    	<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">Place</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">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>
				<td class="data p5px">R k Sarovar portico</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>
				<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>
				<td class="data p5px">Grand Dragon, The Zen</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>
				<td class="data p5px">Desert Himalaya ,Earth home</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>
				<td class="data p5px">Red start, Dreamland Wooden Cottage ,Wonderland Camp</td>
			</tr>
			<tr>
				<td class="data p5px">Sarchu</td>
				<td class="data p5px">Adventure Camp</td>
				<td class="data p5px">Adventure Camp</td>
				<td class="data p5px">Adventure Camp</td>
				<td class="data p5px">Adventure Camp</td>
			</tr>
			<tr>
				<td class="data p5px">Manali</td>
				<td class="data p5px">A Star Regency</td>
				<td class="data p5px">Byke Neelkanth / Daffodil Hotel / Vivaan Resort</td>
				<td class="data p5px">Manali Heights , De Vivendi  resort</td>
				<td class="data p5px">River Country, Manu Allaya Resort</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="10Nts / 11Days 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="96643"/>
						</form>
						</div>
						
						";i:1;s:49:"Book 10Nts / 11Days Tour - 111 Days Tour Packages";i:2;s:123:"book 10nts / 11days tour - 111 days tour packages, valley tour packages, manali, srinagar, leh ladakh, kargil tour packages";i:3;s:166:"Book 10Nts / 11Days Tour - 111 Days tour packages from Blue Dolphin Travels - Get attractive 111 Days Valley  tour packages for  Manali, Srinagar, Leh Ladakh, Kargil.";i:4;s:1952:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Srinagar, Leh Ladakh, Kargil"        
		                 },
		      "description": "Assistance on arrival at Leh
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”

OTHER CHARGES 
Professional Tourist Guide @ INR. 2000 per day
Camel Safari @ INR. 500 per ride
River Rafting in Indus (Phey to Nimo) @ INR. 2200 per person (25th June to 30th August only)
Cultural program @ INR. 8500 per program",
		      "name": "10Nts / 11Days Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}