a:6:{i:0;s:67414:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Touring South India - Ooty - Kodaikanal - Munnar Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.krishnaairtravel.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krishnaairtravel.in/golden-triangle-tours.htm" title="Golden Triangle Tours">Golden Triangle Tours</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Touring South India - Ooty - Kodaikanal - Munnar Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10549.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10549.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10549.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10548.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10548.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10548.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10562.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10562.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10562.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10561.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10561.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10561.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10560.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10560.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10560.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10559.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10559.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10559.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10558.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10558.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10558.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10557.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10557.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10557.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10556.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10556.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10556.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10555.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10555.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10555.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10554.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10554.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10554.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10553.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10553.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10553.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10552.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10552.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10552.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10551.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10551.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10551.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10550.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10550.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10550.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10563.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10563.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10563.jpg"  alt="Touring South India - Ooty - Kodaikanal - Munnar Tour" title="Touring South India - Ooty - Kodaikanal - Munnar Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10549.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10548.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10562.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10561.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10560.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10559.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10558.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10557.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10556.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10555.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10554.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10553.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10552.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10551.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10550.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/10563.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Touring South India - Ooty - Kodaikanal - Munnar Tour</p>
					
											<p class="mb5px"><b>Tour Code :</b> Touring South India</p>
												<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kodaikanal, Ooty, Munnar</p>
												<p class="mb5px"><b>Attractions :</b> Botanical Garden, Ooty Lake</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Touring South India - Ooty - Kodaikanal - Munnar Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="9984"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">2 Night Ooty - 2 Night Kodaikanal - 2 Night Munnar<br />
<br />
Ooty<br />
Century-old English architecture, a rich yet equally confusing Anglican tradition, gabled cottages set amidst mystifying blue hills, Ooty is perhaps the only hill station that has refused to keep fair-weather friends. So much so, at some point, it was called Snooty Ooty' even by the early Madras government, for its notorious snobbishness tells it from the rest of Tamil Nadu. Guarding its warbled British, Anglo-Indian, and native heritage while slowly giving in to commercialisation, Ooty or Ootacamund still manages to lure those in need of low-key rest and relaxation.<br />
<br />
Walk the length of Commercial Road, spend a day strolling by the misty Ooty Lake, or gorge on some hot Bondas and a cup of Cardamom Tea from a tea stall. It is hard not to fall in love with its temperament. Calm, cool and collected are not just keywords here, but a way of life.<br />
<br />
Soak in the beauty of the hills from the toy train (the Nilgiri Mountain Railway) as it chugs along the hillside just as it did hundreds of years ago, ever so often stopping for no rhyme or reason. Get a snapshot of the 20 million year old fossil tree stump at the Botanical Gardens where it is overshadowed by a thousand other rare plants. Sink into the crumbling, torn seat at the Assembly Rooms theatre and watch a movie that probably released years ago. Lick on a puffy pink swirl of cotton candy as you skim through second hand book stalls that still sell obsolete prints. Taste Anglo-Indian delights at the stately British Fern Hills Palace, the former summer retreat of the Mysore Maharaja and let the sounds of the piano gently lull you to sleep soon after.<br />
<br />
Run across the untouched wilderness of Avalanche Reservoir, and try your hand at Trout fishing in the ramshackle Wilson Fish Farm nearby. Squint and swipe with your lucky hand at the 100 year old Ootacamund Golf Course or mumble a prayer at the century-old St. Stephen's Church as the last rays of sun illuminate the altar through beautifully glass-painted windows. Enjoy a late evening walk as the last strains of the choir waft in the breeze onto town. There is simply no denying that Ooty remains regal, ravishing and royal no matter when you visit. See for yourself.<br />
<br />
Places to See<br />
Ooty has fiercely protected its old countryside charm from modernisation and a lot of covert historical gems can be found here. The century-old St Stephen's Church, a gothic architectural specimen made out of woods carried up the hill by Tipu Sultan's elephants.<br />
<br />
Stonehouse (Kal Bangla), the first house in the hills built by John Sullivan, is neatly surrounded by gardens in the premises of the Government Arts College with a 150 year old Sullivan's Oak tree towering over the window. The famous Ooty Lake, artificially created by John Sullivan, continues to lure tourists despite its deterioration. Horse riding, cycling and golf are popular among visitors here.<br />
<br />
The Botanical Gardens on the slopes of the Dodabetta Peak,have over 1000 species of plants here. Take special notice of the fossil tree trunk set in the middle, it is over 20 million years old. Stunning purple coloured jacaranda trees set the townside ablaze with colour with their pretty flowers. Another sight to see is the Othakkaimanthu village, above Botanical Gardens, that is one of the few Toda communes that are scattered along the hillside. With huts like igloos, and thatched temples, they recount an untold history of the hills.<br />
<br />
In Commercial Road, the hub of life in Ooty, life is a different story; children in prim school blazers surf at internet centres and tourists chatter busily over coffee. The newly opened Café Coffee Day at Church Hill road is somewhat out of place. Next, drive down to Avalanche Reservoir, for a trek in complete wilderness.<br />
<br />
If you are a wildlife enthusiast, take a trip to Mudumalai Sanctuary (around 67 km from Ooty). The terrain is ridden with deep ravines, hidden waterholes and interesting wildlife. You can arrange accommodation at a forest guesthouse here and enjoy an elephant safari on warmer days. And if you don't want to wander far away from city, the Deer Park, a short distance from Ooty Lake, is home to animals like Chital, Sambar and the Wild Hare.<br />
<br />
Things to Do<br />
Ooty Lake is a popular tourist hangout where you can enjoy long walks, horse-riding and boating. Wildlife and adventure enthusiasts will love a visit to a tea plantation, Dodabetta's Peak, Deer Park, Glenmorgan, Ketti Valley or Avalanche Reservoir.<br />
<br />
The Gymkhana Golf Course is great on a warm summer afternoon. Take a day off to explore St Stephen's Church, the Stone house, St Thomas Church and the main shopping street, Commercial Road.<br />
<br />
Places to Eat<br />
Business continues as usual since long in yesteryear roadside eateries like the Kurinji Hotel in Charing Cross, which serves piping hot, crispy dosas in the morning. Hotel Nahar close to the bus stand is a hands-down vegetarian favourite with its fresh north and south Indian delights. Shinkow's (also known as Zodiac Room) on Commissioner's Road is run by a Chinese couple and serves great Momos and Chopsuey. If you feel like having a drink, Bacchus Bar has drinks over the counter and Zyr, with its ultra blue ambience is a nice place to relax with your favourite potion.<br />
<br />
What more? Delight in some hillside Anglo-Indian food at the Curry and Rice Restaurant at the Fern Hills Palace. If your love for the Raj is great, there is nothing better than enjoying the sprawling view from this former summer palace and letting the aroma of Farm-style Chicken, classic Shrimp Bisque, and rich Curry seduce your senses. Sink into the plush Queen Anne sofas and let yourself drown in the era with the ambience of the Fox Hunt Bar, which once seated the Maharaja's favourite huntsmen. The stuffed animal head trophies and other memorabilia that adorn the walls make for late evening conversation as the sun sets.<br />
<br />
If you are in the mood to indulge, Khyber, an outdoor restaurant in the Fortune Resort Sullivan Court is a great place to enjoy the view of the valley as you sip on evening tea. The Valley Bar in Hotel Gem Park is the perfect spot for light drinks and snacks.<br />
<br />
Shopping<br />
With fresh tea, aromatic eucalyptus oil, homemade chocolates, and tribal jewellery, shopping in Ooty's Commercial Road is a delight. Old time favourites continue to lure tourists over the years, unchanged and timeless. Higginbotham's is a great place to pick up a book or two to read at your hotel. The Big Shop has interesting traditional silver jewellery pieces, albeit for a stiff price. Homemade chocolates are exceptional at the tiny hole-in-the-wall King Star Bakery in Charing Cross right near Shivani Supermarket. You can choose from an assortment of almond, fruit-n-nut, milk and dark chocolates here.<br />
<br />
Shivani Supermarket and Chellarams departmental store rule the roost as the largest and longest running necessity stops for the locals. From organic produce to farm honey and other quick buys, there are plenty of keepsakes to take home; traditionally hand knitted woollies, tribal embroidered bags, and wooden key chains are popular buys.<br />
<br />
Kodaikanal<br />
Nestled in the heart of the Palani Hills in south Tamil Nadu, Kodaikanal, a charming little hill station is a picture perfect postcard with its spectacular greenery, waterfalls, cliffs and blossoms. Long for a cool break this summer? Kodaikanal is where you need to be!<br />
<br />
The main street-Annasalai is the beating pulse of the hills. Bhajji (fritters) stalls brimming with mouth-watering delights, evening joggers, couples walking hand in hand - no environment could be as laidback and relaxing. Buy a glass of sweet, Masala Chai (tea) and enjoy the scene. Virtually everything revolves around the feeling of goodness and getting in touch with your inner side. Cycle around the magnificent Kodai Lake early in the morning and lose yourself in the chill, misty state of calm.<br />
<br />
Kodaikanal is the only hill station that was set up by American missionaries back in the 20th century. Trekkers will love a visit to Pillar Rocks, three massive stone faces that provide a stunning, panoramic view of the valley. Those who want to rest their feet will love sitting in the shade and enjoying a small picnic and snacks. Dolphin's Nose (a cliff), the Bear Shola Falls, Bryant Park and the Pambar Falls are great alternative options too.<br />
<br />
Retire into a puffy leather couch in the well-stocked library of the Kodai Club. The old English aura of the bar is truly remarkable and evokes old memories with its all yesteryear English decor. Kodaikanal revels in the simple pleasures of life. No matter what kind of a break you are seeking, it makes sure you feel at home; the soft winds, the scented fragrance of eucalyptus trees and tea, the sprawling plum orchards and the delightful aroma of homemade chocolates will seduce you completely. It is difficult to say goodbye.<br />
<br />
Places to See<br />
The Kodaikanal Lake sparkles like a jewel right in the midst of the hills. Skirted by a long, endless road that makes for a great path for cyclists, this man-made lake was created in 1863 by the collector of Madurai at the time, Sir Vere Hendry Levinge. A walk away from the lake is another popular tourist jaunt - Coaker's Walk that spirals through a deep wooded slope almost to the top of the clouds. Gorge on puffy pink clouds of Cotton Candy. Markets brim with Tibetan goods, pretty handmade jewellery and sometimes, playful langurs attempt to tug your sleeve for a banana.<br />
<br />
One very rare phenomenon in Coaker's Walk is the Brocken spectre-when a person turns his back to the sun, and faces the mist in the front, he can see his shadow on the clouds with a rainbow halo!<br />
<br />
Another fun sight in Coaker's Walk is the Tope Thookum Parai (Flying Hats Rock) from where you can throw your hat into the valley and it will come flying back. Wondering how this is possible? Try it out!<br />
<br />
Bryant Park on the eastern side of the lake is a haven for lovers and naturalists. Spotted with sculpted bushes, numerous hill flowers and a spectacular glass house, it is a sight to see. The 150 year old Bodhi tree right in the centre of the Park is a must see. Hikers will love the 65 km round trekking route that trails mountain streams, dense woods and pristine wilderness. Berijam Lake, famous for its beauty and intoxicating magic mushrooms, is dangerously alluring. The caves also have traces of the Paliyan tribes who once lived here.<br />
<br />
Things to do<br />
Trout fishing in Kodai is an experience you cannot miss. The Kodai Lake is a popular haunt for Carp fishing. One of the most unique aspects of fishing in Kodai is that vadai (a popular south Indian snack) is used as bait instead of worms! Boating on a paddle boat or pedal boat around the lake is a great way to spend the early evening when the mist settles over the lake. If that isn't exciting enough, try horse riding. For a small price you can get a guide to take you trotting through the beautiful hillside. Trekking and camping is popular any season.<br />
<br />
Cycling is a hands down favourite among those who visit Kodai. Unlike other hill stations, there are both double and triple tandem rides that you can enjoy here! So if you want to go cycling, try taking one bicycle for you and all your friends. Mind you, it's tougher than a regular bicycle!<br />
<br />
Places to eat<br />
Like all hill stations, local delicacies are usually found on the streets. A glass of Masala Tea with a plate of hot Bhajjis (fritters) is a rite of passage in the early morning and evening to beat the chill. Roasted Corn and Peanuts by the lake can't be missed. There are plenty of vendors who sell them. If you are passing by the fruit market, take home some mangosteen (locally known as mangusthan). These purple tropical fruits are delicious.<br />
<br />
Cloud Street Cafe is a popular haunt for youngsters and families. Set in a natural environment, there are hanging chairs, and tree-top platforms for you to enjoy the tranquillity with your morning coffee or some fresh cakes. The Tibetan Brothers and Royal Tibetan House are the best options if you are craving for Steamed Momos and a warm bowl of soup on chilly nights. Don't miss the Thukpa (noodle soup) here!<br />
<br />
Homemade chocolates are irresistible in Kodaikanal. The bazaar has plenty of varieties with walnuts, roast almonds, pistas, raisins and milk. Don't forget to take some home! You could buy alcohol and enjoy a drink near the fire at your hotel room as bars are few around town.<br />
<br />
Shopping<br />
Homemade chocolates, handicrafts, Kodai cheese and marshmallows are at the top of every shopper's list in Kodaikanal. Eucalyptus oil and spices are other little additions for those interested in natural products. The Khadi Emporium, Handloom Co-operative Store, Travancore Crafts Work, and Spencer and Company are worth a visit.<br />
<br />
Eco Nut at PT road is a health-freak's treasure trove. Right from organic brown rice to aromatic oils, you can find it here. Potter's Shack has a lot of earthenware that are sold for a good cause. All profits go to underprivileged children. If you want to buy a beautiful terracotta vase or sign up for a class with a local potter, this is the best place to go to. For souvenirs and curios or a woollen sweater, head to Cottage Crafts shop run by a volunteer group called Corsock at Annasalai. For long hours of lingering around, doing nothing but window shopping, the main bazaar area is the best place to be.<br />
<br />
Traveller Tips:<br />
Be wary of local guides who ask for an advance before they take you around. Touts are common in the main areas. If you require a guide, arrange a reputed one from the hotel you are staying in.<br />
When travelling up the Ghats, carry mints to overcome altitude sickness and nause.<br />
<br />
Munnar<br />
Draped over a hill, surrounded by tea plantations and backed by a splendid stretch of the Western Ghats, Munnar is a choice retreat in summer. Honeymooners frequent this hill station during all seasons for a taste of its cool and salubrious weather. The three rivers Madupetti, Nallathanni and Periavaru give Munnar its name, which means 'three rivers'. The Duke of Wellington's visit to Munnar in the 19th century put it on the map. Soon it acquired the status as a popular hill resort in south India and was nicknamed as Kerala's Scottish Highlands.<br />
<br />
After enjoying the views from Echo Point or Top Station, take a short walk through tea plantations or go for a ride in a disco rickshaw. Lined with stalls selling tea, fruits and vegetables, the streets are crowded with people, cows and goats. Though most of the people are Tamilians, both Tamil and Malayalam are spoken.<br />
<br />
The tribal colonies, where ancient customs are still practiced, are worth a visit. Attukal Pongala in February is their biggest event. Fort Munnar, a resort, hosts performances by tribals donning feathery headgear. Payippad Jalotsavam is when the excitement runs sky-high. It is the annual boat race held on Onam.<br />
<br />
Picnicking at Anayirangal, looking out for the blue beauty, Neelakurinji (a flower that blooms every 12 years), watching pink dragonflies dancing around flowers, and practicing yoga at Chinnakanal Ayur Resort or Kaivalyam Retreat, fishing at Devikulam or High Range Club, or camping out at Hornbill or Anayirangal, there's lots to do in Munnar. And more, like trekking, cycling, kayaking, rafting, paragliding or a helicopter ride.<br />
<br />
Wildlife enthusiasts can immerse themselves in lush greenery, sandalwood trees, sounds of animals, hidden streams, calls of birds and the myriad colors of flora. Oblivious to the world outside, the Eravikulam National Park, Thattekad (Salim Ali) Bird Sanctuary, Chinnar Wildlife Sanctuary and shola forests (Butterfly forests) are dense with animals like Mountain Goats, Bisons and Tigers.<br />
<br />
With stunning greenery, rolling mists all around, and a nip in the air, it is easy to lose track of time.06-0331-03</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Bangalore - Ooty										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												On arrival at the Bangalore Airport, you will be received by our representative. On arrival, check in to the hotel. After some time, go for a visit to Botanical Gardens and enjoy boating on the Ooty Lake. Enjoy a comfortable overnight stay at the hotel in Ooty.																											   
												<div class="mt10px">
												
																	
													<p>Meals : N/A</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Ooty										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, go for a sightseeing tour and visit Rose Garden and Doddabetta View Point (Highest Peak in Tamil Nadu). In the afternoon, drive to Coonoor and visit  Dolphin Nose. Enjoy beautiful views of St. Catherine Falls as you visit Valley View. Also cover Sims Park and Lamb's Rock. Enjoy a comfortable overnight stay at the hotel in Ooty.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Ooty - Kodaikanal										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, check out of the hotel and drive to Kodaikanal. On arrival, check in to the hotel. Later, go out to enjoy boating at the beautiful Kodari Lake and return back to the hotel for a comfortable overnight stay.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Kodaikanal										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, visit Green Valley view point. This place provides beautiful views of Kodaikanal. Also visit Pillar Rocks, an impressive creation of nature and one of the most famous attractions of Kodaikanal. Later, visit Pine forest and Corkers Walk and then return back to the hotel for a comfortable overnight stay.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Kodaikanal - Munnar										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, check out of the hotel and drive to Munnar, a beautiful hill station. On arrival, check in to the hotel and enjoy the rest of the day at leisure or go and explore the local markets. Stay overnight at the hotel in Munnar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Munnar										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, go on a sightseeing tour of Munnar, visiting the Eravikulam National Park, Mattupetty Dam, Old Munnar Town and the town market. Enjoy the rest of the day at leisure. Stay overnight at the hotel in Munnar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Munnar - Drop at Cochin										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today, take a transfer to Cochin for your return journey.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								Mar, 2013: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31								</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">Stay Combinations: Starting price per person</p>
    	<div class="otherDetails aj">Departure From : New Delhi<br>
Travel By : Flight</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Twin Sharing</td>
				<td class="headHr p5px b">Rs. 27,999</td>
			</tr>
			<tr>
				<td class="data p5px">Single Occupancy</td>
				<td class="data p5px">Rs. 45,999</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">Rs. 25,999</td>
			</tr>
			<tr>
				<td class="data p5px">Child with Bed</td>
				<td class="data p5px">Rs. 23,999</td>
			</tr>
			<tr>
				<td class="data p5px">Child without Bed</td>
				<td class="data p5px">Rs. 20,999</td>
			</tr>
			<tr>
				<td class="data p5px">Infant</td>
				<td class="data p5px">Rs. 2,999</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>Per person rates (in Rs.) - applicable on 2 persons staying together sharing the same room Service Tax extra (as applicable) Transportation as per itinerary only (not available at disposal) The package does not include guide services. These can be availed at an additional cost Package rates are subject to change without prior notice Meal plan: EP - Accommodation only, CP - Accommodation with breakfast, MAP - Accommodation with breakfast, lunch or dinner, AP - Accommodation with breakfast, lunch and dinner The package cannot be combined with any other offer Refund on cancellation depends upon concerned hotel&#39;s cancellation policy The above package is not valid during national holidays,								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Touring South India - Ooty - Kodaikanal - Munnar 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="9984"/>
						</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.krishnaairtravel.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</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.krishnaairtravel.in/packages-in-kodaikanal.htm" title="Packages in Kodaikanal">Kodaikanal</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.krishnaairtravel.in/packages-in-macau.htm" title="Packages in Macau">Macau</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.krishnaairtravel.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.krishnaairtravel.in/packages-in-male.htm" title="Packages in Male">Male</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.krishnaairtravel.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</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.krishnaairtravel.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</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.krishnaairtravel.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</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.krishnaairtravel.in/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom</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.krishnaairtravel.in/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</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.krishnaairtravel.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</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.krishnaairtravel.in/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.krishnaairtravel.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</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.krishnaairtravel.in/packages-in-paro.htm" title="Packages in Paro">Paro</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.krishnaairtravel.in/packages-in-chandigarh.htm" title="Packages in Chandigarh">Chandigarh</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.krishnaairtravel.in/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.krishnaairtravel.in/packages-in-mysore.htm" title="Packages in Mysore">Mysore</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.krishnaairtravel.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</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.krishnaairtravel.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai</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.krishnaairtravel.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</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.krishnaairtravel.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(3)</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.krishnaairtravel.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/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 "><a class="dif" href="http://www.krishnaairtravel.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnaairtravel.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Kodaikanal, Ooty, Munnar</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/winter-speciala-kerala-get-away-package1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/28056.jpg"  alt="Winter Special - A Kerala Get Away Package" title="Winter Special - A Kerala Get Away Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/winter-speciala-kerala-get-away-package1.htm" title="Winter Special - A Kerala Get Away Package"><h3>Winter Special - A Kerala Get Away Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kumarakom, Kochi, Thekkady, Munnar</p>
															<div class="mt10px small">
							<form name="pkg_16804" id="pkg_16804" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/winter-speciala-kerala-get-away-package1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Winter Special - A Kerala Get Away Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="16804"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/appealing-kerala-with-private-vehicle-tour-flight-inclusive1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/31432.jpg"  alt="Appealing Kerala With Private Vehicle Tour (Flight Inclusive)" title="Appealing Kerala With Private Vehicle Tour (Flight Inclusive)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/appealing-kerala-with-private-vehicle-tour-flight-inclusive1.htm" title="Appealing Kerala With Private Vehicle Tour (Flight Inclusive)"><h3>Appealing Kerala With Private Vehicle Tour..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 35000</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kochi, Thekkady, Alleppey, Munnar</p>
															<div class="mt10px small">
							<form name="pkg_18364" id="pkg_18364" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/appealing-kerala-with-private-vehicle-tour-flight-inclusive1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Appealing Kerala With Private Vehicle Tour (Flight Inclusive) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="18364"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-christmas-new-year-special-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="Colors of South India(Christmas & New Year Special) Tour" title="Colors of South India(Christmas & New Year Special) Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-christmas-new-year-special-tour.htm" title="Colors of South India(Christmas & New Year Special) Tour"><h3>Colors Of South India(christmas & New Year..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 31000</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Mysore, Kodaikanal, Ooty</p>
															<div class="mt10px small">
							<form name="pkg_19336" id="pkg_19336" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-christmas-new-year-special-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Colors of South India(Christmas & New Year Special) Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="19336"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-mysore-ooty-kodaikanal-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/32276.jpg"  alt="Colors of South India - Mysore - Ooty - Kodaikanal Tour" title="Colors of South India - Mysore - Ooty - Kodaikanal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-mysore-ooty-kodaikanal-tour1.htm" title="Colors of South India - Mysore - Ooty - Kodaikanal Tour"><h3>Colors Of South India - Mysore - Ooty - Ko..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 31500</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Mysore, Kodaikanal, Ooty</p>
															<div class="mt10px small">
							<form name="pkg_18718" id="pkg_18718" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/colorsof-south-india-mysore-ooty-kodaikanal-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Colors of South India - Mysore - Ooty - Kodaikanal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="18718"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/the-magicof-south-india-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="The Magic of South India Tour" title="The Magic of South India Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/the-magicof-south-india-tour.htm" title="The Magic of South India Tour"><h3>The Magic Of South India Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Mysore, Kodaikanal, Ooty</p>
															<div class="mt10px small">
							<form name="pkg_9689" id="pkg_9689" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/the-magicof-south-india-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="The Magic of South India Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="9689"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/wondersof-kerala-air-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/5626.jpg"  alt="Wonders of Kerala" title="Wonders of Kerala"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/wondersof-kerala-air-package.htm" title="Wonders of Kerala - Air Package"><h3>Wonders Of Kerala - Air Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kumarakom, Thekkady, Alleppey, Munnar</p>
															<div class="mt10px small">
							<form name="pkg_7674" id="pkg_7674" method="post" action="http://www.krishnaairtravel.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.krishnaairtravel.in/tour-packages/wondersof-kerala-air-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Wonders of Kerala - Air Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="7674"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:92:"Book Touring South India - Ooty - Kodaikanal - Munnar Tour - 6 Nights / 7 Days Tour Packages";i:2;s:154:"book touring south india - ooty - kodaikanal - munnar tour - 6 nights / 7 days tour packages, valley tour packages, kodaikanal, ooty, munnar tour packages";i:3;s:189:"Krishna Air Travel offers Touring South India - Ooty - Kodaikanal - Munnar Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Kodaikanal, Ooty, Munnar at exciting price.";i:4;s:16380:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kodaikanal, Ooty, Munnar"        
		                 },
		      "description": "2 Night Ooty - 2 Night Kodaikanal - 2 Night Munnar

Ooty
Century-old English architecture, a rich yet equally confusing Anglican tradition, gabled cottages set amidst mystifying blue hills, Ooty is perhaps the only hill station that has refused to keep fair-weather friends. So much so, at some point, it was called Snooty Ooty' even by the early Madras government, for its notorious snobbishness tells it from the rest of Tamil Nadu. Guarding its warbled British, Anglo-Indian, and native heritage while slowly giving in to commercialisation, Ooty or Ootacamund still manages to lure those in need of low-key rest and relaxation.

Walk the length of Commercial Road, spend a day strolling by the misty Ooty Lake, or gorge on some hot Bondas and a cup of Cardamom Tea from a tea stall. It is hard not to fall in love with its temperament. Calm, cool and collected are not just keywords here, but a way of life.

Soak in the beauty of the hills from the toy train (the Nilgiri Mountain Railway) as it chugs along the hillside just as it did hundreds of years ago, ever so often stopping for no rhyme or reason. Get a snapshot of the 20 million year old fossil tree stump at the Botanical Gardens where it is overshadowed by a thousand other rare plants. Sink into the crumbling, torn seat at the Assembly Rooms theatre and watch a movie that probably released years ago. Lick on a puffy pink swirl of cotton candy as you skim through second hand book stalls that still sell obsolete prints. Taste Anglo-Indian delights at the stately British Fern Hills Palace, the former summer retreat of the Mysore Maharaja and let the sounds of the piano gently lull you to sleep soon after.

Run across the untouched wilderness of Avalanche Reservoir, and try your hand at Trout fishing in the ramshackle Wilson Fish Farm nearby. Squint and swipe with your lucky hand at the 100 year old Ootacamund Golf Course or mumble a prayer at the century-old St. Stephen's Church as the last rays of sun illuminate the altar through beautifully glass-painted windows. Enjoy a late evening walk as the last strains of the choir waft in the breeze onto town. There is simply no denying that Ooty remains regal, ravishing and royal no matter when you visit. See for yourself.

Places to See
Ooty has fiercely protected its old countryside charm from modernisation and a lot of covert historical gems can be found here. The century-old St Stephen's Church, a gothic architectural specimen made out of woods carried up the hill by Tipu Sultan's elephants.

Stonehouse (Kal Bangla), the first house in the hills built by John Sullivan, is neatly surrounded by gardens in the premises of the Government Arts College with a 150 year old Sullivan's Oak tree towering over the window. The famous Ooty Lake, artificially created by John Sullivan, continues to lure tourists despite its deterioration. Horse riding, cycling and golf are popular among visitors here.

The Botanical Gardens on the slopes of the Dodabetta Peak,have over 1000 species of plants here. Take special notice of the fossil tree trunk set in the middle, it is over 20 million years old. Stunning purple coloured jacaranda trees set the townside ablaze with colour with their pretty flowers. Another sight to see is the Othakkaimanthu village, above Botanical Gardens, that is one of the few Toda communes that are scattered along the hillside. With huts like igloos, and thatched temples, they recount an untold history of the hills.

In Commercial Road, the hub of life in Ooty, life is a different story; children in prim school blazers surf at internet centres and tourists chatter busily over coffee. The newly opened Café Coffee Day at Church Hill road is somewhat out of place. Next, drive down to Avalanche Reservoir, for a trek in complete wilderness.

If you are a wildlife enthusiast, take a trip to Mudumalai Sanctuary (around 67 km from Ooty). The terrain is ridden with deep ravines, hidden waterholes and interesting wildlife. You can arrange accommodation at a forest guesthouse here and enjoy an elephant safari on warmer days. And if you don't want to wander far away from city, the Deer Park, a short distance from Ooty Lake, is home to animals like Chital, Sambar and the Wild Hare.

Things to Do
Ooty Lake is a popular tourist hangout where you can enjoy long walks, horse-riding and boating. Wildlife and adventure enthusiasts will love a visit to a tea plantation, Dodabetta's Peak, Deer Park, Glenmorgan, Ketti Valley or Avalanche Reservoir.

The Gymkhana Golf Course is great on a warm summer afternoon. Take a day off to explore St Stephen's Church, the Stone house, St Thomas Church and the main shopping street, Commercial Road.

Places to Eat
Business continues as usual since long in yesteryear roadside eateries like the Kurinji Hotel in Charing Cross, which serves piping hot, crispy dosas in the morning. Hotel Nahar close to the bus stand is a hands-down vegetarian favourite with its fresh north and south Indian delights. Shinkow's (also known as Zodiac Room) on Commissioner's Road is run by a Chinese couple and serves great Momos and Chopsuey. If you feel like having a drink, Bacchus Bar has drinks over the counter and Zyr, with its ultra blue ambience is a nice place to relax with your favourite potion.

What more? Delight in some hillside Anglo-Indian food at the Curry and Rice Restaurant at the Fern Hills Palace. If your love for the Raj is great, there is nothing better than enjoying the sprawling view from this former summer palace and letting the aroma of Farm-style Chicken, classic Shrimp Bisque, and rich Curry seduce your senses. Sink into the plush Queen Anne sofas and let yourself drown in the era with the ambience of the Fox Hunt Bar, which once seated the Maharaja's favourite huntsmen. The stuffed animal head trophies and other memorabilia that adorn the walls make for late evening conversation as the sun sets.

If you are in the mood to indulge, Khyber, an outdoor restaurant in the Fortune Resort Sullivan Court is a great place to enjoy the view of the valley as you sip on evening tea. The Valley Bar in Hotel Gem Park is the perfect spot for light drinks and snacks.

Shopping
With fresh tea, aromatic eucalyptus oil, homemade chocolates, and tribal jewellery, shopping in Ooty's Commercial Road is a delight. Old time favourites continue to lure tourists over the years, unchanged and timeless. Higginbotham's is a great place to pick up a book or two to read at your hotel. The Big Shop has interesting traditional silver jewellery pieces, albeit for a stiff price. Homemade chocolates are exceptional at the tiny hole-in-the-wall King Star Bakery in Charing Cross right near Shivani Supermarket. You can choose from an assortment of almond, fruit-n-nut, milk and dark chocolates here.

Shivani Supermarket and Chellarams departmental store rule the roost as the largest and longest running necessity stops for the locals. From organic produce to farm honey and other quick buys, there are plenty of keepsakes to take home; traditionally hand knitted woollies, tribal embroidered bags, and wooden key chains are popular buys.

Kodaikanal
Nestled in the heart of the Palani Hills in south Tamil Nadu, Kodaikanal, a charming little hill station is a picture perfect postcard with its spectacular greenery, waterfalls, cliffs and blossoms. Long for a cool break this summer? Kodaikanal is where you need to be!

The main street-Annasalai is the beating pulse of the hills. Bhajji (fritters) stalls brimming with mouth-watering delights, evening joggers, couples walking hand in hand - no environment could be as laidback and relaxing. Buy a glass of sweet, Masala Chai (tea) and enjoy the scene. Virtually everything revolves around the feeling of goodness and getting in touch with your inner side. Cycle around the magnificent Kodai Lake early in the morning and lose yourself in the chill, misty state of calm.

Kodaikanal is the only hill station that was set up by American missionaries back in the 20th century. Trekkers will love a visit to Pillar Rocks, three massive stone faces that provide a stunning, panoramic view of the valley. Those who want to rest their feet will love sitting in the shade and enjoying a small picnic and snacks. Dolphin's Nose (a cliff), the Bear Shola Falls, Bryant Park and the Pambar Falls are great alternative options too.

Retire into a puffy leather couch in the well-stocked library of the Kodai Club. The old English aura of the bar is truly remarkable and evokes old memories with its all yesteryear English decor. Kodaikanal revels in the simple pleasures of life. No matter what kind of a break you are seeking, it makes sure you feel at home; the soft winds, the scented fragrance of eucalyptus trees and tea, the sprawling plum orchards and the delightful aroma of homemade chocolates will seduce you completely. It is difficult to say goodbye.

Places to See
The Kodaikanal Lake sparkles like a jewel right in the midst of the hills. Skirted by a long, endless road that makes for a great path for cyclists, this man-made lake was created in 1863 by the collector of Madurai at the time, Sir Vere Hendry Levinge. A walk away from the lake is another popular tourist jaunt - Coaker's Walk that spirals through a deep wooded slope almost to the top of the clouds. Gorge on puffy pink clouds of Cotton Candy. Markets brim with Tibetan goods, pretty handmade jewellery and sometimes, playful langurs attempt to tug your sleeve for a banana.

One very rare phenomenon in Coaker's Walk is the Brocken spectre-when a person turns his back to the sun, and faces the mist in the front, he can see his shadow on the clouds with a rainbow halo!

Another fun sight in Coaker's Walk is the Tope Thookum Parai (Flying Hats Rock) from where you can throw your hat into the valley and it will come flying back. Wondering how this is possible? Try it out!

Bryant Park on the eastern side of the lake is a haven for lovers and naturalists. Spotted with sculpted bushes, numerous hill flowers and a spectacular glass house, it is a sight to see. The 150 year old Bodhi tree right in the centre of the Park is a must see. Hikers will love the 65 km round trekking route that trails mountain streams, dense woods and pristine wilderness. Berijam Lake, famous for its beauty and intoxicating magic mushrooms, is dangerously alluring. The caves also have traces of the Paliyan tribes who once lived here.

Things to do
Trout fishing in Kodai is an experience you cannot miss. The Kodai Lake is a popular haunt for Carp fishing. One of the most unique aspects of fishing in Kodai is that vadai (a popular south Indian snack) is used as bait instead of worms! Boating on a paddle boat or pedal boat around the lake is a great way to spend the early evening when the mist settles over the lake. If that isn't exciting enough, try horse riding. For a small price you can get a guide to take you trotting through the beautiful hillside. Trekking and camping is popular any season.

Cycling is a hands down favourite among those who visit Kodai. Unlike other hill stations, there are both double and triple tandem rides that you can enjoy here! So if you want to go cycling, try taking one bicycle for you and all your friends. Mind you, it's tougher than a regular bicycle!

Places to eat
Like all hill stations, local delicacies are usually found on the streets. A glass of Masala Tea with a plate of hot Bhajjis (fritters) is a rite of passage in the early morning and evening to beat the chill. Roasted Corn and Peanuts by the lake can't be missed. There are plenty of vendors who sell them. If you are passing by the fruit market, take home some mangosteen (locally known as mangusthan). These purple tropical fruits are delicious.

Cloud Street Cafe is a popular haunt for youngsters and families. Set in a natural environment, there are hanging chairs, and tree-top platforms for you to enjoy the tranquillity with your morning coffee or some fresh cakes. The Tibetan Brothers and Royal Tibetan House are the best options if you are craving for Steamed Momos and a warm bowl of soup on chilly nights. Don't miss the Thukpa (noodle soup) here!

Homemade chocolates are irresistible in Kodaikanal. The bazaar has plenty of varieties with walnuts, roast almonds, pistas, raisins and milk. Don't forget to take some home! You could buy alcohol and enjoy a drink near the fire at your hotel room as bars are few around town.

Shopping
Homemade chocolates, handicrafts, Kodai cheese and marshmallows are at the top of every shopper's list in Kodaikanal. Eucalyptus oil and spices are other little additions for those interested in natural products. The Khadi Emporium, Handloom Co-operative Store, Travancore Crafts Work, and Spencer and Company are worth a visit.

Eco Nut at PT road is a health-freak's treasure trove. Right from organic brown rice to aromatic oils, you can find it here. Potter's Shack has a lot of earthenware that are sold for a good cause. All profits go to underprivileged children. If you want to buy a beautiful terracotta vase or sign up for a class with a local potter, this is the best place to go to. For souvenirs and curios or a woollen sweater, head to Cottage Crafts shop run by a volunteer group called Corsock at Annasalai. For long hours of lingering around, doing nothing but window shopping, the main bazaar area is the best place to be.

Traveller Tips:
Be wary of local guides who ask for an advance before they take you around. Touts are common in the main areas. If you require a guide, arrange a reputed one from the hotel you are staying in.
When travelling up the Ghats, carry mints to overcome altitude sickness and nause.

Munnar
Draped over a hill, surrounded by tea plantations and backed by a splendid stretch of the Western Ghats, Munnar is a choice retreat in summer. Honeymooners frequent this hill station during all seasons for a taste of its cool and salubrious weather. The three rivers Madupetti, Nallathanni and Periavaru give Munnar its name, which means 'three rivers'. The Duke of Wellington's visit to Munnar in the 19th century put it on the map. Soon it acquired the status as a popular hill resort in south India and was nicknamed as Kerala's Scottish Highlands.

After enjoying the views from Echo Point or Top Station, take a short walk through tea plantations or go for a ride in a disco rickshaw. Lined with stalls selling tea, fruits and vegetables, the streets are crowded with people, cows and goats. Though most of the people are Tamilians, both Tamil and Malayalam are spoken.

The tribal colonies, where ancient customs are still practiced, are worth a visit. Attukal Pongala in February is their biggest event. Fort Munnar, a resort, hosts performances by tribals donning feathery headgear. Payippad Jalotsavam is when the excitement runs sky-high. It is the annual boat race held on Onam.

Picnicking at Anayirangal, looking out for the blue beauty, Neelakurinji (a flower that blooms every 12 years), watching pink dragonflies dancing around flowers, and practicing yoga at Chinnakanal Ayur Resort or Kaivalyam Retreat, fishing at Devikulam or High Range Club, or camping out at Hornbill or Anayirangal, there's lots to do in Munnar. And more, like trekking, cycling, kayaking, rafting, paragliding or a helicopter ride.

Wildlife enthusiasts can immerse themselves in lush greenery, sandalwood trees, sounds of animals, hidden streams, calls of birds and the myriad colors of flora. Oblivious to the world outside, the Eravikulam National Park, Thattekad (Salim Ali) Bird Sanctuary, Chinnar Wildlife Sanctuary and shola forests (Butterfly forests) are dense with animals like Mountain Goats, Bisons and Tigers.

With stunning greenery, rolling mists all around, and a nip in the air, it is easy to lose track of time.06-0331-03",
		      "name": "Touring South India - Ooty - Kodaikanal - Munnar Tour",
		      "telephone": "+91-9818070030"
		    }
		    </script>
			";i:5;N;}