a:6:{i:0;s:12073:"				<div class="h1"><h1>6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travvelextent.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travvelextent.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Guwahati, Shillong, Golaghat, Cheraponjee</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N 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="109007"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_10/274422/180251.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/180251.jpg"  width="150" height="150"    alt="6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour" title="6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					<b> THE COST INCLUDES<br />
COST BASED ON(valid for Indian National only)<br />
Twin Sharing Per Person <br />
Extra Person / Child With Bed (CWB) sharing the Room on mattress <br />
02 – 03 Pax - All Transfer & Sightseeing by 01 NON AC Indica / Wagon r / Similar <br />
04 – 06Pax - All Transfer & Sightseeing by 01 NON AC Tata Sumo / Similar <br />
Meet & Greet upon arrival at Airport / Guwahati Station<br />
1 Jeep Safari & 1 elephant safari in Kaziranga National Park <br />
Hotel Accommodation as per the name mentioned in the Category for duration as mentioned in the itinerary.<br />
All applicable Transfers & Sightseeing by Specified vehicle which will not be at disposal and will be exclusively used for the guest as per the itinerary only<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> Guwahati - Shillong
								</p>
								<p class="aj">Welcome to Guwahati. Meet and be assisted by our representative at the airport/Railway Station & proceed to Shillong, also called 'Scotland of the East".Check in at your hotel. Evening you can visit the local market. Overnight stay in Shillong.</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> Shilong - Cherrapunjee
								</p>
								<p class="aj">After breakfast drive to Cherrapunjee. En-route visit Elephanta falls. City tour of Cheerapunjee continues. Visit Wahkhaba falls, Nohkhalikai Falls, You will also explore one of the cave known as Mousomi. Check in your hotel. Overnight at Cherrapunjee.</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> Cherrapunjee - Mawlynnong - Shillong
								</p>
								<p class="aj">After Breakfast Drive to Mawlynnong, Mawlynnong - Asia’s Cleanest Village. Mawlynnong offers many interesting sights such as the living root bridge and another strange natural phenomenon of a boulder balancing on another small rock. Explore the Asia’s cleanest Village and Drive to ShillongEnroute visit Shillong peak for some breathtaking views. In Evening time at leisure in shillong market. Overnight stay at Shillong</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> Shillong - Kaziranga National Park
								</p>
								<p class="aj">After breakfast check out of the hotel and transfer to Kaziranga National Park, the home of the 'One Horned Rhinoceros'. Check in at your hotel/Lodge/resort. Evening free for leisure. Overnight stay at 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> Kaziranga National Park
								</p>
								<p class="aj">Early morning explore Western Zone or Central Zone of Kaziranga National Park on back of elephant. Apart from world's endangered One-horned Rhinoceros, the Park sustains half the world's population of genetically pure Wild Water Buffaloes, over 1000 Wild elephants and perhaps the densest population of Royal Bengal Tigers anywhere. Kaziranga is also a bird watcher's paradise and home to some 500 species of birds. The Crested Serpent Eagle, Palla's Fishing Eagle, Greyheaded Fishing Eagle, Swamp Partridge, Bar-headed goose, whistling Teal, Bengal Florican, Storks, Herons and Pelicans are some of the species found here. We will return to the resort for breakfast. Afternoon we have arranged a jeep safari through the Central Zone of the National Park . Evening come back to the hotel Overnight stay at 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 6:</b> Kaziranga to Guwahati
								</p>
								<p class="aj">After breakfast start drive Kaziranga to Guwahati. Check in your hotel Evening free for leisure. Overnight at Guwahati 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 7:</b> Deparature
								</p>
								<p class="aj">After breakfast sightseeing and transfer to Guwahati Airport for your onward journey. On the way visit Kamakhya temple, one of most venerated Shaktipeeths in India</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Cost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees.</li>
	<li>Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.</li>
	<li>Cost for service provided on a personal request.</li>
	<li>Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.</li>
	<li>Cost for any other service not mentioned under the &ldquo;Cost Includes&rdquo; head.</li>
	<li>Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.</li>
	<li>Difference in cost arising due to extra usage of vehicle, other than scheduled &amp; mentioned in the itinerary.</li>
	<li>Difference in cost arising due to mishaps, political unrest, natural calamities like - landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.</li>
</ul>						
    	<p class="h dif xlarge b mb5px">COST based in C.P. basis in standard package</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Per Person Cost</td>
			</tr>
			<tr>
				<td class="data p5px">2 Pax</td>
			</tr>
			<tr>
				<td class="data p5px">4 Pax</td>
			</tr>
			<tr>
				<td class="data p5px">6 Pax</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Person</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotel Details</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Shillong</td>
				<td class="data p5px">Eee Cee or similar</td>
			</tr>
			<tr>
				<td class="data p5px">Cherrapunji</td>
				<td class="data p5px">Coniferous Resort or similar</td>
			</tr>
			<tr>
				<td class="data p5px">Kaziranga</td>
				<td class="data p5px">Cottage Hrishikesh or similar</td>
			</tr>
			<tr>
				<td class="data p5px">Guwahati</td>
				<td class="data p5px">Siroy Lily or similar</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N 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="109007"/>
						</form>
						</div>
						
						";i:1;s:111:"Book 6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour - 6 Nights / 7 Days Tour Packages";i:2;s:190:"book 6 nights/ 7 days shillong 2n/cheraponjee1n/kaziranga 2n/guwahati 1n tour - 6 nights / 7 days tour packages, valley tour packages, guwahati, shillong, golaghat, cheraponjee tour packages";i:3;s:236:"Book 6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour - 6 Nights / 7 Days tour packages from Travvel Extent - Get attractive 6 Nights / 7 Days Valley  tour packages for  Guwahati, Shillong, Golaghat, Cheraponjee.";i:4;s:1195:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Shillong, Golaghat, Cheraponjee"        
		                 },
		      "description": "<b> THE COST INCLUDES
COST BASED ON(valid for Indian National only)
Twin Sharing Per Person 
Extra Person / Child With Bed (CWB) sharing the Room on mattress 
02 – 03 Pax - All Transfer & Sightseeing by 01 NON AC Indica / Wagon r / Similar 
04 – 06Pax - All Transfer & Sightseeing by 01 NON AC Tata Sumo / Similar 
Meet & Greet upon arrival at Airport / Guwahati Station
1 Jeep Safari & 1 elephant safari in Kaziranga National Park 
Hotel Accommodation as per the name mentioned in the Category for duration as mentioned in the itinerary.
All applicable Transfers & Sightseeing by Specified vehicle which will not be at disposal and will be exclusively used for the guest as per the itinerary only",
		      "name": "6 Nights/ 7 Days Shillong 2N/Cheraponjee1N/Kaziranga 2N/Guwahati 1N Tour",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}