a:6:{i:0;s:22580:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Nepal 3 Star Package For 7 Days</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.enjoyhappyholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.enjoyhappyholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Nepal 3 Star Package For 7 Days</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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu, Pokhara</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 59250 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nepal 3 Star Package for 7 Days - 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="188678"/>
						</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_20/597001/295754.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/597001/295754.jpg"  width="150" height="98"    alt="Nepal 3 Star Package for 7 Days" title="Nepal 3 Star Package for 7 Days" /></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> Arrive Kathmandu
										</p>
										<p class="aj">Arrive into Kathmandu International Airport. Post customs and immigration, you will be met just outside the arrival hall and get transferred to your hotel. The rest of the day is leisure on your own. Overnight stay 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 2:</b> In Kathmandu * Excursion to Nagarkot (32 kms / approx. 1 hour drive)
										</p>
										<p class="aj">Today proceed for excursion to Nagarkot. Nagarkot is situated at an altitude of 7500 feet high and is the best place for countryside walking and mountain viewing. It is the only place from where one can view a panorama of the entire eastern central Himalaya - Everest, Numbur, Chooyu, Nuptse, Lhotse, Makalu and to the west Manaslu and Himalchuli five of the world's ten highest peaks. Visit Bhaktapur, Located about 20 km east of Kathmandu in the Kathmandu Valley, Bhaktapur is known as the 'City of Devotees', the 'City of Culture', the 'Living Heritage', and 'Nepal's Cultural Gem'. It is one of the 3 royal cities in the Kathmandu Valley. Evening return to Kathmandu.Overnight stay 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> On to Pokhara (200 kms / approx. 6 hour drive)
										</p>
										<p class="aj">Today you will proceed on a picturesque drive to the enchanting city of Pokhara. On arrival, check into your hotel. The rest of the evening is free to enjoy the serenity and magnificence of the Himalayas or enjoy a leisurely walk around the serene Phewa Lake.Overnight stay 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 4:</b> In Pokhara
										</p>
										<p class="aj">The day is spent unraveling the wonders of the Pokhara Valley. Enjoy Half Day visit to Bindabasini Temple --The white pagoda-styled building of the Hindu Bindabasini Temple quietly sits at some 3000 feet above sea level along the renowned Annapurna and Machhpuchhare mountain ranges. It is located near the busy Old Bazaar of Pokhara, a center of commerce in the Himalayas. and the Gupteshwar Cave where the Shiva lingam is preserved and finally visit the Devi Falls. Afternoon Return to Hotel. Rest of the day free for leisure.Overnight stay 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> On to Kathmandu (200 kms / approx. 6 hour drive)
										</p>
										<p class="aj">Today drive back to Kathmandu. On arrival, check into hotel. Rest of the evening is at leisure.</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> In Kathmandu | City tour of Kathmandu
										</p>
										<p class="aj">Today, enjoy a city tour of Kathmandu, visiting temples of Pashupatinath, Boudhanath, Swayambhunath, temple of the living Goddess and stroll through the old Durbar Square. The rest of the evening is free to enjoy exploring the markets, pubs and casinos on own.</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> Return Home with Happy Memories
										</p>
										<p class="aj">Today bid farewell to Nepal, as you are transferred to Kathmandu International 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>EP (No Meal)</li>
																				<li>04 nights accommodation in Kathmandu with Breakfast.</li><li>
02 nights accommodation in Pokhara with Breakfast.</li><li>
02 international airport transfers by Hotel Courtsey vehicle.</li><li>
Sightseeing as per the itinerary in Kathmandu and Pokhara by Non A/c vehicle exclusively</li><li>
Transportation Kathmandu / Pokhara / Kathmandu by Non A/c vehicle exclusively</li><li>
All applicable hotel taxes (GSt extra)</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Services other than specified.</li><li>
Entrance fee at the monumental sites during the sightseeing</li><li>
Guide during the sightseeing</li><li>
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.</li><li>
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations, any accidents, medical evacuations, riots, strikes, etc.</li><li>
5 % Government service tax</li><li>
Mandatory Gala dinner Supplement on Christmas and New year period will be borne by guest directly</li><li>
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.</li><li>
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>High season surcharges will be applicable from 20 Dec 2016 - 10 Jan 2017</li><li>
A valid Indian passport or an election Id is the only valid document for adults ( 18 yrs & above) for travel to Kathmandu by air. For children below the age of 18 years the school or college ID suffices. The id should clearly reflect the traveller& 146s picture, school or college name, date of birth as well as the class in which the student is studying.</li><li>
All rates quoted are on Per person basis (in Rs) - Applicable for 2 persons staying together sharing the same room</li><li>
Service Tax extra as applicable.</li><li>
Mandatory Gala dinner Supplement on Christmas and New year period will be borne by guest directly</li><li>
Prices mentioned are the minimum quote and will be available on first-come, first-served basis</li><li>
Package rates are subject to change without prior notice</li><li>
Via Holidays reserves the right to change/modify or terminate the offer anytime at its own discretion and without any prior notice</li><li>
The Above Rates are only applicable for Indian National(Not valid for OCI)</li><li>
We request the customers to provide their meal preference at the time of booking for convenience during the Holiday</li><li>
Meal selections are available for vegetarian / non-vegetarian food.</li><li>
In case of unavailability in mentioned hotels, alternate accommodation will be arranged in a similar category hotel.Early check in & late checkout is subject to availability and on extra chargeable basis</li><li>
Rooms are subject to availability at the time of booking.</li><li>
The tour cost is not refundable at any cause, once tour starts. No refund on un-utilized services of the packages. Places / sites not visited as per the given tour route of the day, the same spot will not be revisited on guest&</li><li>
146;s request except on extra payment.</li><li>
The tour guide/escort reserves the rights to make changes/detour or omit any place of visit, if it becomes necessary due to bad weather, bad road, strike and security & other technical reason.</li><li>
VEHICLE WILL BE PROVIDED STRICTLY AS PER ITINERARY AND NOT ON DISPOSAL.</li><li>
Sightseeing Hours: Half day sightseeing will be of Appx. 03 hours</li><li>
Full day sightseeing will be of Appx. 06 hours</li><li>
ALL TRANSFERS AND SIGHT SEEING WILL BE WITOHUT GUIDE (Unless Specified)</li><li>
Check-in: 13:00 hrs. / Check-out time is 11:00 hrs</li><li>
The guests are requested to keep cool with the drivers as they are not tourism educated and come from remote villages. Will appreciate, the guests do not lend their ears to the drivers as most of the time they misguide the passengers. For any guidance we would request them to contact our executive.</li><li>
Upon arrival, the guests will be furnished with a local contact number of our executive, who will assist the clients while travelling with us. </li><li>
In Pokhara the vehicles from Kathmandu are not allowed to do the sightseeing. Hence a local vehicle will be provided for the same.</li><li>
If at any tourist spot the travellers do not complete the tours and want to continue the same the following day or later they will have to pay extra for the cost of the vehicle.</li><li>
Please do inform the guest's to maintain the timing for the sightseeing / transfers which will be advised by our Executive / Hotel.</li><li>
Kindly maintain the timing for the sightseeing / transfers which will be advised by our executive.</li><li>
Category of Rooms in the packages is base category other than specified.</li><li>
Do note that cars in Nepal do not have carriers. In the dicky 2 normal size suitcases with one or two small hand bags can fit. 4 pax are accommodated in a car with 1 person in the front seat next to the driver and 3 pax in the back. Just in case the clients feel uncomfortable / congested with 4 persons travelling in the car the option is available for a Van / Scorpio / Hiace / at an additional cost.</li><li>
Vehicle will not be at disposal but will perform its respective duties as per the itinerary only. (Point to point)</li><li>
Any changes in the check in, check out, arrival and departure time, hotel name, itinerary are possible which will be communicated to you by our representatives if any need arises due to some unforeseen reasons. Cooperation from every guest is solicited to assist us to make your tour a memorable one.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Up to 30 days prior to date of departure Initial deposit amount 25% of the tour cost (Non Refundable) per person</li><li>
Between 22 days to 29 days prior to departure 50% of tour cost ( We need 50% payment as well)</li><li>
Between 16 days to 21 days prior to departure 75% of tour cost</li><li>
Less than 15 days prior to departure 100% of tour cost</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nepal 3 Star Package for 7 Days - 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="188678"/>
						</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="https://www.enjoyhappyholidays.in/somnath-tour-packages.htm" title="Somnath Tour Packages">Somnath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/dwarka-tour-packages.htm" title="Dwarka Tour Packages">Dwarka</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/jamnagar-tour-packages.htm" title="Jamnagar Tour Packages">Jamnagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/puri-tour-packages.htm" title="Puri Tour Packages">Puri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/junagadh-tour-packages.htm" title="Junagadh Tour Packages">Junagadh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.in/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</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="https://www.enjoyhappyholidays.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</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:70:"Book Nepal 3 Star Package for 7 Days - 6 Nights / 7 Days Tour Packages";i:2;s:129:"book nepal 3 star package for 7 days - 6 nights / 7 days tour packages, adventure tour packages, kathmandu, pokhara tour packages";i:3;s:166:"Enjoy Happy Holidays offers Nepal 3 Star Package for 7 Days - 6 Nights / 7 Days tour package, budget Adventure tour packages for Kathmandu, Pokhara at exciting price.";i:4;s:421:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "",
		      "name": "Nepal 3 Star Package for 7 Days",
		      "telephone": "+91-9775769250"
		    }
		    </script>
			";i:5;N;}