a:6:{i:0;s:30694:"				<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>Nepal 3 star package for 7 days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Nepal 3 star package for 7 days</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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kathmandu, Pokhara</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.maataratours.com/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="111189"/>
						</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_17/497806/182975.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182975.jpg"  width="150" height="150"    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="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								04 nights accommodation in Kathmandu with Breakfast.<br />
02 nights accommodation in Pokhara with Breakfast.<br />
02 international airport transfers by Hotel Courtsey vehicle.<br />
Sightseeing as per the itinerary in Kathmandu and Pokhara by Non A/c vehicle exclusively<br />
Transportation Kathmandu / Pokhara / Kathmandu by Non A/c vehicle exclusively<br />
All applicable hotel taxesServices other than specified.<br />
Entrance fee at the monumental sites during the sightseeing<br />
Guide during the sightseeing<br />
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.<br />
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations  any accidents, medical evacuations, riots, strikes, etc.<br />
5 % Government service tax<br />
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.<br />
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.02-1125-03								</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 Package cost 3 Star <br />
Per Person(min 2 pax required) 18638<br />
Extra Adult 15215<br />
Per Person(min 4 pax required) 15215<br />
Per Person(min 6 pax required) 15215<br />
Child With Bed(5-12 yrs) 6974<br />
Child Without Bed(5-12 yrs) 3804<br />
Destination No of Nights 3 Star<br />
Kathmandu 2 Mirage Lords Inn. / similar hotels Pokhara 2 Hotel Queens Park / similar hotels 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>Hotel</li>
																						<li>Meals</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>
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">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Package cost</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">18638</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">15215</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 4 pax required)</td>
				<td class="data p5px">15215</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 6 pax required)</td>
				<td class="data p5px">15215</td>
			</tr>
			<tr>
				<td class="data p5px">Child With Bed(5-12 yrs)</td>
				<td class="data p5px">6974</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">3804</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Destination</td>
				<td class="headHr p5px b">No of Nights</td>
				<td class="headHr p5px b">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Kathmandu</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Mirage Lords Inn. / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Pokhara</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Hotel Queens Park / similar hotels</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Cancellation Policy</strong>

<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>

<p><strong>Terms and Conditions</strong>

<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 &amp; 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&amp;</li>
	<li>146;s 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>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 NationalNot 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 &amp; 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 berevisited on guest&amp;</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 &amp; 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&#39;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>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maataratours.com/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="111189"/>
						</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.maataratours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</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.maataratours.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.maataratours.com/packages-in-shillong.htm" title="Packages in Shillong">Shillong</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.maataratours.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</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.maataratours.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.maataratours.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</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.maataratours.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.maataratours.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.maataratours.com/packages-in-sydney.htm" title="Packages in Sydney">Sydney</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.maataratours.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</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.maataratours.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.maataratours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(2)</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.maataratours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/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.maataratours.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.maataratours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.maataratours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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>
				</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:126:"book nepal 3 star package for 7 days - 6 nights / 7 days tour packages, valley tour packages, kathmandu, pokhara tour packages";i:3;s:182:"Book Nepal 3 star package for 7 days - 6 Nights / 7 Days tour packages from Maa Tara Tours & Travels - Get attractive 6 Nights / 7 Days Valley  tour packages for  Kathmandu, Pokhara.";i:4;s:1380:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kathmandu, Pokhara"        
		                 },
		      "description": "04 nights accommodation in Kathmandu with Breakfast.
02 nights accommodation in Pokhara with Breakfast.
02 international airport transfers by Hotel Courtsey vehicle.
Sightseeing as per the itinerary in Kathmandu and Pokhara by Non A/c vehicle exclusively
Transportation Kathmandu / Pokhara / Kathmandu by Non A/c vehicle exclusively
All applicable hotel taxesServices other than specified.
Entrance fee at the monumental sites during the sightseeing
Guide during the sightseeing
Any expenses of personal nature such as drinks, laundry, telephone/fax calls.
Any expenses caused by reasons beyond our control such as flight delays, rescheduling or cancellations  any accidents, medical evacuations, riots, strikes, etc.
5 % Government service tax
Any tips to drivers, hotel staff, any meals apart from the ones mentioned above.
Any other tax or service charge that could be enforced during this period will be extra & need to borne by you.02-1125-03",
		      "name": "Nepal 3 star package for 7 days",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}