a:6:{i:0;s:10256:"				<div class="h1"><h1>Delightful Nepal Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.mytravoholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.mytravoholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delightful Nepal 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</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.mytravoholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful Nepal 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="116890"/>
						</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_10/286827/190062.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/286827/190062.jpg"  width="150" height="150"    alt="Delightful Nepal Package" title="Delightful Nepal Package" /></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> Kathmandu (Arrival)
								</p>
								<p class="aj">Upon arrival at the Kathmandu airport, you will be transferred to the hotel. Later, you will check into the hotel for welcome drink. Rest for sometime in the evening and visit a tourist market in Thamel. Stay overnight in 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 2:</b> Kathmandu City Tour
								</p>
								<p class="aj">Post breakfast in the hotel; embark on a sightseeing trip of Kathmandu which includes Pashupatinath Temple (situated 5 kilometers east of Kathmandu, the temple of Lord Shiva is considered one of the most sacred Hindu shrines in the world), Budhanilkantha (one of the largest Vishnu’s stone statues, it is located at the foothills of the Shivapuri Hills.), Swayambhu Stupa (a historical and old Buddhist monastery in the world and also known as Monkey Temple.), Patan Durbar Square (a historical site protected by UNESCO and Kumari Temple) and Kathmandu Durbar Square (situated in the heart of old Kathmandu city at Basantapur, it never fails to lure first time visitors with its group of palaces, courtyards and temples). By evening, return back to the hotel for dinner and overnight stay.</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 {By Surface 210 Km 06 Hrs}
								</p>
								<p class="aj">Post breakfast in the hotel, check out of the hotel and get transferred to Pokhara by road. Pokhara is well-known for lakes and a popular tour destination in Nepal. It is quite famous as the most beautiful tourist valley of Nepal. The crustal clear reflection of snow-clad mountains on the lake really makes the city dry and adds more features to make it look attractive. Upon arrival at Pokhara, get transferred to the hotel for dinner and overnight stay.</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 City Sightseeing
								</p>
								<p class="aj">Today, in the morning, after breakfast, embark on a sightseeing tour of Pokhara such as Bindhabasini Temple, located in the centre of the religious old bazaar. The temple is dedicated to goddess Bhagwati, another manifestation of goddess Shakti. Then there is Davis Fall, which is locally known as Patale Chhango and in the southern edge of the Pokhara Valley. The famous Gupteshwar Lake is located 2 kilometers away from Pokhara airport. The cave is 3 kilometers long and has some big hall sized rooms and some passages where you’ll have to crawl on all floor. This cave holds a special value to Hindus since a psychosexual symbol of Lord Shiva is preserved here. Then there is famous Phewa Lake (it is the second largest lake in the kingdom) and Barahi Island Temple, which is located in the middle of the lake and considered as an important religious monument in Pokhara. There is also a regional museum, located on the road to Mahendra Pul, which is devoted to the history and culture of the Pokhara Valley. Not to forget Mahendra Cave, which is an unrightfully a habitat of bats and provides adventurous time for the tourists.Built entirely of limestone, this cave offers artificial lighting systems. By evening, return back to the hotel for dinner and overnight stay.</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> Manokamana Temple - Kathmandu {By Surface 210 Km 06 Hrs}
								</p>
								<p class="aj">Post breakfast in the hotel, you will be transferred to Kathmandu. On the way, visit Manokamna Devi Temple nestled atop of a 1300 meter hill, encompassed by a small village community in Gorkha district of Nepal. The Manakamana Devi Temple is a highly venerated sacred place of Hindu goddess Bhagwati. Its name has been derived from two words- Mana means the “Heart” or “Soul” and the Kamana means “Wish”. It is believed that the goddess fulfills the wishes of the people who worship her with good intention and pure heart. This temple has a tradition of sacrificing animals. The cable-car takes only 10 minutes to cover 2.8 kilometers distance. Upon arrival at Kathmandu, check into the hotel for dinner and overnight stay.</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> Departure
								</p>
								<p class="aj">Post breakfast in the hotel, you will be transferred to the airport for departure back home.</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.mytravoholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful Nepal 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="116890"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Delightful Nepal Package - 5 Nights / 6 Days Tour Packages";i:2;s:119:"book delightful nepal package - 5 nights / 6 days tour packages, valley tour packages, kathmandu, pokhara tour packages";i:3;s:159:"My Travo Tours Solution offers Delightful Nepal Package - 5 Nights / 6 Days tour package, budget Valley tour packages for Kathmandu, Pokhara at exciting price.";i:4;s:414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "",
		      "name": "Delightful Nepal Package",
		      "telephone": "+91-9717748667"
		    }
		    </script>
			";i:5;N;}