a:6:{i:0;s:21818:"				<div class="h1"><h1>(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar 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>(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali, Srinagar, 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="(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar 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="96656"/>
						</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/176135.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/176135.jpg"  width="150" height="150"    alt="(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar Tour" title="(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar 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 />						<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 – Keylong – Jispa- Sarchu (05 HRS – 230 KMS)
								</p>
								<p class="aj">Start your overland journey early morning and drive to Keylong. This high altitude road beyond the great Himalayan range, connects the densely fertile and green Kullu valley to the stark barren region of Ladakh. The drive starts at Manali slowly winding up mountain roads till Rohtang Pass at 3,950M which connects the Kullu to the Lahaul valley. On entering the Lahaul valley we see a distinct change with the Hindu influence being replaced with the Buddhist religion. lunch at Keylong post lunch drive to Sarchu by crossing Baralacha Pass (16020 ft) a beautiful drive on high altitude to be remembered for life time.. O/N Sarchu.</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> Sarchu - Leh (11 Hrs – 330 Kms)
								</p>
								<p class="aj">After early breakfast leave for Leh, After Sarchu we will cross a number of passes. Climb up the Gatta Loops, a series of 21 hairpin bends carved into the mountainside and then after descending once again wind your way up the Lachung La pass (4985M above sea level). pass through Skyangchu Thang (Biggest and Highest Plateau on Earth on Stretch of 42 Kms), Tanglang La Pass 17,585ft, second highest motorable road in the world, after climbing down drive along the banks of Indus river & Indus Valley. Arrive at Leh by evening. 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 3:</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, ThikseyMonastery ,visit Hall of Fame and enjoy an evening sunset at Shanti Stupa. O/N Leh.. <br />
<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 colorfulTankhas.<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 />
<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<br />
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 4:</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.</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> 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 at 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 6:</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 7:</b> Leh – Kargil (6HRS – 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>					
									<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> Kargil - Drass - Sonamarg – Srinagar (8 Hrs – 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 9:</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>
												</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&nbsp;</strong>

<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:&nbsp;</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. 55,646</td>
				<td class="data p5px">Rs. 58,103</td>
				<td class="data p5px">Rs. 65,138</td>
				<td class="data p5px">Rs.78,631</td>
			</tr>
			<tr>
				<td class="data p5px">04 Pax with Innova/ xylo</td>
				<td class="data p5px">Rs. 36,038</td>
				<td class="data p5px">Rs. 38,495</td>
				<td class="data p5px">Rs. 45,530</td>
				<td class="data p5px">Rs. 59,001</td>
			</tr>
			<tr>
				<td class="data p5px">06 Pax  with Innova/ xylo</td>
				<td class="data p5px">Rs. 39,501</td>
				<td class="data p5px">Rs. 31,958</td>
				<td class="data p5px">Rs. 38,993</td>
				<td class="data p5px">Rs. 52,465</td>
			</tr>
			<tr>
				<td class="data p5px">08 pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 29,664</td>
				<td class="data p5px">Rs. 32,121</td>
				<td class="data p5px">Rs.39,156</td>
				<td class="data p5px">Rs. 52,628</td>
			</tr>
			<tr>
				<td class="data p5px">10 pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 27,017</td>
				<td class="data p5px">Rs. 29,474</td>
				<td class="data p5px">Rs. 36,509</td>
				<td class="data p5px">Rs. 49,980</td>
			</tr>
			<tr>
				<td class="data p5px">12 pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 20,213</td>
				<td class="data p5px">Rs. 27,709</td>
				<td class="data p5px">Rs. 34,744</td>
				<td class="data p5px">Rs. 48,215</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">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</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</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="(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar 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="96656"/>
						</form>
						</div>
						
						";i:1;s:133:"Book (LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar Tour - 8 Nights / 9 Days Tour Packages";i:2;s:195:"book (lhm/ll- 11) 08nts / 09days manali - sarchu - pangong - nubra - alchi - kargil - srinagar tour - 8 nights / 9 days tour packages, valley tour packages, manali, srinagar, kargil tour packages";i:3;s:247:"Book (LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar Tour - 8 Nights / 9 Days tour packages from Blue Dolphin Travels - Get attractive 8 Nights / 9 Days Valley  tour packages for  Manali, Srinagar, Kargil.";i:4;s:1781:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Srinagar, 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”",
		      "name": "(LHM/LL- 11) 08Nts / 09Days Manali - Sarchu - Pangong - Nubra - Alchi - Kargil - Srinagar Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}