a:6:{i:0;s:18400:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1> Nepal Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.amasstravel.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.amasstravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b>  Nepal Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu, Pokhara</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 17900 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.amasstravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value=" Nepal Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="190643"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/462739/300158.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/462739/300158.jpg"  width="150" height="71"    alt=" Nepal Tour" title=" Nepal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</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>  Kathmandu
										</p>
										<p class="aj">Meeting at airport upon arrival by Office Personnel. Transfer to hotel. Kathmandu is the capital of Nepal and the Kathmandu Valley is the political and cultural heart of the Kingdom.<br />
The urban sprawl that makes up modern Kathmandu is in fact two cities, Patan and Kathmandu.</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>  Kathmandu
										</p>
										<p class="aj">This morning 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 Bagmati River 5 kilometres north-east of KathmanduValley in the eastern city ofKathmandu 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". We then continue to the holiest shrine for the Buddhist culture in Nepal, Bouddhanath, with its large stupa, this is the place where all devout Buddhists come for a pilgrimage. After completion of these two spots, you will be taken 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: Its 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. ( The above sightseeing is for a maximum of 06 hours after the vehicle reports at the 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> Kathmandu / Pokhara ( 210 KMS )
										</p>
										<p class="aj">Drive to Pokhara. Pokhara is 210 kms from Kathmandu and is a 7 hours drive approx. From Pokhara town (2,352 feet) in good weather there are splendid views right from the hotel.<br />
On the way you have an option at an extra cost of doing the river rafting or visit the Manakamna Temple “ Goddess of Fulfilling Wishes” where you are taken by a cable ride of 10 mins. 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>  Pokhara
										</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 fromPokhara. Many tourists come to Sarangkot for sunrise view and go back.<br />
From Sarangkot, on the northern direction we can see Dhaulagiri in the far west. Annapurna range is visible when the weather is clear on the same side. On the southern direction the village overlooks the city of Pokhara and its lake on the north-western outskirts of the city.( The above sightseeing is for a maximum of 03 hours after the vehicle reports at the hotel), This afternoon you will visit Bindebasini Temple. This is one of the oldest temples in Pokharawas 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 ofPokhara. 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.( The above sightseeing is for a maximum of 03 hours after the vehicle reports at the 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> Pokhara / Kathmandu
										</p>
										<p class="aj">Drive back to Kathmandu retracing the same path & transfer to hotel. Rest day at leisure. One can indulge in shopping or visit the casinos trying their lady luck on your own. 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 6:</b> Kathmandu / Airport
										</p>
										<p class="aj">Morning will be comparatively free and closer to the time of your flight, you will be transferred to the airport in time to board your flight for onward journey, Tour End.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>01 Exclusive transportation, Sightseeing as per itinerary, 02 sharing accommodation in a room, total 01 room on CP.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Porter, Sightseeing tickets, Foods, Laundry, Telephone, Train/Flight tickets.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>17900</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.amasstravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value=" 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="190643"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/manikaran-tour-packages.htm" title="Manikaran Tour Packages">Manikaran</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.amasstravel.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:51:"Book  Nepal Tour - 5 Nights / 6 Days Tour Packages";i:2;s:110:"book  nepal tour - 5 nights / 6 days tour packages, adventure tour packages, kathmandu, pokhara tour packages";i:3;s:173:"Book  Nepal Tour - 5 Nights / 6 Days tour packages from Amass Travel Services Pvt. Ltd. - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Kathmandu, Pokhara.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "",
		      "name": " Nepal Tour",
		      "telephone": "+91-8130834363"
		    }
		    </script>
			";i:5;N;}