a:6:{i:0;s:36117:"				<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-->				
									<div class="h1"><h1>Explore Nepal Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.traveltrekinfo.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.traveltrekinfo.in/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Explore Nepal Tour</p> 
									
						<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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu, Pokhara, Chitwan, Nagarkot</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Explore Nepal Tour - 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="85040"/>
						</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_15/438384/149634.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438384/149634.jpg"  width="150" height="150"    alt="Explore Nepal Tour" title="Explore Nepal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Assistance on Arrival.<br />
Hotel Accommodation on twin / double sharing basis. <br />
Meal Plan CP (Bed, Breakfast only) <br />
Chitawan on twin sharing basis on full board with safari activities as per the itinerary.<br />
Vehicles are not to be at disposal and are available as per itinerary only (point to point basis). <br />
All sightseeing and excursions as mentioned in the itinerary <br />
All transfers & sightseeing by private Air condition vehicle<br />
All vehicle parking fees at the attractions. <br />
Rates are for Indian and Nepali Customers only<br />
Kathmandu to Kathmandu only<br />
These rates have TAC and are made for B2B for wholesale.Air fare / train fare. <br />
Guide or escort charges & Monuments Entrance fees during sightseeing <br />
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges other then itinerary.<br />
Expenses of personal nature such as tips & gratuity, mineral water, telephone calls, laundry, soft & hard drink, Insurance etc. <br />
Additional adventurous activities like Rafting, Rock Climbing, Paragliding, Cable car, Yak ride, Toy Train Ride, Helicopter ride etc.<br />
Any other item not specified in the Package Inclusions. <br />
Supplement will be applicable for Single occupancy. <br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary. <br />
Entrance Fees & Camera charges, Guide charges. <br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client and is directly payable on the spot). <br />
Room Heater Charges. Anything not specified in the inclusion.								</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">Arrival at Kathmandu International airport. Meet & welcome by our representative & transfer to hotel. Welcome drink followed by tour briefing. Rest of the day is free for personal activities. Overnight 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 And Drive To Nagarkot
										</p>
										<p class="aj">Breakfast & proceed for the half-day sightseeing tour to Kathmandu valley covering Pashupatinath templeholiest and oldest Hindu temple, Boudhanath stupa one of the biggest stupa of the world and Swoyambhunath stupa known as monkey temple oldest Buddhist stupa situated on a hillock overlooking Kathmandu valley and eastern Himalayan ranges. Return & checkout from the hotel and drive for Nagarkot. En-route visit Bhaktapur Durbar Square. Finally arrive Nagarkot at about  2,100 meter from the sea level and check into the hotel. Enjoy hiking around the villages, view the beautiful Himalayan ranges with green hills and valleys. Overnight stay at resort.</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> Drive Nagarkot – Pokhara
										</p>
										<p class="aj">Wake up early Morning to witness beautiful view of Himalaya with sunrise. Breakfast & drive for Pokhara( 235KM / 7 hours ) observing the scenic views on the national highway along the Trishuli River. Upon arrival, check into the hotel. Evening walk around the tourist area of Lake Side and enjoy the view of western Himalayan ranges with Mt Fishtail. Return to hotel and overnight.</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 Tour
										</p>
										<p class="aj">Wake up early to witness the breathtaking sunrise and Himalayan view from your hotel rooftop. After breakfast, leave for sightseeing tour of Pokhara valley covering Davi's Fall, Tibetan Refugee Camp, Seti gorge & Fewa Lake with1 hour boat ride on Lake Fewa. Rest of the day visit around Lake areas. Return to hotel & overnight.</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> Drive Pokhara - Chitwan
										</p>
										<p class="aj">Breakfast & drive to Chitwan National Park. (151 KM /5 hours). On arrival check into the Resort / jungle lodge followed by welcome drink and briefing about the jungle activities. Lunch and proceed for jungle activities. Dinner and overnight will be at jungle lodge /resort.</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 Safari Activities
										</p>
										<p class="aj">Wake up call with tea / coffee followed by Nature walk and Bird watching tour. Breakfast & start jungle safari on Elephant back to see different kinds of deer, rhinoceros, wild boar, leopard, monkeys, birds and many other smaller animals. After elephant back safari tour proceed for Dugout Canoe Ride along with Dungre / Rapti river to see 2 type of rare species of crocodile; the marsh mugger and the fish eating Gharial. Visit elephant breeding farm & drive back to the lodge. Late afternoon Village walk can be organized nearby Tharu village. Walk / drive back to the lodge/resort. Evening enjoy “Tharu Tribal Dance“presented by the local Tharu villagers. Dinner & overnight at the jungle resort / lodge.</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> Drive Chitawan - Kathmandu
										</p>
										<p class="aj">Wake up call followed by tea / coffee. Breakfast & drive back to Kathmandu (186 KM/ 5 hours). Arrive Kathmandu and check into hotel. Rest of the day is free to explore your own. Overnight at hotel 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 8:</b> Departure From Kathmandu
										</p>
										<p class="aj">Breakfast & check out from hotel. Timely transfer to the airport for flight to your onward destination.</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>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air fare / train fare. </li><li>
Guide or escort charges & Monuments Entrance fees during sightseeing </li><li>
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges other then itinerary.</li><li>
Expenses of personal nature such as tips & gratuity, mineral water, telephone calls, laundry, soft & hard drink, Insurance etc. </li><li>
Additional adventurous activities like Rafting, Rock Climbing, Paragliding, Cable car, Yak ride, Toy Train Ride, Helicopter ride etc.</li><li>
Any other item not specified in the Package Inclusions. </li><li>
Supplement will be applicable for Single occupancy. </li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary. </li><li>
Entrance Fees & Camera charges, Guide charges. </li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client and is directly payable on the spot). </li><li>
Room Heater Charges. Anything not specified in the inclusion.</li></ul>
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Remarks :</strong>

<ul>
	<li>If a place of visit is closed to visitors, it will be replaced with an alternative.</li>
	<li>Hotel used in Kathmandu are as per the star mentioned. Regarding Hotels/Resort at Chitwan, Pokhara &amp; Nagarkot and other small cities they are given as per the best option matching the category at Kathmandu.( In Nepal , we have International star ratings hotels available at Kathmandu only)</li>
	<li>During major events, accommodation may not be in the city mentioned. Sequence of itinerary is subject to change without prior notice.</li>
</ul>

<p><strong>GENERAL TERMS &amp; CONDITIONS OF SMITE TOUR AND TRAVELS PVT. LTD</strong>

<p><strong>PRICE</strong><br />
All the above quoted prices are in INR, valid for Indian Nationals only and are correct at the time of pricing but are subject to change without prior notice. As many components of tour packages are not SMITE Tour&#39;s owned property, it is beyond its mean to prices as per the validity shown.<br />
<strong>REFUND</strong><br />
All the tour &amp; land arrangements which may be guaranteed are subject to SMITE Travels inability to provide the same as result of act of Government or such authorities, civil disturbances, strike as a result of any other causes beyond SMITE Travel&#39;s control. SMITE Tour &amp; Travel shall incur no liability to provide any services confirmed if such inability is due to, any of the cause listed above and no refund shall be made on the part or full payments received by us.

<p><strong>TURN AWAY</strong>

<p>In the unlikely event, the Hotel / Resort Safari camp booked is unable to accommodate reconfirmed reservation for whatsoever reason, the properties as booked shall undertake the responsibility of accommodating the business in alternative property of equal ranking as far as possible. Any extra expense incurred during this process is not the responsibility of SMITE Tours &amp; Travels. SMITE Tours &amp; Travels will of course help in this process to the best of its ability taking the interest of principles in mind.

<p><strong>DEPOSITS</strong><br />
Reservation of hotel &amp; other tour land arrangement are confirmed by SMITE Tours &amp; Travels subject to receipt of deposits. Advance payment of 40% of the total tour-land costs including Hotel must be received by SMITE Tours &amp; Travels at least a week prior to the groups scheduled arrival date. Complete payment is to be made before day of arrival to Kathmandu unless prior credit arrangements have been made with us.

<p><strong>ACCOMODATIONS:</strong>

<p>Accomodation in Kathmandu will be Star Category as mention on tour Category. However we used to match similar category in other destinations beside Kathmandu because we have no proper star rating hotels in other small cities of Nepal like Pokhara / Chitwan / Nagarkot etc.

<p><strong>RESERVATIONS</strong><br />
Hotels mention in table are subject to available. In case of unavailability, we will provide similar category hotel. Reservations may be made through e-mail, telex, fax or telephone clearly stating the services required. We take the undertaking process for this reservation and duly confirm the arrangements. The final reconfirmation is required as per the schedule under &quot;Naming &amp; Rooming list&quot;.

<p><strong>SUPPLEMENT:</strong>

<p>Christmas and New Year supplement cost will be added extra in the given cost. The exact rates will be confirmed at the time of bookings only as per the hotel systems.

<p><strong>CREDIT POLICY</strong>

<p>No credit policy.

<p><strong>COMPLIMENTARY POLICY</strong>

<p>For all the land tour arrangement, we will provide you one person complimentary on tour plan, for every 15 full paying guest in a tour. Complimentary or discount accommodation shall be made on a twin sharing basis not in a single occupancy basis.

<p><strong>TRIP CANCELLATION POLICY</strong>

<p>The trip cancellation policy applies as follows:

<ul>
	<li>60 - 30 days prior to departure 10% of the tour cost.</li>
	<li>29 - 15 days prior to departure 20% of the tour cost</li>
	<li>14 to 7 days prior to departure 40 % of the tour cost.</li>
	<li>6 days or less no refunds.</li>
</ul>

<p>Our cancellation policy applies in every instance. There will be no exception for any reasons therefore we strongly recommend that you purchase trip cancellation insurance. This low cost insurance protects all deposits and payments should you have to cancel your trip due to personal or family illness. Should you or anyone in your choice purchase this insurance, please deal directly with the insurance company. Baggage and accident insurance are also available.

<p><strong>EXTRA COSTS</strong>

<p>Round trip airfares from your starting location and back, some city meals, passport and visa fees, tips for guides and trek staff, any medical check-ups, treatment, evacuation and immunization, insurance of any kind, excess baggage charges, airport taxes and any other items of a personal nature are not included in land costs.

<p><strong>AIRLINE CLAUSE</strong>

<p>The airlines are not to be held responsible for any act of omission or event during the time passengers is not on board their planes or conveyances. The passenger contract in use by the airline, when issued shall constitute the sole contract between such purchase of these tours and or passenger. Such contracts are subject to the laws of the countries involved.

<p><strong>YOUR FINAL AGREEMENT</strong>

<p>By making reservations with SMITE Tours &amp; Travels or its associates and depositing your advance payment with us, our agents or representatives, you agree to each of the foregoing terms and conditions and agree that you are thereby bound. You also acknowledge that you have carefully read and understood the foregoing terms and conditions.								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Explore Nepal 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="85040"/>
						</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.traveltrekinfo.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(61)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(33)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-phuntsholing.htm" title="Packages in Phuntsholing">Phuntsholing</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/packages-in-wangdue-phodrang.htm" title="Packages in Wangdue Phodrang">Wangdue Phodrang</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-chitwan.htm" title="Packages in Chitwan">Chitwan</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-bumthang.htm" title="Packages in Bumthang">Bumthang</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-jomsom.htm" title="Packages in Jomsom">Jomsom</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.traveltrekinfo.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</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.traveltrekinfo.in/packages-in-namchi.htm" title="Packages in Namchi">Namchi</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.traveltrekinfo.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(59)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.traveltrekinfo.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Kathmandu, Pokhara, Chitwan, Nagarkot</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149629.jpg"  alt="Discover Nepal Tour" title="Discover Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm" title="Discover Nepal Tour"><h3>Discover Nepal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara</p>
															<div class="mt10px small">
							<form name="pkg_85035" id="pkg_85035" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/discover-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Discover Nepal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85035"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149636.jpg"  alt="Explore Nepal (11N12D) Tour" title="Explore Nepal (11N12D) Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm" title="Explore Nepal (11N12D) Tour"><h3>Explore Nepal (11n12d) Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								11 Nights / 12 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara, Chitwan, Nagarkot, J..</p>
															<div class="mt10px small">
							<form name="pkg_85042" id="pkg_85042" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/explore-nepal-11n12d-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Explore Nepal (11N12D) Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85042"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149633.jpg"  alt="Natural Nepal Tour" title="Natural Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm" title="Natural Nepal Tour"><h3>Natural Nepal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara, Chitwan</p>
															<div class="mt10px small">
							<form name="pkg_85039" id="pkg_85039" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/natural-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Natural Nepal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85039"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/ourata-glance-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/150017.jpg"  alt="Our At A Glance Nepal Tour" title="Our At A Glance Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/ourata-glance-nepal-tour.htm" title="Our At A Glance Nepal Tour"><h3>Our At A Glance Nepal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								13 Nights / 14 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu</p>
															<div class="mt10px small">
							<form name="pkg_85372" id="pkg_85372" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/ourata-glance-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Our At A Glance Nepal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85372"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149627.jpg"  alt="Best of Nepal" title="Best of Nepal"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm" title="Best of Nepal"><h3>Best Of Nepal</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu</p>
															<div class="mt10px small">
							<form name="pkg_85032" id="pkg_85032" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/bestof-nepal.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of Nepal - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85032"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/438384/149631.jpg"  alt="Hil and Mountains l of Himalaya of Nepal Tour" title="Hil and Mountains l of Himalaya of Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm" title="Hil and Mountains l of Himalaya of Nepal Tour"><h3>Hil And Mountains L Of Himalaya Of Nepal T..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu</p>
															<div class="mt10px small">
							<form name="pkg_85037" id="pkg_85037" method="post" action="http://www.traveltrekinfo.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.traveltrekinfo.in/tour-packages/hil-and-mountainslof-himalayaof-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Hil and Mountains l of Himalaya of Nepal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="85037"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:57:"Book Explore Nepal Tour - 7 Nights / 8 Days Tour Packages";i:2;s:134:"book explore nepal tour - 7 nights / 8 days tour packages, heritage tour packages, kathmandu, pokhara, chitwan, nagarkot tour packages";i:3;s:201:"Book Explore Nepal Tour - 7 Nights / 8 Days tour packages from Trip of Lifetime Traveltrek Pvt Ltd - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Kathmandu, Pokhara, Chitwan, Nagarkot.";i:4;s:1989:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara, Chitwan, Nagarkot"        
		                 },
		      "description": "Assistance on Arrival.
Hotel Accommodation on twin / double sharing basis. 
Meal Plan CP (Bed, Breakfast only) 
Chitawan on twin sharing basis on full board with safari activities as per the itinerary.
Vehicles are not to be at disposal and are available as per itinerary only (point to point basis). 
All sightseeing and excursions as mentioned in the itinerary 
All transfers & sightseeing by private Air condition vehicle
All vehicle parking fees at the attractions. 
Rates are for Indian and Nepali Customers only
Kathmandu to Kathmandu only
These rates have TAC and are made for B2B for wholesale.Air fare / train fare. 
Guide or escort charges & Monuments Entrance fees during sightseeing 
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges other then itinerary.
Expenses of personal nature such as tips & gratuity, mineral water, telephone calls, laundry, soft & hard drink, Insurance etc. 
Additional adventurous activities like Rafting, Rock Climbing, Paragliding, Cable car, Yak ride, Toy Train Ride, Helicopter ride etc.
Any other item not specified in the Package Inclusions. 
Supplement will be applicable for Single occupancy. 
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary. 
Entrance Fees & Camera charges, Guide charges. 
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client and is directly payable on the spot). 
Room Heater Charges. Anything not specified in the inclusion.",
		      "name": "Explore Nepal Tour",
		      "telephone": "+91-9647525702"
		    }
		    </script>
			";i:5;N;}