a:6:{i:0;s:8523:"				<div class="h1"><h1>Manali Honeymoon Packages by Car</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.osrvacation.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.osrvacation.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Manali Honeymoon Packages by Car</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">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali</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.osrvacation.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali Honeymoon Packages by Car - 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="65003"/>
						</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/406010/119811.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/406010/119811.jpg"  width="150" height="150"    alt="Manali Honeymoon Packages by Car" title="Manali Honeymoon Packages by Car" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Whether it is strolling down the primary market or going to the detached Hadimba Devi Temple, Kullu Manali visits are constantly packed with things to do and places to see. Appreciate shoddy occasions in Kullu Manali, a slope stations offering the ideal blend of unwinding and experience. On an occasion in Manali, investigate the Naggar Fort, found south of town and visit the boiling hot water sulfur springs and sanctuary at Vashisht, 3 km away. Kullu Manali visits should likewise incorporate an outing to Rohtang Pass, a snow topped range at a stature of 3,978 meters.<br />
Trip Highlights<br />
<br />
Visit Hidimba Devi Temple<br />
Excursion to Rohtang Pass<br />
Explore Mall & Markets in Manali<br />
Enjoy snow scooter in ManaliAny expenses incurred due to Exigencies.<br />
Travel Insurance.<br />
Monument /Camera fees.<br />
Any personal expenses like laundary, shopping, tips etc.<br />
Air & Train fair.<br />
Heater Charges per night.<br />
Any Adventure Activities.<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
								</p>
								<p class="aj">Arrival in Delhi, meet our tour representative who assist you in transfer to Manali. Manali is at a distance of 553 kilometers from Delhi. Overnight in the bus.</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> Manali Sightseeing
								</p>
								<p class="aj">On reaching Manali, check in at hotel at 12 Noon and have breakfast. Relax for some time. After getting refreshed, leave for sightseeing in Manali. You will visit Hidimba Devi Temple (An ancient cave temple), Manu temple, Vashisth Temple. Evening will be at leisure. Later return to the hotel and stay 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> Manali - Rohtang Pass - Manali
								</p>
								<p class="aj">After breakfast, get all set to leave for Rohtang Pass (Snow point in case of Rohtang pass closed due to heavy Snowfall). This is located at the height of 4114 meters and offers some amazing views. Rohtang Pass is a famous place to enjoy snow activities like snow scooter, skiing etc. In the late evening, return to Manali and stay 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 4:</b> Manali - Delhi
								</p>
								<p class="aj">Today get ready for shopping in Manali. Some popular markets of the Manali are Mall Road, Old Manali and Tibetan Markets. Here, you can shop shawls, caps, Tibetan carpets, Buddhists painting and artifacts, dry fruits, apples, pullovers made of yak wool, jam and jellies and other things. Thereafter, in the evening board your Volvo bus to Delhi. Overnight in the bus.</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>Sightseeing</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any expenses incurred due to Exigencies.</li><li>
Travel Insurance.</li><li>
Monument /Camera fees.</li><li>
Any personal expenses like laundary, shopping, tips etc.</li><li>
Air & Train fair.</li><li>
Heater Charges per night.</li><li>
Any Adventure Activities.</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.osrvacation.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali Honeymoon Packages by Car - 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="65003"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Manali Honeymoon Packages by Car - 3 Nights / 4 Days Tour Packages";i:2;s:115:"book manali honeymoon packages by car - 3 nights / 4 days tour packages, valley tour packages, manali tour packages";i:3;s:167:"Book Manali Honeymoon Packages by Car - 3 Nights / 4 Days tour packages from Osr Vacation Pvt Ltd - Get attractive 3 Nights / 4 Days Valley  tour packages for  Manali.";i:4;s:1334:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali"        
		                 },
		      "description": "Whether it is strolling down the primary market or going to the detached Hadimba Devi Temple, Kullu Manali visits are constantly packed with things to do and places to see. Appreciate shoddy occasions in Kullu Manali, a slope stations offering the ideal blend of unwinding and experience. On an occasion in Manali, investigate the Naggar Fort, found south of town and visit the boiling hot water sulfur springs and sanctuary at Vashisht, 3 km away. Kullu Manali visits should likewise incorporate an outing to Rohtang Pass, a snow topped range at a stature of 3,978 meters.
Trip Highlights

Visit Hidimba Devi Temple
Excursion to Rohtang Pass
Explore Mall & Markets in Manali
Enjoy snow scooter in ManaliAny expenses incurred due to Exigencies.
Travel Insurance.
Monument /Camera fees.
Any personal expenses like laundary, shopping, tips etc.
Air & Train fair.
Heater Charges per night.
Any Adventure Activities.",
		      "name": "Manali Honeymoon Packages by Car",
		      "telephone": "+91-9555961410"
		    }
		    </script>
			";i:5;N;}