a:6:{i:0;s:6761:"				<div class="h1"><h1>Honeymoon in Nepal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.planjourneysindia.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.planjourneysindia.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Honeymoon in Nepal 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kathmandu, Pokhara</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.planjourneysindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Honeymoon in Nepal 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="95090"/>
						</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_15/425396/161800.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/425396/161800.jpg"  width="150" height="150"    alt="Honeymoon in Nepal Tour" title="Honeymoon in Nepal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					2 Nights Accommodation in Kathmandu.<br />
2 nights accommodation in Pokhara.<br />
Sightseeing of Pashupatinath in Kathmandu and Daily breakfast.<br />
Visit to Patan with Darbar Square & world famous Swayambhunath.<br />
<br />
Nepal Tour Packages:-<br />
<br />
Nepal Tour packages In the lap of great Himalayas Nepalis a beautiful small country with sketching landscape and abundance of flora & fauna. It offers activities for all kind of tourists be it you are traveling to find a quick adventure tour package, Nepal has got Pokhara as its adventure sports hub including activities such as paragliding, Trekking,Mountain Biking, Canyoning, Rafting, Kayaking, Jungle tours and now most famous zip line of Asia with speed of more than 140 kms per hour make it one of the most ride in the world. Sports like rafting, bungee jumping, Para gliding, Mountain flight, etc have got the very best of facilities in here in Nepal. Pilgrimage tours like Kailash Mansarovar Yatra, Lumbini (birth place of Lord Buddha).Kathmandu the capital city, offers Pashupatinath Temple, Boudhanath, Darbar Square, etc to lure tourist of every kind. Explore Citwan National Park experiencing Elephant Safaris; visit Nagarkot for the panoramic view of world famous peaks including Mount Everest.<br />
<br />
Nepal Tour Packages Booking:-<br />
<br />
Planjourneys.com offers great travel deals on Nepal holiday packages, Kathmandu vacation packages. If you are looking for budget tours or honeymoon deals, we have got tailor made vacations for you.<br />
Nepal visa is not required for Indian citizens, a valid passport or election idis sufficient enough to visit Nepal. Our professional tour planners will take care of everything from the starting till the end of your journey to make the one of the best memories of your life.<br />
<br />
Super Deluxe Package: Hotel Soaltee/ Yak & Yeti, Kathmandu + Fishtail Lodge /Pokhara Grande, Pokhara: INR 33200/- Per Person on double sharing basis.<br />
<br />
Deluxe Package: Hotel Everest/ Shangri La, Kathmandu + Fishtail Lodge / Pokhara Grande, Pokhara: INR 31100/- Per Person on double sharing basis.<br />
<br />
First Class Package: Hotel Airport/ Grand, Kathmandu + Fishtail Lodge / Pokhara Grande, Pokhara: INR 25200/- Per Person on double sharing basis.<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>
												</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.planjourneysindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Honeymoon in Nepal 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="95090"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Honeymoon in Nepal Tour - 6 Nights / 7 Days Tour Packages";i:2;s:118:"book honeymoon in nepal tour - 6 nights / 7 days tour packages, valley tour packages, kathmandu, pokhara tour packages";i:3;s:165:"Plan Journeys Private Limited. offers Honeymoon in Nepal Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Kathmandu, Pokhara at exciting price.";i:4;s:2608:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "2 Nights Accommodation in Kathmandu.
2 nights accommodation in Pokhara.
Sightseeing of Pashupatinath in Kathmandu and Daily breakfast.
Visit to Patan with Darbar Square & world famous Swayambhunath.

Nepal Tour Packages:-

Nepal Tour packages In the lap of great Himalayas Nepalis a beautiful small country with sketching landscape and abundance of flora & fauna. It offers activities for all kind of tourists be it you are traveling to find a quick adventure tour package, Nepal has got Pokhara as its adventure sports hub including activities such as paragliding, Trekking,Mountain Biking, Canyoning, Rafting, Kayaking, Jungle tours and now most famous zip line of Asia with speed of more than 140 kms per hour make it one of the most ride in the world. Sports like rafting, bungee jumping, Para gliding, Mountain flight, etc have got the very best of facilities in here in Nepal. Pilgrimage tours like Kailash Mansarovar Yatra, Lumbini (birth place of Lord Buddha).Kathmandu the capital city, offers Pashupatinath Temple, Boudhanath, Darbar Square, etc to lure tourist of every kind. Explore Citwan National Park experiencing Elephant Safaris; visit Nagarkot for the panoramic view of world famous peaks including Mount Everest.

Nepal Tour Packages Booking:-

Planjourneys.com offers great travel deals on Nepal holiday packages, Kathmandu vacation packages. If you are looking for budget tours or honeymoon deals, we have got tailor made vacations for you.
Nepal visa is not required for Indian citizens, a valid passport or election idis sufficient enough to visit Nepal. Our professional tour planners will take care of everything from the starting till the end of your journey to make the one of the best memories of your life.

Super Deluxe Package: Hotel Soaltee/ Yak & Yeti, Kathmandu + Fishtail Lodge /Pokhara Grande, Pokhara: INR 33200/- Per Person on double sharing basis.

Deluxe Package: Hotel Everest/ Shangri La, Kathmandu + Fishtail Lodge / Pokhara Grande, Pokhara: INR 31100/- Per Person on double sharing basis.

First Class Package: Hotel Airport/ Grand, Kathmandu + Fishtail Lodge / Pokhara Grande, Pokhara: INR 25200/- Per Person on double sharing basis.",
		      "name": "Honeymoon in Nepal Tour",
		      "telephone": "91-9899892292"
		    }
		    </script>
			";i:5;N;}