a:6:{i:0;s:11190:"				<div class="h1"><h1>Kathmandu 7 Nights and 8 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidaymasti.co.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Kathmandu 7 Nights and 8 Days 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">
						7 Nights / 8 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">
						INR 20000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kathmandu 7 Nights and 8 Days 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="48265"/>
						</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_2/30465/94007.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/30465/94007.jpg"  width="150" height="150"    alt="Kathmandu 7 Nights and 8 Days Tour" title="Kathmandu 7 Nights and 8 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					KATMANDU - Kathmandu is the capital of NEPAL , & has the country's only international airport , which is linked with Delhi , Mumbai , Kolkata , Varanasi in India. Kathmandu is a valley surrounded by hills & snow capped mountains. The valley consists of the ancient cities of Kathmandu , Lalitpur & Bhaktapur. There are seven UNESCO World Heritage Sites in the valley , including many temples, monuments & stupas. Pashupatinath, the most revered Hindu temple, is also in Kathmandu.<br />
<br />
POKHARA - Pokhara is known as the city of lakes. It also offers an aweinspiring view of the Annapurna, Dhaulagiri & Manaslu mountain ranges. Fishtail peak (6,977m), popularly known as Machhapuchhre, is a landmark. The Himalaya peaks & the lakes make Pokhara a magical place where you can relax while boating or fishing. It is also the starting point for treks to the Annapurna region.<br />
<br />
CHITWAN - ROYAL CHITWAN NATIONAL PARK ( 932 sq km ) consists of forests & grasslands. The park is a popular safari destination as it teems with wildlife. Animals found here include the rhino, tiger, wild elephant, antelope & hyena. It also provides ideal habitat for crocodiles, dolphins, cobras, kraits & pythons. There are 525 species of birds here. The park is easily accessible both from Kathmandu & Pokhara. Bharatpur, the gateway to Chitwan, is 146 km from Kathmandu ( 20 minutes by air ) or 131 km from Pokhara. .( Chitwan Resorts are in side the Jungle and the accommodation is Cottage or Hut kind, but rich in Nature and the facilities available cannot be matched to those available in the Plains and other developed destination)Anything which is not included in inclusions.<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">On Arrival, Meet Our Representative At The Kathmandu Airport & Transfer To Hotel. Check-In At The Hotel. Overnight Stay In 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 Sightseeing
								</p>
								<p class="aj">After Breakfast Meet At The Hotel Lobby For Your Full Day Kathmandu City Sightseeing - 1st Half Day Visit Pashupatinath , Boudhanath and 2nd Half Day Swayambhunath , Durbar Square . Evening Free For Personal Activities. Overnight Stay In Kathmandu.</p>					
									<p><b>Meals : </b> Breakfast</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 ( 200 Km - 6 Hours )
								</p>
								<p class="aj">After Breakfast Meet At The Hotel Lobby and Proceed For Pokhara , Enjoy A Five Hours Beautiful Drive To Pokhara . Arrive At Pokhara And Check-In At Hotel. Evening Free For Personal Activities or One Can Go For Boat Ride in Fewa Lake or Shopping on the Lake Side on own. Overnight Stay In Pokhara. ( Optional - River Rafting and Manokamana Cable Car Ride On the Way)</p>					
									<p><b>Meals : </b> Breakfast</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 Sightseeing
								</p>
								<p class="aj">After Breakfast Meet At The Hotel Lobby For Your Half Day Pokhara City Sightseeing - Visit Bindyabasini temple, Seti river, Devi’s Fall, Gupteshowre Mahadev and Fewa Lake . Rest Of The Day Free For Personal Activities. Overnight Stay In Pokhara.</p>					
									<p><b>Meals : </b> Breakfast</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 - Chitwan ( 160 Kms. / 5 Hrs. )
								</p>
								<p class="aj">After Breakfast Meet At The Hotel Lobby and Proceed For Chitwan. Arrive At Chitwan & Check-In At The Resort. Buffet Lunch At The Resort, Briefing Regarding Jungle Activities & Resort Facilities. Tharu Cultural Show . Dinner At The Resort. Overnight Stay In Chitwan.</p>					
									<p><b>Meals : </b> Breakfast</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> Chitwan - Jungle Activities
								</p>
								<p class="aj">Wake-Up Call At 6.00 Am. After Early Breakfast Start With Your Jungle Activities - Elephant-Back Safari. Back To Resort For Lunch. After Lunch Leave For Canoe Ride, Nature Walk, Bird Watching Etc. Back To The Resort. Dinner At The Resort. Overnight Stay In Chitwan.</p>					
									<p><b>Meals : </b> Breakfast</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 7:</b> Chitwan - Kathmandu ( 160 Kms. / 5 Hrs.)
								</p>
								<p class="aj">After Breakfast Meet At The Hotel Lobby and Proceed to Kathmandu . Arrive At Kathmandu And Check-In At Hotel. Evening Free For Personal Activities or Shopping Overnight Stay In Kathmandu.</p>					
									<p><b>Meals : </b> Breakfast<br />
</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 8:</b> Kathmandu - Departure
								</p>
								<p class="aj">After Buffet Breakfast Day Free Till Departure . Transfer To Kathmandu International Airport.</p>					
									<p><b>Meals : </b> Breakfast</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">Exclusions :</p> <ul><li>Anything which is not included in inclusions.</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.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kathmandu 7 Nights and 8 Days 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="48265"/>
						</form>
						</div>
						
						";i:1;s:73:"Book Kathmandu 7 Nights and 8 Days Tour - 7 Nights / 8 Days Tour Packages";i:2;s:149:"book kathmandu 7 nights and 8 days tour - 7 nights / 8 days tour packages, forts and palaces tour packages, kathmandu, pokhara, chitwan tour packages";i:3;s:194:"Book Kathmandu 7 Nights and 8 Days Tour - 7 Nights / 8 Days tour packages from Holiday Masti - Get attractive 7 Nights / 8 Days Forts and Palaces  tour packages for  Kathmandu, Pokhara, Chitwan.";i:4;s:2088:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara, Chitwan"        
		                 },
		      "description": "KATMANDU - Kathmandu is the capital of NEPAL , & has the country's only international airport , which is linked with Delhi , Mumbai , Kolkata , Varanasi in India. Kathmandu is a valley surrounded by hills & snow capped mountains. The valley consists of the ancient cities of Kathmandu , Lalitpur & Bhaktapur. There are seven UNESCO World Heritage Sites in the valley , including many temples, monuments & stupas. Pashupatinath, the most revered Hindu temple, is also in Kathmandu.

POKHARA - Pokhara is known as the city of lakes. It also offers an aweinspiring view of the Annapurna, Dhaulagiri & Manaslu mountain ranges. Fishtail peak (6,977m), popularly known as Machhapuchhre, is a landmark. The Himalaya peaks & the lakes make Pokhara a magical place where you can relax while boating or fishing. It is also the starting point for treks to the Annapurna region.

CHITWAN - ROYAL CHITWAN NATIONAL PARK ( 932 sq km ) consists of forests & grasslands. The park is a popular safari destination as it teems with wildlife. Animals found here include the rhino, tiger, wild elephant, antelope & hyena. It also provides ideal habitat for crocodiles, dolphins, cobras, kraits & pythons. There are 525 species of birds here. The park is easily accessible both from Kathmandu & Pokhara. Bharatpur, the gateway to Chitwan, is 146 km from Kathmandu ( 20 minutes by air ) or 131 km from Pokhara. .( Chitwan Resorts are in side the Jungle and the accommodation is Cottage or Hut kind, but rich in Nature and the facilities available cannot be matched to those available in the Plains and other developed destination)Anything which is not included in inclusions.",
		      "name": "Kathmandu 7 Nights and 8 Days Tour",
		      "telephone": "+91-8090952150"
		    }
		    </script>
			";i:5;N;}