a:6:{i:0;s:67400:"					<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-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-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-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="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.krishnaairtravel.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</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-pattaya.htm" title="Packages in Pattaya">Pattaya</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-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="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;}