a:6:{i:0;s:14736:"				<div class="h1"><h1>Himalayan Privilage 9 Night/10 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.chaturveditravels.com/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Himalayan Privilage 9 Night/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">Tour Code </td>
						<td class="p5px pl0px vat">CTT20/HIMACHAL PACKA</td>
						</tr>
												<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">New Delhi, Chandigarh, Manali, Shimla</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 33899 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.chaturveditravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himalayan Privilage 9 Night/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="27791"/>
						</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_8/229281/56064.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/229281/56064.jpg"  width="150" height="150"    alt="himalayan privilage" title="himalayan privilage" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.<br />
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.<br />
Major Meals i.e. Lunch & Dinner at Delhi /Chandigarh<br />
Guide / Entry fees, Boatings, Elephant riding / Horse ridings etc. During sight seeings<br />
Any Medical /rescue evacuation due to mishaps.<br />
Optional Activities mentioned in the itinerary<br />
Any other things that is not included in the “Package Cost Includes” Column.<b><b>Note:<br />
Any changes in Govt. taxes, Hotel Tariff, etc will be intimated before confirming the Package.<br />
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.<br />
Government Service tax @ 3.09 Extra<br />
Every passenger is traveling on his own responsibility. The company will not be responsible for any loss of luggage or any accidents. We are not responsible for theft or damage to your luggage.<br />
Also note that Video & Audio systems are prohibited in commercial vehicles as per law and we do not guarantee for it always.<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> Arrival Delhi
								</p>
								<p class="aj">Arrive Delhi Airport/railway station and transfer to hotel. Later visit to half day sightseeing tour of Delhi covering Laxmi Narayan Temple, Qutab Minar, India Gate, President house.later back to hotel,free for leisure ,overnight stay at hotel in Delhi</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> Delhi-Manali(580kms-14hrs)
								</p>
								<p class="aj">After early breakfast ,drive to Manali<br />
Manali : at the northern end of the Kullu Valley in Himachal Pradesh, is a hill station situated at a height of 2050 m (6398 ft) in the Himalayas. Situated on the Beas river (Vyaas in Hindi) and near its source, it is a popular tourist spot for Indians in summer and a magical, snow-covered place in winter. A staging point for a number of treks (Beas Kund, Chandrakhani Pass) and sports such as white-water rafting, Manali is also on the road to Ladakh via the valley of Lahaul and Spiti and rohtang pass which is main attraction near manali.<br />
Arrive at Manali and check in the hotel,Rest of the day is at leisure to visit the local markets overnight stay at hotel at Manali.</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> Manali
								</p>
								<p class="aj">After breakfast visit to city tour. Visiting Hadimba temple, the 450 years old Hidimbadevi Temple, the oldest temple in Manali, Vashisht Temple, Manu temple and picturesque Naggar Valley.Evening you can enjoy at mall road,later back to hotel.free for leisure.overnight stay at hotel at Manali.</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> Manali-Rohtang Pass (Snow Point)
								</p>
								<p class="aj">After early breakfast visit to excursion visiting Kothi Gorge, Gulaba, Marhi, Rohtang Pass (Upto Snow Line in case Rohtang is closed due to snow fall) Carry warm clothes like hand gloves, muffler, sweater, shawl, socks & sports shoes etc. Enroute overcoats and shoes are available on hire. Please note that Rohtang Pass (altitude 3940 mts.) is actually 51 kms. far from Manali, due to heavy snow covering the road, this pass is not accessible during heavy snow fall for Snow Point Later back to hotel.evening free for leisure ,overnight stay at hotel at Manali.</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> Manali
								</p>
								<p class="aj">After breakfast, visit to Solang Valley ( Also Known As Shooting Point ) which offers fine views of glaciers and snow, capped peaks.. Rest of the day is free for independent activities. Or Enjoy Paragliding, Tracking, or simply shopping. later back to hotel.Overnight stay at hotel at Manali.</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> Manali-Shimla(280kms-8hrs)
								</p>
								<p class="aj">After breakfast check out from hotel ,drive to Shimla<br />
Shimla:former summer capital of British India & now a capital of Himachal Pradesh, set amidst the snow capped shivalik mountain ranges offering some stunning views of the mighty Himalayas ,it is surrounded by pine deodar, oak and rhododendron forests. Towards the north lie the snow-covered high-ranges, while the valleys breathe whispering streams and swaying fields. Shimla offers a variety of shopping, sport and entertainment activities.<br />
Arrive Shimla Check in to the Hotel.Rest of the day is at leisure, evening enjoy at mall road.Later back to hotel.overnight saty at hotel in Shimla.</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> Shimla
								</p>
								<p class="aj">After breakfast visit to city tour of Shimla covering Indira Gandhi Holiday Home and enjoy horse riding in the Apple Orchids. Evening is free to explore various scenic sights or visit Mall Road and shopping. Later back to hotel.overnight stay at hotel at Shimla.</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> Shimla
								</p>
								<p class="aj">After breakfast visit to Shimla covering Kalbadevi Temple, Jakhu Temple, Hanuman Temple or stop for a while at the beautiful stained - glass - windows of Christ Church, which was built in the 1850 ‘s.Later visit Kufri a 30 Minutes drive from Shimla, an exotica of nature as a place surrounded by dense forest and snow caped mountains amidst virgin peaks and natures flora and fauna where one can completely relax and tune oneself for natural beauty, evening free to enjoy the scenic beauty of Kufri,Fagu. Rest of the day is free to explore various scenic sights or visit mall road and shopping. Later back to hotel.Overnight stay athotel at Shimla.</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> Shimla-Chandigarh (135kms-4hrs)
								</p>
								<p class="aj">After breakfast check out from hotel then drive toChandigarh .<br />
chandigarh: Picturesquely located at the foothills of Shivaliks, the Union territory of Chandigarh serves as the capital of Punjab and Haryana. The city derives its name from the temple of ""Chandi Mandir"" located in the vicinity of the site selected for the city. The deity 'Chandi', the goddess of power and a fort 'garh' beyond the temple gave the city its name ""Chandigarh-The City Beautiful"".Known internationally for its architecture and urban planning, <br />
Arrive at Chandigarh,check in to hotel, take rest ,Afternoon Visit Rock Garden, Rose Garden And Sukhna Lake.Later back to hotel.free for leisure. overnight stay at hotel at Chandigarh.</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> Chandigarh-Delhi(240kms. 6-7 hrs).
								</p>
								<p class="aj">After breakfast check out from hotel ,visit to Pinjore Garden. Later drive to Delhi Arrive Delhi and transfer to Airport/ Railway Station for onward destination.</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>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.</li><li>
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.</li><li>
Major Meals i.e. Lunch & Dinner at Delhi /Chandigarh</li><li>
Guide / Entry fees, Boatings, Elephant riding / Horse ridings etc. During sight seeings</li><li>
Any Medical /rescue evacuation due to mishaps.</li><li>
Optional Activities mentioned in the itinerary</li><li>
Any other things that is not included in the “Package Cost Includes” Column.Note:</li><li>
Any changes in Govt. taxes, Hotel Tariff, etc will be intimated before confirming the Package.</li><li>
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.</li><li>
Government Service tax @ 3.09 Extra</li><li>
Every passenger is traveling on his own responsibility. The company will not be responsible for any loss of luggage or any accidents. We are not responsible for theft or damage to your luggage.</li><li>
Also note that Video & Audio systems are prohibited in commercial vehicles as per law and we do not guarantee for it always.</li></ul><br />
												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.chaturveditravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himalayan Privilage 9 Night/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="27791"/>
						</form>
						</div>
						
						";i:1;s:80:"Book Himalayan Privilage 9 Night/10 Days Tour - 9 Nights / 10 Days Tour Packages";i:2;s:155:"book himalayan privilage 9 night/10 days tour - 9 nights / 10 days tour packages, valley tour packages, new delhi, chandigarh, manali, shimla tour packages";i:3;s:200:"Chaturvedi Travels and Tours offers Himalayan Privilage 9 Night/10 Days Tour - 9 Nights / 10 Days tour package, budget Valley tour packages for New Delhi, Chandigarh, Manali, Shimla at exciting price.";i:4;s:1584:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Chandigarh, Manali, Shimla"        
		                 },
		      "description": "Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.
Major Meals i.e. Lunch & Dinner at Delhi /Chandigarh
Guide / Entry fees, Boatings, Elephant riding / Horse ridings etc. During sight seeings
Any Medical /rescue evacuation due to mishaps.
Optional Activities mentioned in the itinerary
Any other things that is not included in the “Package Cost Includes” Column.<b><b>Note:
Any changes in Govt. taxes, Hotel Tariff, etc will be intimated before confirming the Package.
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.
Government Service tax @ 3.09 Extra
Every passenger is traveling on his own responsibility. The company will not be responsible for any loss of luggage or any accidents. We are not responsible for theft or damage to your luggage.
Also note that Video & Audio systems are prohibited in commercial vehicles as per law and we do not guarantee for it always.",
		      "name": "Himalayan Privilage 9 Night/10 Days Tour",
		      "telephone": "+91-9826355115"
		    }
		    </script>
			";i:5;N;}