a:6:{i:0;s:6167:"				<div class="h1"><h1>Tea Tasting Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sriganpatitoursandholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sriganpatitoursandholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Tea Tasting Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_2/30889/168502.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/30889/168502.jpg"  width="150" height="150"    alt="Tea Tasting Tour" title="Tea Tasting Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Guwahati</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrival
									</p>
									<div class="data p10px">On arrival at Guwahati airport / Railway station meet with our representative and leave for Fatemabad tea estate.<br />
<br />
The tea estate is situated within the border of Manas National Park. Fatemabad tea estate is a buffer between the Manas National Park and the Bodo villages.<br />
<br />
On arrival, check into the luxurious tents of Fatemabad tea estate. Enjoy dinner and an overnight stay at tea estate.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Manas National Park
									</p>
									<div class="data p10px">After breakfast, full day visit to Fatemabad tea estate. We will also visit the tea factory to experience in tea making process. Here, we will see how the tea is grown. Have a flavour of the famous Assam tea. Enjoy a walk through their estate. Later, return back to the accommodation for an exciting stay.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Manas
									</p>
									<div class="data p10px">In the morning, we will have an excursion to the nearby tribal villages community villages living in the outskirts of the national park and observe their sustainable lifestyles. Later, return to tea estate for lunch. After lunch, check out for the tea estate and leave for Bansbari. On arrival, check into the wildlife resort. Evening is free for leisure. An overnight stay at the resort.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Manas
									</p>
									<div class="data p10px">Today, we will start our day little early and will move to the Elephant boarding point for our first Jungle ride to the Manas National Park on an Elephant back. The Elephant safari is the best medium to explore a wildlife sanctuary and view the wildlife from a very close. An hour Elephant safari will take us to the dense and narrow paths to increasing the chances of animal sighting.<br />
<br />
Later, we will return to the resort for fresh-n-up and breakfast. After breakfast, we will be ready for our first vehicle safari to the national park. The vehicle safari to the national park will be for two to two and half hrs. Here we will be moving on the wild path of Manas National Park to explore the most stunning pristine wildlife habitat.<br />
<br />
Return back to the resort for Lunch. After lunch, we will again move on our wildlife jungle safari to explore the Brahmaputra valley with its semi-evergreen forest. The forest is very rich in species of all Indian wildlife. Here, you will have a chance to view the only known home for the rare and endangered Assam Roofed Turtle, Hispid Hare, Golden Langur and Pygmy Hog.<br />
<br />
Later, in the evening return to the resort. Enjoy dinner and an overnight stay at the resort.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Departure
									</p>
									<div class="data p10px">After breakfast, leave for Guwahati. On arrival, transfer to the airport for onward destination.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
														</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:55:"Book Tea Tasting Tour - 4 Nights / 5 Days Tour Packages";i:2;s:114:"book tea tasting tour - 4 nights / 5 days tour packages, wildlife and nature tour packages, guwahati tour packages";i:3;s:160:"Sri Ganapati Tours & Holidays offers Tea Tasting Tour - 4 Nights / 5 Days tour package, budget Wildlife and Nature tour packages for Guwahati at exciting price.";i:4;s:396:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati"        
		                 },
		      "description": "",
		      "name": "Tea Tasting Tour",
		      "telephone": "+91-8974893345"
		    }
		    </script>
			";i:5;N;}