a:6:{i:0;s:9873:"				<div class="h1"><h1>Nepal Wonders - 4N/5D (Kathmandu Pokhara) Tour.</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jstourstravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jstourstravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Nepal Wonders - 4N/5D (Kathmandu Pokhara) 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">
						4 Nights / 5 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.jstourstravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nepal Wonders - 4N/5D (Kathmandu Pokhara) 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="68424"/>
						</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/434756/124574.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/434756/124574.jpg"  width="150" height="150"    alt="Nepal Wonders - 4N/5D (Kathmandu Pokhara) Tour." title="Nepal Wonders - 4N/5D (Kathmandu Pokhara) 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> Arrival at Kathmandu
								</p>
								<p class="aj">Meeting at airport upon arrival by our executive. 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.</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> Local Sightseeing of 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 and cremations on the Bagmati River are carried out. 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.</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 to Pokhara By Flight & Sightseeing
								</p>
								<p class="aj">Fly to Pokhara. Pokhara is 30 mins by flight from Kathmandu. From Pokhara town (2,352 feet)in good weather there are splendid views right from the hotel. Assistance upon arrival by hotel coach in Pokhara and then transfer to Hotel. Evening free to stroll around the lakeside. Later 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>
								</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 to Kathmandu
								</p>
								<p class="aj">Fly back to Kathmandu and transfer to Hotel. Rest day at leisure. One can indulge in shopping or visit the casinos trying their lady luck. 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 5:</b> Departure from Kathmandu
								</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.</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.jstourstravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nepal Wonders - 4N/5D (Kathmandu Pokhara) 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="68424"/>
						</form>
						</div>
						
						";i:1;s:86:"Book Nepal Wonders - 4N/5D (Kathmandu Pokhara) Tour. - 4 Nights / 5 Days Tour Packages";i:2;s:144:"book nepal wonders - 4n/5d (kathmandu pokhara) tour. - 4 nights / 5 days tour packages, heritage tour packages, kathmandu, pokhara tour packages";i:3;s:196:"Book Nepal Wonders - 4N/5D (Kathmandu Pokhara) Tour. - 4 Nights / 5 Days tour packages from Js Tours and Travels - Get attractive 4 Nights / 5 Days Heritage  tour packages for  Kathmandu, Pokhara.";i:4;s:437:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "",
		      "name": "Nepal Wonders - 4N/5D (Kathmandu Pokhara) Tour.",
		      "telephone": "+91-9227522144"
		    }
		    </script>
			";i:5;N;}