a:6:{i:0;s:13306:"				<div class="h1"><h1>Magical Himachal Tour with Mata Vaishno Devi Yatra Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.majestickullumanali.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.majestickullumanali.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Magical Himachal Tour with Mata Vaishno Devi Yatra 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">HIMP1009</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Manali, Shimla</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.majestickullumanali.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Magical Himachal Tour with Mata Vaishno Devi Yatra 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="21983"/>
						</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_9/269130/40496.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/269130/40496.jpg"  height="150"  width="150"    alt="Magical Himachal Tour with Mata Vaishno Devi Yatra Tour" title="Magical Himachal Tour with Mata Vaishno Devi Yatra Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					10th April 2012 to 14th July 2012,14th Aug 2012 to 19th Aug 2011 and 21st Dec 2012 to 5thJan 2013.<br />
<br />
Off Season:-<br />
5th Jan 2012 to 9th April 2012,15th July 2012 to 13th Aug 2012 and 20th Aug 2012 to 20th Dec 2012Monuments entry fees and camera fees.<br />
Any which is not mentioned in above package cost.<br />
Any Guide fees/entrainment fees<br />
Any Air and train fare<br />
St.3.625% Extra in each tour Packages<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> Delhi to Shimla (385 K.ms 10 Hrs)
								</p>
								<p class="aj">On arrival pick up from Airport or Railway station.Depart for Shimla.On the way visit Pinjore Garden,Timber Trail Heights,On arrival check in hotel.Dinner at hotel.Overnight stay at 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 2:</b> Shimla Kufri and Local Sight Seeing
								</p>
								<p class="aj">After Breakfast Excursion to Kufri.Kufri is famous for its Himalayan National Park, Poney and Yak Ride and One can see the endless Himalayan Panorama from Kufri, after lunch sight seeing of various places in and around.Shimla mosques built in (1830), Vice regal Lodge built in (1885),Christ Church built in (1844),The Gaiety Theatre- the first beauty contest of world was supposed to start (1887),The Scandal Point and The famous Shopping Plaza of the North The Mall,dinner and overnight stay at 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 3:</b> Shimla to Manali (265 K.ms 8 Hrs)
								</p>
								<p class="aj">After breakfast check out hotel depart for Manali.On the way visit Pandho DemHanogi mata Temple and famous Vaishano mata temple.On arrival check in hotel. Dinner at hotel.Overnight stay at 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 4:</b> Manali Local sight seeing
								</p>
								<p class="aj">After breakfast sightseeing of places in and around Manali, Like Hadimba temple, Manu temple, Vashisht Bath, Van Vihar, Tibbetan Monestry, Club House and evening shopping at the local market Mall Road.Dinner at hotel. Overnight stay at 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> Rohtang Pass (100 K.m Round Tour) ( UP TO SNOW POINT )
								</p>
								<p class="aj">Excursion to Rohatang Pass. Situated at an altitude of 3979 mtrs above sea level and 51 kms outside Manali is the mighty Rohtang Pass - the gateway to Lahaul-Spiti valley.It affords a wide panoramic view of the mountains. Here one sees the majesty of the mountains at its height and splendour.At the top of the pass the air seems to glitter against the snow as you look down over herringboned ridges into the Lahaul valley.Dinner at hotel. Overnight stay at 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 to Dharmshala (280 Kms 10 Hrs)
								</p>
								<p class="aj">After breakfast check out hotel.Depart for Dharamshala.On the way visit Kullu Vaishno Devi Temple,Kullu shawal weaving Industry and Palampur tea estate,on arrival check in hotel. After fresh up visit Dal lake.Dinner at Hotel.Overnight stay at 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 7:</b> Dharmshala to Dalhousie (145 Kms 5 Hrs) 
								</p>
								<p class="aj">After breakfast visit Dalali Lamba Temple, Bhagsu nath temple.After lunch check out hotel. Depart for DalhousieOn arrival check in hotel. After fresh up visit Mall Road. Dinner at hotel. Overnight stay at 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 8:</b> Dharmshala to Dalhousie (145 Kms 5 Hrs) 
								</p>
								<p class="aj">After breakfast visit Kalatop,Khajjiar (India`s Mini Switzerland,a beautiful glade with the forest at its fringes.),Chamba (famous for Temples).Dinner at hotel. Overnight stay at Hotel.<br />
</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> Dalhousie to Vaishno Devi (240 Kms 8 Hrs)
								</p>
								<p class="aj">Early morning After breakfast check out hotel.Depart for Vaishno Devi (Katra).On arrival check in Hotel.Dinner at hotel.Overnight stay at Hotel.<br />
</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> Katra - Vaishno Devi (28 Kms Round Trip) 
								</p>
								<p class="aj">Early morning depart for Mata Vaishno Devi Ji Darshan.Evening come back to hotel.Dinner at hotel.Overnight stay at Hotel.</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> Katra (Vaishno Devi) to Chandigarh ( 350 Kms 10 Hrs ) 
									</p>
									<p class="aj">After breakfast check out hotel.On the way visit Jammu Raghu nath Temple,Shopping.Depart for Chandigarh.Chandigarh is the 1st planned modern city of India designed by the French architect Le Corbusier. The city was named after the mother goddess of power Chandi whose temple Chandimandu is a feature of the new city.On arrival check in hotel.Dinner at hotel.Overnight stay at 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 12:</b> Chandigarh to Delhi (250 K.ms 5 Hrs)
									</p>
									<p class="aj">After breakfast check out hotel,visit Rose Garden,Rock Garden,depart for Delhi.On arrival drop at Railway station/Airport for onward destination.</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>
																		<li>Sightseeing</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Monuments entry fees and camera fees.</li><li>
Any which is not mentioned in above package cost.</li><li>
Any Guide fees/entrainment fees</li><li>
Any Air and train fare</li><li>
St.3.625% Extra in each tour Packages</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>25,555/- <br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.majestickullumanali.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Magical Himachal Tour with Mata Vaishno Devi Yatra 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="21983"/>
						</form>
						</div>
						
						";i:1;s:96:"Book Magical Himachal Tour with Mata Vaishno Devi Yatra Tour - 11 Nights / 12 Days Tour Packages";i:2;s:175:"book magical himachal tour with mata vaishno devi yatra tour - 11 nights / 12 days tour packages, religious & pilgrimage tour packages, new delhi, manali, shimla tour packages";i:3;s:213:"Majestic Kullu Manali offers Magical Himachal Tour with Mata Vaishno Devi Yatra Tour - 11 Nights / 12 Days tour package, budget Religious & Pilgrimage tour packages for New Delhi, Manali, Shimla at exciting price.";i:4;s:849:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Manali, Shimla"        
		                 },
		      "description": "10th April 2012 to 14th July 2012,14th Aug 2012 to 19th Aug 2011 and 21st Dec 2012 to 5thJan 2013.

Off Season:-
5th Jan 2012 to 9th April 2012,15th July 2012 to 13th Aug 2012 and 20th Aug 2012 to 20th Dec 2012Monuments entry fees and camera fees.
Any which is not mentioned in above package cost.
Any Guide fees/entrainment fees
Any Air and train fare
St.3.625% Extra in each tour Packages",
		      "name": "Magical Himachal Tour with Mata Vaishno Devi Yatra Tour",
		      "telephone": "+91-9816800144"
		    }
		    </script>
			";i:5;N;}