a:6:{i:0;s:22814:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>6 Nights 7 Days Nepal Tour Program</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.darjeelingsikkimtravel.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.darjeelingsikkimtravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> 6 Nights 7 Days Nepal Tour Program</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, Chitwan, Nagarkot</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 17500 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.darjeelingsikkimtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Nights 7 Days Nepal Tour Program - 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="192397"/>
						</form>
						
												</p>
											</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="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Day 01: NJP Rly Station / IXB Airport – Kathmandu<br />
Meet & Greet on arrival at NJP Railway Station / IXB Airport & transfer to Darjeeling (6,710 ft.). On arrival Check-in to hotel & rest of the day at leisure. Overnight stay at Kathmandu.<br />
<br />
Day 02: Kathmandu Sightseeing<br />
The very next morning, after breakfast you will leave for a full day sightseeing tour around Kathmandu valley. You can visit sacred Pashupatinath Temple and Swyambhunath, very ancient and essentially enlisted in UNESCO World Heritage sites. The biggest Buddhist Stupa at Boudhanath and the fine arts and historical architecture of Kathmandu Durbar Square reflecting the ancient Nepalese culture are highlighted on our guided tour. On return to your hotel, you will have time to explore the local area, have dinner and perhaps take a leisurely stroll through the famous streets.<br />
<br />
Day 03: Kathmandu to Pokhra<br />
After breakfast, drive by private car 6 hrs through scenic highway. Pokhara unique charm derives from its all-year-round splendid climate and its stunning close views of magnificent Machhapuchhare or Fish Tail Mountain (6997m), and the mighty Annapurna. Enhancing Pokhara’s appeal is Phewa Lake at the foot of massive peaks a mere 25 km away. Pokhara celebrates mountains and its people, most famously the Gurungs and Magars, who form the core of the renowned Gurkha soldiers.<br />
<br />
Walk around the Fewa Lake in the afternoon and take a boat ride. You can enjoy the spectacular views of Annapurna Himalaya Range reflected in all its glory in the calm green water of the lake. Spend leisurely evening. Overnight at Pokhara.<br />
<br />
Day 04: Pokhara Sight Seeing<br />
Enjoy breakfast on a terrace overlooking the mighty peaks from your hotel, and Later you leave for a boat ride across the lake. Then do a walk of about 1 ½ hrs (each way) to reach the World Peace Pagoda – a 40 M high shrine built with Japanese aid. Enjoy outstanding panoramic views that cover the Pokhara Valley & Phewa Lake framed by snowcapped mountain peaks. On return afternoon you will have a tour of Davids falls, caves and Tibetan Refugee Camp, Be back at your hotel in the evening. Overnight stay in Pokhara. Have a leisurely stroll over the beach side of Lake enjoying the evening.<br />
<br />
Day 05: Pokhara – Chitwan Transfer<br />
After breakfast, drive on to Chitwan National Park, about 5 hour deriver through scenic high way, on arrival at resort lunch will be served and our nature guide will brief you about the programme.  Wildlife in Chitwan National Park includes the greater one-horned rhinoceros, spotted deer, hog deer, sambar deer and barking deer as well as a wide variety of birdlife. With a bit of luck, there is always the chance of glimpsing the leopard, sloth bear, and Royal Bengal tiger. you will  cover  elephant back safari, canoeing, village visit, jungle walk, bird watching, Elephant breeding center visit and Tharu cultural programme during your Chtiwan stay.<br />
<br />
Day 06: Chitwan Local Sight Seeing<br />
There are several activities to do, elephant safaris, bird watching, nature walks, village walks, etc. Our guides will help you identify some species of birds, plants and other wildlife. Learn more about these fascinating animals during a visit to our elephant stable. After lunch, traditional dug-out canoe takes you on a silent trip down the Rapti River to view aquatic birds and the animals of the river banks. At the evening, farmers of the nearby villages will show some of their traditional skills and dances.<br />
<br />
Day 07: Chitwan – NJP Rly Station / IXB Airport (125 kms / 4 hrs)<br />
After breakfast Check-out from hotel in time and take the departure transfer to NJP Railway Station / IXB Airport for your onward journey.								</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> Bagdogra/NJP to Kathmandu
										</p>
										<p class="aj">NJP Rly Station / IXB Airport – Kathmandu<br />
Meet & Greet on arrival at NJP Railway Station / IXB Airport & transfer to Darjeeling (6,710 ft.). On arrival Check-in to hotel & rest of the day at leisure. Overnight stay at 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 Local Sightseeing
										</p>
										<p class="aj">The very next morning, after breakfast you will leave for a full day sightseeing tour around Kathmandu valley. You can visit sacred Pashupatinath Temple and Swyambhunath, very ancient and essentially enlisted in UNESCO World Heritage sites. The biggest Buddhist Stupa at Boudhanath and the fine arts and historical architecture of Kathmandu Durbar Square reflecting the ancient Nepalese culture are highlighted on our guided tour. On return to your hotel, you will have time to explore the local area, have dinner and perhaps take a leisurely stroll through the famous streets.</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 Pokhra
										</p>
										<p class="aj">After breakfast, drive by private car 6 hrs through scenic highway. Pokhara unique charm derives from its all-year-round splendid climate and its stunning close views of magnificent Machhapuchhare or Fish Tail Mountain (6997m), and the mighty Annapurna. Enhancing Pokhara’s appeal is Phewa Lake at the foot of massive peaks a mere 25 km away. Pokhara celebrates mountains and its people, most famously the Gurungs and Magars, who form the core of the renowned Gurkha soldiers.<br />
<br />
Walk around the Fewa Lake in the afternoon and take a boat ride. You can enjoy the spectacular views of Annapurna Himalaya Range reflected in all its glory in the calm green water of the lake. Spend leisurely evening. Overnight at Pokhara.</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 Sight Seeing
										</p>
										<p class="aj">Enjoy breakfast on a terrace overlooking the mighty peaks from your hotel, and Later you leave for a boat ride across the lake. Then do a walk of about 1 ½ hrs (each way) to reach the World Peace Pagoda – a 40 M high shrine built with Japanese aid. Enjoy outstanding panoramic views that cover the Pokhara Valley & Phewa Lake framed by snowcapped mountain peaks. On return afternoon you will have a tour of Davids falls, caves and Tibetan Refugee Camp, Be back at your hotel in the evening. Overnight stay in Pokhara. Have a leisurely stroll over the beach side of Lake enjoying the evening.</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 Transfer
										</p>
										<p class="aj">After breakfast, drive on to Chitwan National Park, about 5 hour deriver through scenic high way, on arrival at resort lunch will be served and our nature guide will brief you about the programme. Wildlife in Chitwan National Park includes the greater one-horned rhinoceros, spotted deer, hog deer, sambar deer and barking deer as well as a wide variety of birdlife. With a bit of luck, there is always the chance of glimpsing the leopard, sloth bear, and Royal Bengal tiger. you will  cover  elephant back safari, canoeing, village visit, jungle walk, bird watching, Elephant breeding center visit and Tharu cultural programme during your Chtiwan 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> Chitwan – NJP Rly Station / IXB Airport (125 kms / 4 hrs)
										</p>
										<p class="aj">After breakfast Check-out from hotel in time and take the departure transfer to NJP Railway Station / IXB Airport for your onward journey.</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>2 Star Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																						<li>Transport</li>
																				<li>Driver Batta</li><li>
Fuel</li><li>
Night Parking</li><li>
Meal(Breakfast and Dinner)</li><li>
Accommodations at all Places</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare, Train fare, Insurance Premiums, Day Parking, Rafting, Ropeway Tickets and any Tolls.</li><li>
Cost for service provided on guest’s personal request.</li><li>
Cost for personal expenses such as laundry, packaged drinking water, soft drinks, porter charges, tips etc.</li><li>
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.</li><li>
Difference in cost arising due to change in Fuel price.</li><li>
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>50% Advance Percentage of total booking amount</li></ul>					
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								Terms & Conditions: -

Note : All Valuables and personal belongings are the responsibility of the client. In case of theft or clients belongings being lost during transit or otherwise. We would not be responsible.

Note : The vehicle used for your entire tour will be strictly on Point to Point Basis.

Note : In any circumstances vehicle will not be provided on Disposal Basis.

Looking forward to your response. If you require any further clarification/ information, please contact us any time. We will be glad to answer them. Assuring you of our best services and prompt attention at all times.

Note : In Case any road is closed due to Landslide or any other reason, you have to pay the Extra amount for off route Journey to reach the destination.
 
Note : Requested to you, Kindly bring your luggage as less as you carry. Because Total Areas are Hills and on Hills Area much luggages are not allowed.
 
Note : Requested to you, Please keep your luggage and belongings at your own risk. We are not responsible for loss or Damage of your valuable luggage and belongings.
 
Note : Requested to you, Please cooperate with us while tour is going on for betterment of your services.
 
Note : Requested to you, do not irritate any driver, so that he can run smoothly on this hills area and do not request driver to stop the cars here and there. As this is totally hills area. Common parking lot is not available for any car. So, please maintain the appropriate timings for pickup and drop from the Hotels.

Note : There is no Transfer Small Car costs are included in the package if the Clients Opt for Sumo/ Bolero Car From Transfer TO and FRO from Taxi Stands to Hotel and Back.
 
Note : There is no alteration will be possible during the tour for your settled itinerary, as per your opinion after booked the tour and no amount will be refunded for changes the same.
 
Note : Hotel Confirmation is subject to Room’s Availability.
 
Note : Cost Calculation: Below 5 Years child, treat as full complimentary and 5 Years and above will be applicable for full charges.								</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><li>
Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.darjeelingsikkimtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Nights 7 Days Nepal Tour Program - 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="192397"/>
						</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.darjeelingsikkimtravel.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/samdrup-jongkhar-tour-packages.htm" title="Samdrup Jongkhar Tour Packages">Samdrup Jongkhar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/lachung-tour-packages.htm" title="Lachung Tour Packages">Lachung</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/phuntsholing-tour-packages.htm" title="Phuntsholing Tour Packages">Phuntsholing</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/paro-tour-packages.htm" title="Paro Tour Packages">Paro</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/kalimpong-tour-packages.htm" title="Kalimpong Tour Packages">Kalimpong</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/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.darjeelingsikkimtravel.in/nagarkot-tour-packages.htm" title="Nagarkot Tour Packages">Nagarkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.darjeelingsikkimtravel.in/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 spanlist dn"><a class="dif" href="http://www.darjeelingsikkimtravel.in/chitwan-tour-packages.htm" title="Chitwan Tour Packages">Chitwan</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.darjeelingsikkimtravel.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.darjeelingsikkimtravel.in/family-holidays-catid.htm" title="Family Packages">Family</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:73:"Book 6 Nights 7 Days Nepal Tour Program - 5 Nights / 6 Days Tour Packages";i:2;s:148:"book 6 nights 7 days nepal tour program - 5 nights / 6 days tour packages, family tour packages, kathmandu, pokhara, chitwan, nagarkot tour packages";i:3;s:198:"Darjeeling Sikkim Travel Services offers 6 Nights 7 Days Nepal Tour Program - 5 Nights / 6 Days tour package, budget Family tour packages for Kathmandu, Pokhara, Chitwan, Nagarkot at exciting price.";i:4;s:4138:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara, Chitwan, Nagarkot"        
		                 },
		      "description": "Day 01: NJP Rly Station / IXB Airport – Kathmandu
Meet & Greet on arrival at NJP Railway Station / IXB Airport & transfer to Darjeeling (6,710 ft.). On arrival Check-in to hotel & rest of the day at leisure. Overnight stay at Kathmandu.

Day 02: Kathmandu Sightseeing
The very next morning, after breakfast you will leave for a full day sightseeing tour around Kathmandu valley. You can visit sacred Pashupatinath Temple and Swyambhunath, very ancient and essentially enlisted in UNESCO World Heritage sites. The biggest Buddhist Stupa at Boudhanath and the fine arts and historical architecture of Kathmandu Durbar Square reflecting the ancient Nepalese culture are highlighted on our guided tour. On return to your hotel, you will have time to explore the local area, have dinner and perhaps take a leisurely stroll through the famous streets.

Day 03: Kathmandu to Pokhra
After breakfast, drive by private car 6 hrs through scenic highway. Pokhara unique charm derives from its all-year-round splendid climate and its stunning close views of magnificent Machhapuchhare or Fish Tail Mountain (6997m), and the mighty Annapurna. Enhancing Pokhara’s appeal is Phewa Lake at the foot of massive peaks a mere 25 km away. Pokhara celebrates mountains and its people, most famously the Gurungs and Magars, who form the core of the renowned Gurkha soldiers.

Walk around the Fewa Lake in the afternoon and take a boat ride. You can enjoy the spectacular views of Annapurna Himalaya Range reflected in all its glory in the calm green water of the lake. Spend leisurely evening. Overnight at Pokhara.

Day 04: Pokhara Sight Seeing
Enjoy breakfast on a terrace overlooking the mighty peaks from your hotel, and Later you leave for a boat ride across the lake. Then do a walk of about 1 ½ hrs (each way) to reach the World Peace Pagoda – a 40 M high shrine built with Japanese aid. Enjoy outstanding panoramic views that cover the Pokhara Valley & Phewa Lake framed by snowcapped mountain peaks. On return afternoon you will have a tour of Davids falls, caves and Tibetan Refugee Camp, Be back at your hotel in the evening. Overnight stay in Pokhara. Have a leisurely stroll over the beach side of Lake enjoying the evening.

Day 05: Pokhara – Chitwan Transfer
After breakfast, drive on to Chitwan National Park, about 5 hour deriver through scenic high way, on arrival at resort lunch will be served and our nature guide will brief you about the programme.  Wildlife in Chitwan National Park includes the greater one-horned rhinoceros, spotted deer, hog deer, sambar deer and barking deer as well as a wide variety of birdlife. With a bit of luck, there is always the chance of glimpsing the leopard, sloth bear, and Royal Bengal tiger. you will  cover  elephant back safari, canoeing, village visit, jungle walk, bird watching, Elephant breeding center visit and Tharu cultural programme during your Chtiwan stay.

Day 06: Chitwan Local Sight Seeing
There are several activities to do, elephant safaris, bird watching, nature walks, village walks, etc. Our guides will help you identify some species of birds, plants and other wildlife. Learn more about these fascinating animals during a visit to our elephant stable. After lunch, traditional dug-out canoe takes you on a silent trip down the Rapti River to view aquatic birds and the animals of the river banks. At the evening, farmers of the nearby villages will show some of their traditional skills and dances.

Day 07: Chitwan – NJP Rly Station / IXB Airport (125 kms / 4 hrs)
After breakfast Check-out from hotel in time and take the departure transfer to NJP Railway Station / IXB Airport for your onward journey.",
		      "name": "6 Nights 7 Days Nepal Tour Program",
		      "telephone": "+91-9735098765"
		    }
		    </script>
			";i:5;N;}