a:6:{i:0;s:20939:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Day Trip Cherapunjee Full Day Tour Timing 8 To 9 Hours</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.greenhilltoursandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.greenhilltoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Day Trip Cherapunjee Full Day Tour Timing 8 To 9 Hours</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> 
						1 Day 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Cherrapunji</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.greenhilltoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours - 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="188159"/>
						</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/500778/294434.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/500778/294434.jpg"  width="150" height="81"    alt="Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours" title="Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Day Itinerary
										</p>
										<p class="aj">(1st) The Mawkdok Dympep Valley<br />
About the Experience<br />
Glide across the verdant valleys of Cherrapunjee with this ziplining experience and get a bird’s eye view of the lush green Khasi hills and misty clouds. Set amidst the beautiful Mawkdok Dympep Valley, the zip lines extends from the length of 1089 feet to 2600 feet at a height of 1200 feet. Sign up for this thrilling experience and fly over the hills!<br />
The group will be accompanied by a certified instructor and guide at all times.<br />
Basically a view point developed by the government. It lies at the beginning of the Sohra tourism circuit.<br />
<br />
(2nd) Green vally viwe point<br />
Kongthong Village<br />
In The Whistling Village of Meghalaya, Every Child Has a ‘Unique Lullaby ID’!<br />
For generations, the residents of Meghalaya’s Kongthong village have communicated with each other using a unique form of whistled identity instead of names!<br />
<br />
(3rd) Wah-kaba Falls<br />
A scenic waterfall located in this area.<br />
<br />
(4th) Ramakrishna Mission Museum<br />
At the top of the hill in Cherrapunji village, the museum in the Ramakrishna Mission (a Hindu spiritual movement with origins in West Bengal) has an interesting collection of Northeastern tribal artefacts from fish traps to fur hats, plus dioramas of tribal life, and a room with further artefacts, models and info focusing on Meghalaya’s Garo, Jaintia and Khasi tribes.<br />
<br />
(5th) Nohkalikai Falls<br />
The fourth highest waterfalls in the world, Nohkalikai falls plunge some 335 meters from a verdant cliff to the ground giving the portrayal of immense and natural magnificence. The pride of the state of Meghalaya, the falls are one of the most beautiful and grand waterfalls in the country. Tucked in between evergreen rainforest of the Khasi Hill and flowing with all its majesty and might, the falls plunges into a lagoon which is as blue as the afternoon sky.<br />
<br />
Nohkalikai Falls is one of the most popular and significant places to see in the North-East. The name of the falls is attached with a sad story of woman named Ka Likai who remarried a man, who believed that she loved his daughter more than him. So one day while Ka Likai was working outside, the man killed his daughter and cooked her flesh and served it to Ka Likai. She ate the meal and went out to look for her daughter and while doing so she found her fingers in a beet-nut basket. Seeing this she became very upset and plunged to death from the waterfall which was now renamed ‘Noh Ka Likai ‘.<br />
<br />
(6th) The Eco Park<br />
Created in the plateaus of Meghalaya by the state government, it is a great attraction for locals as well as tourists. The Shillong Agri-Hoticulture has given this park many beautiful orchids which are housed in the Eco park’s green house.<br />
<br />
The Eco park’s biggest USP is the view point from where one can enjoy views of the massive, plain yet exotic Sylhet Plains of Bangladesh.<br />
<br />
Mawsmai Cave<br />
Meghalaya is home to some amazing and mysterious cave systems and Mawsmai Cave is by far the most popular of the lot. Located just 6 km away from the heart of Cherrapunji Mawsmai cave is a breathtaking maze of caves in the East Khasi Hills of Meghalaya. The well lit caves are a view to behold when the glistening lights meet with the limestone to create countless hues and patterns of light.Considered to be the most popular of all the caves in the region, Mawsmai Cave is beautiful to say the least. There is plenty of flora and fauna within the cave to catch one’s attention. The length of the cave is just 150 meters which is not the longest compared to the other caves in the region but it surely provides one a glimpse of life in the underground.<br />
<br />
(7th) Seven Sister Falls<br />
Seven Sister Falls is a picturesque waterfall located at Mawsmai village in East Khasi Hills district of Meghalaya. Also known as Seven Sister Falls and Mawsmai Falls, it is one of the tallest waterfalls in India and among the major places to visit in Cherrapunji.The best time to visit this place is during the monsoon, when the streams are flooded with water and flow down rapidly forming a perennial rainbow, which gives the spectacular views for the tourists. One can get the magnificent view of the falls from the viewpoint situated at Mawsmai village as there is no possibility to get into the water. Tourist can also view the falls from the Eco Park which has been constructed on a plateau on top of the falls.</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>All conveyance by</li><li>
Green Hill Tours and Travels</li><li>
Air-Conditioned Sedan & SUV Cabs Etc</li><li>
Sightseeing and Transportation</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>GST</li><li>
Entry fees for visiting different places</li><li>
Lunch throughout the fare</li><li>
Personal Drinks, laundry, camera fees etc.</li><li>
Things which are not included above</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Once we receive the payment you will receive an acknowledgment email from </li><li>
us showing receipt and confirmation of payment</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>25% of total package cost if cancelled 30 days before the starting date of the trip.</li><li>
50% of total package cost if cancelled 15-30 days before the starting date of the trip.</li><li>
100% of total package cost if cancelled 0-15 days before the starting date of the trip.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.greenhilltoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours - 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="188159"/>
						</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.greenhilltoursandtravels.com/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/kaziranga-tour-packages.htm" title="Kaziranga Tour Packages">Kaziranga</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/bhalukpong-tour-packages.htm" title="Bhalukpong Tour Packages">Bhalukpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/tawang-tour-packages.htm" title="Tawang Tour Packages">Tawang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/golaghat-tour-packages.htm" title="Golaghat Tour Packages">Golaghat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</a> <b class="alpha50 bn small">(1)</b></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.greenhilltoursandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.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.greenhilltoursandtravels.com/river-rafting-holidays-catid.htm" title="River Rafting Packages">River Rafting</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/angling-holidays-catid.htm" title="Angling Packages">Angling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/group-holidays-catid.htm" title="Group Packages">Group</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.greenhilltoursandtravels.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</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.greenhilltoursandtravels.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.greenhilltoursandtravels.com/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</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.greenhilltoursandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/road-trip-holidays-catid.htm" title="Road Trip Packages">Road Trip</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.greenhilltoursandtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</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.greenhilltoursandtravels.com/boating-holidays-catid.htm" title="Boating Packages">Boating</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.greenhilltoursandtravels.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 spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/jeep-safari-holidays-catid.htm" title="Jeep Safari Packages">Jeep Safari</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.greenhilltoursandtravels.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</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.greenhilltoursandtravels.com/elephant-safari-holidays-catid.htm" title="Elephant Safari Packages">Elephant Safari</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.greenhilltoursandtravels.com/caving-holidays-catid.htm" title="Caving Packages">Caving</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.greenhilltoursandtravels.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</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.greenhilltoursandtravels.com/boat-cruise-holidays-catid.htm" title="Boat Cruise Packages">Boat Cruise</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.greenhilltoursandtravels.com/shopping-holidays-catid.htm" title="Shopping Packages">Shopping</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.greenhilltoursandtravels.com/scuba-diving-holidays-catid.htm" title="Scuba Diving Packages">Scuba Diving</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.greenhilltoursandtravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</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:82:"Book Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours - 1 Days Tour Packages";i:2;s:138:"book day trip cherapunjee full day tour timing 8 to 9 hours - 1 days tour packages, river rafting tour packages, cherrapunji tour packages";i:3;s:184:"Green Hills Tours and Travels offers Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours - 1 Days tour package, budget River Rafting tour packages for Cherrapunji at exciting price.";i:4;s:437:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Cherrapunji"        
		                 },
		      "description": "",
		      "name": "Day Trip Cherapunjee Full Day Tour Timing 8 to 9 Hours",
		      "telephone": "+91-7005499309"
		    }
		    </script>
			";i:5;N;}