a:6:{i:0;s:19404:"				<div class="h1"><h1>5 Nights 6 Days Nepal Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.nashetours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.nashetours.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>5 Nights 6 Days Nepal Tour Package</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">Kathmandu, Pokhara, Chitwan</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 class="b p5px dif w125px vat">Min & Max. PAX </td>
							<td class="p5px pl0px dif vat"> 
							Min : 15, Max : 20					    	</td>
							</tr>
													<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nashetours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="5 Nights 6 Days Nepal Tour Package - 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="190504"/>
						</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_12/332988/299652.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299652.jpg"  width="150" height="84"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299662.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299662.jpg"  width="150" height="121"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299661.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299661.jpg"  width="150" height="112"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299658.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299658.jpg"  width="150" height="84"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299657.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299657.jpg"  width="150" height="121"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299656.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299656.jpg"  width="150" height="112"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299655.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299655.jpg"  width="150" height="100"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299654.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299654.jpg"  width="150" height="84"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299653.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299653.jpg"  width="150" height="121"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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_12/332988/299663.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299663.jpg"  width="150" height="100"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Depart to Kathmandu at 07:45 by Air India. Arrive Kathmandu airport & transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom. The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu.<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> Kathmandu
								</p>
								<p class="aj">Depart to Kathmandu at 07:45 by Air India. Arrive Kathmandu airport & transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom. The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu. After short relaxation at the hotel, you will be taken for a visit of the Hindu culture in Nepal, Pashupatinath. This is the place where holy saddhus pray. The Pashupatinath Temple is a famous, sacred Hindu temple dedicated to Pashupatinath and is located on the banks of the Baghmati River 5 kilometres north-east of Kathmandu Valley in the eastern city of Kathmandu the capital of Nepal. This temple is considered one of the sacred temples of Hindu faith .The temple serves as the seat of the national deity, Lord Pashupatinath. This temple complex is on UNESCO World Heritage Sites's list Since 1979. This "extensive Hindu temple precinct" is a "sprawling collection of temples, ashrams, images and inscriptions raised over the centuries along the banks of the sacred Bagmati river".</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_12/332988/299658.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299658.jpg"  width="150" height="84"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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> Kathmandu / Chitwan
								</p>
								<p class="aj">Drive to Chitwan. Chitwan is 180 Km from Kathmandu & is a 05 hours drive from Kathmandu. Chitwan is one of Asia's premier wildlife reserves. On the way you have an option at an extra cost of doing the river rafting ( Inr. 2200 per person if required ) or visit the Manakamna Temple “ Goddess of Fulfilling Wishes” where you are taken by a cable ride of 10 mins ( Inr. 600 per person for the cable car tickets if required ). Overnight 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> Chitwan
								</p>
								<p class="aj">Enjoy Jungle observation at Chitwan National park. The highlight being the Elephant Safari in the jungles. Other activities are Canoeing, Dugout canoe, Nature Walk and Bird Watching. Also experience walking through the forests with naturalists and watch the Native folk dances of the Terais. Overnight 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> Chitwan / Pokhara
								</p>
								<p class="aj">Drive to Pokhara. Pokhara is 180 Km & is a 04 hours drive from Chitwan. From Pokhara town (2,352 feet) the 25,000+ peaks of the Annapurna and Dhaulagiri ranges rise a scant 20 miles away with no intervening ridges to spoil the view. Overnight at hotel. This afternoon you will visit Bindebasini Temple. This is one of the oldest temples in Pokhara was a part of Kaski Kingdom, the main deity of the temple, Goddess Durga, was brought from India . Apart from the peace and tranquility that can be felt in this region, the premises of the temple offers a good view of the Himalaya on a clear day. The temple is in the area of the bazaar, hence a journey of the old bazaar can be combined with a visit to the temple. Sightseeing to Devi’s fall, also known as Patale Chango is an awesome waterfall lying 2 km southwest of Pokhara. During summer and rainy season, the waterfall takes its real form, with gushing water splashing and making its way through the rocks. Just opposite of Devi’s fall, on the other side of the road, there is Gupteshwor Cave. This cave is popular for the different natural forms made from limestone deposits. Photography is strictly prohibited inside the cave. Overnight at hotel.</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_12/332988/299661.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299661.jpg"  width="150" height="112"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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 5:</b> Pokhara / Kathmandu
								</p>
								<p class="aj">This morning you will go for a excursion trip to Sarangkot. Sarangkot is the most popular tourist destination from where the tourist can enjoy the great view of the Pokhara Valley and the magnificent view of the mountains. Sarangkot is only 13 kms from Lake Side, Pokhara. Sarangkot is the highest view point for a sunrise and it is just 1592m high. Sarangkot is cooler than Pokhara. Sarangkot can be reached easily by 45 to 60 minutes by a car ride to the top from Pokhara. Later drive back to Kathmandu & transfer to hotel. Rest day at leisure on your own. Overnight at hotel.</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_12/332988/299662.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299662.jpg"  width="150" height="121"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></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 6:</b> Kathmandu / Airport
								</p>
								<p class="aj">This morning your tour will take you for a visit to Patan. Also known as Lalitpur, the city of beauty is separated from Kathmandu only by the Bagmati River and is the second largest town in the valley. Lalitpur is fragmented from other cities due to its substantive architectural ancient masterpieces. Patan's central Durbar Square is absolutely packed with temples: It’s an architectural center point with a far greater concentration of temples per sq. meter than in Kathamandu or Bhaktapur. Within the city also lies the Tibetan refugee center, home to most of the valley's Tibetan population. While technically refugees, the Tibetans are some of the wealthiest people in the valley because of the carpet industry they operate. For those looking to bring home a fine Tibetan carpet, this is the place to shop. You will then go to Swayambhunath the golden spire of the 5th-century Swayambhu stupa is adorned with a colorful fluttering of prayer flags; it crowns a hill overlooking the Kathmandu Valley and offers fantastic views over the city of Kathmandu. Swayambhunath is one of the most recognizable symbols in Nepal and the painted eyes of Buddha watch all who ascend the worn stone steps. Later, you will be transferred to the airport, Depart to home town at 15:30.</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_12/332988/299663.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332988/299663.jpg"  width="150" height="100"    alt="5 Nights 6 Days Nepal Tour Package" title="5 Nights 6 Days Nepal Tour Package" /></a></p></div></li>
									</ul>
									</div>
									</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>4 Star Hotel</li>
																		<li>Flights</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Guides</li>
																		<li>Entry Tickets</li>
																<li>Air ticket 02 nights’ accommodation in Kathmandu 02 nights’ accommodation in Chitwan 01 night accommodation in Pokhara Sightseeing as per the itinerary in Kathmandu & Pokhara Jungle activities in the Chitwan National Park with entrance fees and national park fees (Elephant safari) Meals: Breakfast, Lunch, Dinner</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>2019-11-24<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>20% 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.
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.nashetours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="5 Nights 6 Days Nepal Tour Package - 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="190504"/>
						</form>
						</div>
						
						";i:1;s:73:"Book 5 Nights 6 Days Nepal Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:138:"book 5 nights 6 days nepal tour package - 5 nights / 6 days tour packages, family tour packages, kathmandu, pokhara, chitwan tour packages";i:3;s:166:"Nashe Tours offers 5 Nights 6 Days Nepal Tour Package - 5 Nights / 6 Days tour package, budget Family tour packages for Kathmandu, Pokhara, Chitwan at exciting price.";i:4;s:724:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara, Chitwan"        
		                 },
		      "description": "Depart to Kathmandu at 07:45 by Air India. Arrive Kathmandu airport & transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom. The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu.",
		      "name": "5 Nights 6 Days Nepal Tour Package",
		      "telephone": "+91-7025155699"
		    }
		    </script>
			";i:5;N;}