a:6:{i:0;s:22172:"				<div class="h1"><h1>(LHM/LL- 12) 09Nts / 10Days 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- 12) 09Nts / 10Days 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">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- 12) 09Nts / 10Days 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="96658"/>
						</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/163715.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/163715.jpg"  width="150" height="150"    alt="(LHM/LL- 12) 09Nts / 10Days Tour" title="(LHM/LL- 12) 09Nts / 10Days 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 />
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 />
<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>
								</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 To Turtuk
								</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 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>					
									<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> 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>
												</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>~^#^~~^#^~<p><strong>OTHER CHARGES</strong>

<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>

<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</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>						
		<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. 58,880</td>
				<td class="data p5px">Rs. 62,026</td>
				<td class="data p5px">Rs. 69056</td>
				<td class="data p5px">Rs.84,542</td>
			</tr>
			<tr>
				<td class="data p5px">04 Pax with Innova / Xylo</td>
				<td class="data p5px">Rs. 38,374</td>
				<td class="data p5px">Rs. 41,236</td>
				<td class="data p5px">Rs. 48,266</td>
				<td class="data p5px">Rs. 63,784</td>
			</tr>
			<tr>
				<td class="data p5px">06 Pax  with Innova / Xylo</td>
				<td class="data p5px">Rs. 31,444</td>
				<td class="data p5px">Rs. 34,307</td>
				<td class="data p5px">Rs. 41,336</td>
				<td class="data p5px">Rs. 56,822</td>
			</tr>
			<tr>
				<td class="data p5px">08 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 31,617</td>
				<td class="data p5px">Rs. 34,479</td>
				<td class="data p5px">Rs. 41,509</td>
				<td class="data p5px">Rs. 57,564</td>
			</tr>
			<tr>
				<td class="data p5px">10 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 28,810</td>
				<td class="data p5px">Rs. 31,673</td>
				<td class="data p5px">Rs. 38,702</td>
				<td class="data p5px">Rs. 54,189</td>
			</tr>
			<tr>
				<td class="data p5px">12 Pax with Tempo Traveller</td>
				<td class="data p5px">Rs. 26,939</td>
				<td class="data p5px">Rs. 29,802</td>
				<td class="data p5px">Rs. 36,831</td>
				<td class="data p5px">Rs. 52,318</td>
			</tr>
		</table></div><br>
		<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>
		</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- 12) 09Nts / 10Days 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="96658"/>
						</form>
						</div>
						
						";i:1;s:72:"Book (LHM/LL- 12) 09Nts / 10Days Tour - 9 Nights / 10 Days Tour Packages";i:2;s:134:"book (lhm/ll- 12) 09nts / 10days tour - 9 nights / 10 days tour packages, valley tour packages, manali, srinagar, kargil tour packages";i:3;s:187:"Book (LHM/LL- 12) 09Nts / 10Days Tour - 9 Nights / 10 Days tour packages from Blue Dolphin Travels - Get attractive 9 Nights / 10 Days Valley  tour packages for  Manali, Srinagar, Kargil.";i:4;s:1711:"
			<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- 12) 09Nts / 10Days Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}