a:6:{i:0;s:11918:"				<div class="h1"><h1>Manali Honeymoon Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelbhai.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelbhai.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Manali Honeymoon 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi</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.travelbhai.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali Honeymoon 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="50179"/>
						</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_14/397474/97994.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397474/97994.jpg"  width="150" height="150"    alt="Manali Honeymoon Tour" title="Manali Honeymoon Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<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 - Manali(570 Kms/15-16 Hrs) 
								</p>
								<p class="aj">At 5: 00 pm report at Delhi Volvo picks up point (on your own) to Depart for Manali. Overnight Journey by Volvo.<br />
<br />
Volvo Facilities: A/C Semi Sleeper ,LCD T.V , Push Back seats, Thigh Rests, Water Bottles, Blankets.</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> Arrival In Manali & Local City Tour (3- 4Hrs) 
								</p>
								<p class="aj">Reach Manali at 6 - 7 am , Meet our representative at Manali Volvo Stand and transfer to the hotel. After fresh up, proceed to half day city tour of Manali which includes-<br />
1. Hadimba Devi Temple.-Manali has many attractions but the chief central of interest, historically and archaeologically, is undoubtedly the dungri temple dedicated to the goddess Hadimba , the Wife of Bheema of Mahabharata Fame, This is wooden temple, In the dense forest of magnificent deodar, is about 2.5 Kms from the Mall. It is a pleasant stroll to the temple which was built in 1553 A.D.<br />
2. Vashisht(3.5 kms from Mall) Hot Sulphur Water springs - Renowned for its hot water and temples. The springs of Vashisht are believed to possess medicinal properties. The waters of the hot brooks are believed to heal skin diseases. Nearby is the pyramidal stone temple dedicated to vashisht Muni & lord Rama temple is also there.<br />
3. Tibetan-Monastery (0.5 Kms) - This Gadhan Thekchoking Gompa dominates the Tibetan area around the bottom of the Mall in Manali. The Tibetan refugees built the Gompa in the late 1969. The main attraction of the monastery is the handicrafts of Tibetan artistry and the carpets that are woven and sold in the monastery<br />
4. Club House (2 Kms from Mall) - Located on the left bank of Manalsu Nallah . . Club house is famous for a amusement activities like skating, Disco Theque etc. Club house is surrounded by various picnic spots.<br />
Later in the evening free to explore the Shopping Malls (Mall Road & IBEX Market) of Manali. Dinner & Overnight.</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> Rohtang Pass Upto Snow Line (2-3 Hrs With Smooth And Traffic Free Roads) 
								</p>
								<p class="aj">Rohtang Pass 51 kms (Altitude 3979 m) Full Day Sightseeing - is the highest point, situated on the highway to Keylong/Leh & considered as the gateway to Lahaul Spiti . The Tour covers some of the most attractive spots, panorama activities and spectacular sight of glaciers . On the way to rohtang pass cover Nehru kund, Palchang, Kothi, Gulaba, Rahla Water Falls, Marhi, Rani Nala .<br />
<br />
Nehru kund: 5 kms. On National Highway to Leh,a natural spring of cold clear water named after Pt. Jawahar Lal Nehru, who used to drink water from this spring during his stay in Manali. This spring is believed to originate from the Bhrigu lake situated high-up in the mountains.<br />
Kothi: It is a pretty little village, 12 km from Manali on the Keylong road. There are very fine views from Kothi, and the Beas river flows through a very deep and narrow gorge at this point.<br />
Gulaba Camp: 20 km from Manali, is this beautiful place famous for sightseeing, picnic and photography.<br />
Rahala water falls: 30 kms. on way to Rohtang pass. If one goes to Marhi on foot from Kothi from the old road, the sight of the falls is fascinating. It is a good picnic spot as well.<br />
Marhi: 35 kms. On way to Rohtang pass, picturesque point on the way to the Rohtang passes.<br />
Rani Nala: 46 km from Manali. It is the glacier point where snow is available throughout the year.<br />
Afternoon at 4 - 5 pm return to Manali. Dinner & Overnight stay at hotel.<br />
<br />
Note: The Rohtang sightseeing will be done upto snow Line only. In case the customers prefer sightseeing after Snow Line , extra Cab be hired on sharing basis on your own expense and risk)</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 - Nagger Castle,Manali 
								</p>
								<p class="aj">Today morning after breakfast at 10 am drive to Nagger and Roerich Art Gallery Afternoon at 4 pm return to Manali and visit Van Vihar. Dinner and overnight stay at Hotel.<br />
Naggar Castle - offers Picturesque and delightful view of Whole Naggar City which is worth to watch. It was once the residence of Raja of kullu which is now converted in Hotel run by HPTDC. Most of Bollywood Movies are shot over here just due to its overwhelming sceneries.<br />
<br />
Roerich Art Gallery: It perfectly displays the art of famous Russian Painter Nikolai Konstantinovich Reorikh. . This place promises to enchant the visitors with their majestic beauty, enthrilling view and serenity surrounding it.</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 - Manikaran (Full Day Sightseeing) Enroute Cover Kullu 
								</p>
								<p class="aj">Manikaran 85 Kms (Altitude of 1760 Meters): Is famous for its Hot springs. Thousands of people take their holy dip in its hot water. The Water is so hot that Dal, Rice, etc. can be boiled in it. It’s also a well known pilgrimage place both for Hindus & Sikhs. According to a cold legend Manikaran is connected with Lord Shiva. On arrival take a bath in Natural Hot Springs of Sulphur and then visit old Ram Temple and Gurudwara..<br />
Kullu (40 Kms): Famous for White water River Rafting & exquisitely woven colorful shawls and kullu caps. Visiting kullu is the best way to escape the heat & dust of the plains to breathe the exhilarating air of the Himalaya and enjoy the spectacle of the variegated mountain scenery.<br />
Later at 5 pm return to Manali. 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 6:</b> Departure From Manali 
								</p>
								<p class="aj">Today morning after breakfast, check out from the hotel at 11:30 am and enjoy Piccadilly Cinema (12:00 AM to 3:00 PM)/ Van Vihar . In afternoon at 4:30pm proceed back to Delhi by Volvo and reach Delhi next morning between 6 -7 am for your onwards journey.</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>
															</ul>
						<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.travelbhai.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali Honeymoon 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="50179"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Manali Honeymoon Tour - 5 Nights / 6 Days Tour Packages";i:2;s:115:"book manali honeymoon tour - 5 nights / 6 days tour packages, lakes & rivers tour packages, new delhi tour packages";i:3;s:158:"Book Manali Honeymoon Tour - 5 Nights / 6 Days tour packages from Travel Bhai - Get attractive 5 Nights / 6 Days Lakes & Rivers  tour packages for  New Delhi.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi"        
		                 },
		      "description": "",
		      "name": "Manali Honeymoon Tour",
		      "telephone": "+91-9811617033"
		    }
		    </script>
			";i:5;N;}