a:6:{i:0;s:13355:"				<div class="h1"><h1>Shimla- Manali Package- 5 Nights/ 6 Days</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.thedrift9.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.thedrift9.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Shimla- Manali Package- 5 Nights/ 6 Days</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">027</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali, Shimla</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 16200 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thedrift9.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Shimla- Manali Package- 5 Nights/ 6 Days - 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="109952"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_17/498710/181499.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/498710/181499.jpg"  width="150" height="150"    alt="Shimla- Manali Package- 5 Nights/ 6 Days" title="Shimla- Manali Package- 5 Nights/ 6 Days" /></a></p></div></li>
																		<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_17/498710/316401.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/498710/316401.jpg"  width="150" height="97"    alt="Shimla- Manali Package- 5 Nights/ 6 Days" title="Shimla- Manali Package- 5 Nights/ 6 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Shimla is the capital of the state of Himachal Pradesh in India. It is a very popular holiday-retreat during the summer months and is well-known for its Victorian architecture, which is reflected in certain areas of the Mall and The Ridge. <br />
<br />
Here are the tourist attractions to see in Shimla:<br />
The Ridge, Jakhoo Hill, Mall Road, Kalka–Shimla Railway, Christ Church, Indian Institute Of Advanced Study, Summer Hill and Kufri.<br />
<br />
Manali is famous for adventure sports like Skiing, Hiking, Mountaineering, Paragliding, White River Rafting, Trekking, Kayaking, and Mountain Biking.<br />
<br />
Here are the tourist attractions to see in Manali:<br />
Solang Valley, Rohtang Pass, Old Manali, Adventure Activities in Manali, Skiing in Manali, Hidimba Temple, Vashisht Baths and Paragliding in Manali.<br />
<br />
Manali is also a famous holiday destinatio for honeymooners.<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> Day 1: Delhi to Shimla by Etios/ Dezire:
								</p>
								<p class="aj">Our Cab Driver will come there to pick you up at Delhi Airport/ Railway Station for onward journey to Shimla. Once you reach Shimla Hotel pls do checkin formalities, have dinner and relax overnight.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/498710/316401.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/498710/316401.jpg"  width="150" height="97"    alt="Shimla- Manali Package- 5 Nights/ 6 Days" title="Shimla- Manali Package- 5 Nights/ 6 Days" /></a></p></div></li>
									</ul>
									</div>
									</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> Shimla Full Day Local Sightseeing
								</p>
								<p class="aj">This morning after breakfast pls proceed for Shimla Local Sightseeing. Evening time come back, have dinner and relax overnight in the Hotel.<br />
<br />
Jakhoo Temple: It is an ancient temple in Shimla, dedicated to Hindu Deity, Hanuman. It is situated at the height of 2,455 Mtrs. on Jakhoo Hill, which is around 2.5 Kms. east from the Ridge, Shimla. <br />
The Ridge: It is a large open space, located in the heart of Shimla, the capital city of Himachal Pradesh, India. The Ridge is the hub of all cultural activities of Shimla. <br />
The Rashtrapati Niwas: Also known as Vice Regal Lodge, is located on the Observatory Hills of Shimla, Himachal Pradesh, India. Formerly, it was the residence of the British Viceroy of India. <br />
Christ Church: It is the second oldest church in North India, after St John's Church in Meerut. It is a parish in the Diocese of Amritsar in the Church of North India. <br />
Mall Road: It is main street in Shimla, constructed during British Colonial Rule, the Mall Road is located a level below the ridge. Attractions Nearby Mall Road is Scandal Point, Gaiety Theater, Kali Bari Temple, Town Hall, etc. <br />
Hasan Valley: One of the most amazing places in Shimla and Husain Valley is also known as the second densest forest in Asia. Most of the people visiting Shimla must have seen a glimpse of this forest on their way to Kufri. <br />
Kufri: The highest point in the surrounding region, Kufri has a Himalayan Wild Life Zoo, which hosts rare antelopes, felines and birds including the Himalayan Monal the state bird of Himachal Pradesh. During winter, Snow will be the main attraction.</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> Shimla- Kullu- Manali
								</p>
								<p class="aj">This morning after breakfast please do checkout and proceed for Manali. Once you reach Manali, please do check in formalities, have dinner and relax overnight in the Hotel.<br />
<br />
Manali: It is famous for adventure sports like Skiing, Hiking, Mountaineering, Paragliding, White River Rafting, Trekking, Kayaking, and Mountain Biking.</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> Solang Valley
								</p>
								<p class="aj">Today after breakfast proceed to Solang Vally Sightseeing. Giant slopes of lawn comprise Solang Valley and provide its reputation as a popular Ski Resort. A few ski agencies offering courses and equipment reside here and operate only during winters. Snow melts during the summer months starting May and skiing is then replaced by zorbing . One can enjoy Horse Riding, Quad Biking, Timber Trail, Bungee Jumping, etc. Once you come back, go to Mall Road and then to Hotel, have dinner and relax overnight in the Hotel.</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 Local Sightseeing
								</p>
								<p class="aj">Today after breakfast proceed for Naggar castle and Manali Full Day Local Sightseeing like:<br />
<br />
Hadimba Devi Temple: This temple was built somewhere back in 1553, built around a nature cave which enshrines the footprints of the Goddess Hadimba. Hadimba Devi Temple is a wooden temple and is the located in middle of Van Vihar. <br />
Van Vihar National Park: It is one of the most frequented attractions in Manali. Located near to Mall Road, this park is populated with many deodar trees that provide shade to the whole area. For the convenience of visitors, the park is provided with concrete as well as wooden benches. It is an ideal place for enjoying picnics and spending moments of repose with your loved ones. <br />
Club House: It is located in the center of the city near the Mall road. It offers comprehensive facilities that include a roller skating rink, an auditorium, billiards rooms, a library, a bar, and a restaurant. The place is one of the most favorite attractions in Manali for kids, who can play video games, enjoy Go carting, etc. <br />
Tibetan Monastery: It is surrounded by several small shops selling beautiful handicrafts and carpets, made by Tibetan people living nearby these monasteries. The Tibetan Monasteries also run a Thanks School of Arts and a Carpet-weaving Center to preserve ancient Tibetan Art. The paintings inside these buildings depict events from Lord Buddha's life and the Kalchakra, i.e., the wheel of life fixed on the wall of the monastery shows the human life cycle. The Buddhists believe that rotating these wheels gives you salvation. Once you come back, have dinner and relax overnight in the Hotel.</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-Delhi by Etios/ Dezire
								</p>
								<p class="aj">This morning after breakfast please do checkout and our Cab Driver will take you back to Delhi by Etios/ Dezire.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																		<li>3 Star Hotel</li>
																		<li>4 Star Hotel</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Heater Charges and Non- Veg. Meals.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 20% Advance Percentage of total booking amount~^#^~* Refund will be made within 15 working days from the date of receipt of the cancellation.~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thedrift9.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Shimla- Manali Package- 5 Nights/ 6 Days - 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="109952"/>
						</form>
						</div>
						
						";i:1;s:79:"Book Shimla- Manali Package- 5 Nights/ 6 Days - 5 Nights / 6 Days Tour Packages";i:2;s:137:"book shimla- manali package- 5 nights/ 6 days - 5 nights / 6 days tour packages, hill station tour packages, manali, shimla tour packages";i:3;s:178:"The Drift 9- Travel Zone offers Shimla- Manali Package- 5 Nights/ 6 Days - 5 Nights / 6 Days tour package, budget Hill Station tour packages for Manali, Shimla at exciting price.";i:4;s:1274:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Shimla"        
		                 },
		      "description": "Shimla is the capital of the state of Himachal Pradesh in India. It is a very popular holiday-retreat during the summer months and is well-known for its Victorian architecture, which is reflected in certain areas of the Mall and The Ridge. 

Here are the tourist attractions to see in Shimla:
The Ridge, Jakhoo Hill, Mall Road, Kalka–Shimla Railway, Christ Church, Indian Institute Of Advanced Study, Summer Hill and Kufri.

Manali is famous for adventure sports like Skiing, Hiking, Mountaineering, Paragliding, White River Rafting, Trekking, Kayaking, and Mountain Biking.

Here are the tourist attractions to see in Manali:
Solang Valley, Rohtang Pass, Old Manali, Adventure Activities in Manali, Skiing in Manali, Hidimba Temple, Vashisht Baths and Paragliding in Manali.

Manali is also a famous holiday destinatio for honeymooners.",
		      "name": "Shimla- Manali Package- 5 Nights/ 6 Days",
		      "telephone": "91-7807859009"
		    }
		    </script>
			";i:5;N;}