a:6:{i:0;s:13118:"				<div class="h1"><h1>WET & WILD (6Nights / 7Days) Package</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>WET & WILD (6Nights / 7Days) Package</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</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="WET & WILD (6Nights / 7Days) Package - 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="109008"/>
						</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/180252.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/180252.jpg"  width="150" height="150"    alt="WET & WILD (6Nights / 7Days) Package" title="WET & WILD (6Nights / 7Days) Package" /></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 onlyCost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees. <br />
Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.<br />
Cost for service provided on a personal request. <br />
Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.<br />
Cost for any other service not mentioned under the “Cost Includes” head.<br />
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.<br />
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.<br />
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.<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 Airport / Raailway Station – Kaziranga National Park
								</p>
								<p class="aj">Meet and assist by our representative at the Guwahati Airport / Railway Station & transfer to Kaziranga National Park, the home of “One Horned Rhinoceros”, Check in at your hotel. Evening free for leisure. Overnight stay at Kaziranga.</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> Kaziranga National Park
								</p>
								<p class="aj">Early morning explore any one zone of Kaziranga National Park on back of Elephant. Apart from the Rhino, other species found are Hog Deer, Swamp Deer, Wild Buffalo, Elephants and if you are lucky then tiger also. It is also home to pelicans, storks and darters as there are a number of water bodies inside the Park. Return to the resort for breakfast. In the afternoon enjoy jeep safari through the National Park. Evening return to the hotel. Overnight stay at Kaziranga.</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> Kaziranga National Park – Shillong
								</p>
								<p class="aj">After breakfast proceed for Shillong (4,900 ft.), called 'Scotland of the East". Enroute visit Umium Lake, a majestic placid lake with its surrounding sylvan hills. On arrival at Shillong, check in at your hotel. Back to the hotel. 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> Excursion to Cherrapunjee:
								</p>
								<p class="aj">After early breakfast drive to Cherrapunjee (4,400 ft.), the wettest place in the world. You will see the beautiful waterfall known as Nohkalikai. You can also explore the caves known as Mawsmai. Evening return to Shillong, enroute visit Elephanta falls and Shillong peak for some breathtaking views. 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 5:</b> Shillong Sightseeing – Guwahati
								</p>
								<p class="aj">After breakfast visit Don Bosco Museum & Ward’s Lake. After that drive to Guwahati. Arrive and check in at hotel. In the evening visit 'Kalakshetra', a place where Assamese history and culture is presented through Light and sound show. Return to hotel. Overnight stay at Guwahati.</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> Guwahati Local Sightseeing:
								</p>
								<p class="aj">After breakfast out to visit Kamakhya Temple, Tirupati Balaji Temple, Nabagraha Temple, , State Zoo cum Botanical Garden, Regional Science Centre and Sukreswar Temple (The 6th Jyotirlinga of Shiva). Afternoon we suggest an optional tour of Golden sunset cruise on the Brahmaputra (Direct Payment by own). Overnight stay at Guwahati.</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> Guwahati – Airport / Railway Station:
								</p>
								<p class="aj">After breakfast visit Kamakhya Temple, etc. Transfer to Guwahati Airport / Railway Station for your onward journey.<br />
<br />
****** End of the Tour*****</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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</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 “Cost Includes” 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 & 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><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~						
    	<p class="h dif xlarge b mb5px">Rate Card</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">COST based in C.P. basis in standard package</td>
				<td class="headHr p5px b">Per Person Cost</td>
			</tr>
			<tr>
				<td class="data p5px">2 Pax</td>
				<td class="data p5px">22512</td>
			</tr>
			<tr>
				<td class="data p5px">4 Pax</td>
				<td class="data p5px">15030</td>
			</tr>
			<tr>
				<td class="data p5px">6 Pax</td>
				<td class="data p5px">11307</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Person</td>
				<td class="data p5px">5610</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">Kaziranga</td>
				<td class="data p5px">Cottage Hrishikesh or similar</td>
			</tr>
			<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">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="WET & WILD (6Nights / 7Days) Package - 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="109008"/>
						</form>
						</div>
						
						";i:1;s:75:"Book WET & WILD (6Nights / 7Days) Package - 6 Nights / 7 Days Tour Packages";i:2;s:154:"book wet & wild (6nights / 7days) package - 6 nights / 7 days tour packages, wildlife and nature tour packages, guwahati, shillong, golaghat tour packages";i:3;s:185:"Travvel Extent offers WET & WILD (6Nights / 7Days) Package - 6 Nights / 7 Days tour package, budget Wildlife and Nature tour packages for Guwahati, Shillong, Golaghat at exciting price.";i:4;s:1986:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Shillong, Golaghat"        
		                 },
		      "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 onlyCost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees. 
Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.
Cost for service provided on a personal request. 
Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.
Cost for any other service not mentioned under the “Cost Includes” head.
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.
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.",
		      "name": "WET & WILD (6Nights / 7Days) Package",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}