a:6:{i:0;s:38443:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>The Magic Of South India 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> The Magic Of South India 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">
								<div class="imgWidth" style="background-image: url(https://static.tourtravelworld.com/images/tour-package-no-image.gif);background-size:auto;background-position:center;background-repeat:no-repeat;"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="" title=""  class="bdr p1px"  /></div>
								</div>
								</div>
								</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">The Magic of South India Tour</p>
					
											<p class="mb5px"><b>Tour Code :</b> South India</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Mysore, Kodaikanal, Ooty</p>
												<p class="mb5px"><b>Attractions :</b> Mysore Palace, Botanical Garden, Nilgiri Hills, 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="The Magic of South India 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="9689"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Mysore<br />
<br />
The former capital of the state of Mysore, and the seat of the Wodeyar Kings, Mysore is Karnataka's Jewel, its cultural capital, a city resplendent with history - both colonial and royal. It is Karnataka's second largest city, and abounds in natural beauty and architectural beauty, with tree lined boulevards and historical buildings.<br />
Mysore is famous for its relaxed atmosphere, so relaxed in fact that it is hard to believe that such a sleepy town could have been the heart of a kingdom. It is also hard to believe that this Overview of the city has yet to mention the Mysore Palace. Famous across India, the Mysore Palace is the picture of gilded opulence! Mysore is also famous for its manufacture of incense sticks, which come in many fragrances, as well as for its sandalwood. Mysore is a pleasant change from the stereotypical image of modernized cities. From the moment you set foot in Mysore, it begins to reveal delicious secrets which make it a must see.<br />
<br />
Kodaikanal<br />
<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 />
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 />
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 />
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 />
Ooty<br />
<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 />
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 />
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 />
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.24-0231-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 - Mysore										
											
											<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 received by our representative and driven to Mysore. On your way, visit Srirangapatana, the capital city of Hyder Ali and his son Tipu Sultan. On arrival, check in to the hotel, and later, go for a visit to the famous Mysore Palace, Chamundi Devi Hills and Brindavan Gardens. Enjoy a comfortable overnight stay at the hotel in Mysore.																											   
												<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> Mysore- 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 Kodai 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 3											
											:</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 4											
											:</b> Kodaikanal - Ooty										
											
											<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 begin your journey to blue Nilgiri hills. On arrival, check in to the hotel, and go for a visit to Botanical Gardens. Enjoy boating on the Ooty 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 5											
											:</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 Conoor 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 6											
											:</b> Ooty- Bangalore Departure										
											
											<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 Bangalore. Take a drop at the Bangalore airport for your onward 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>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								Feb, 2013<br />
<br />
    24<br />
    25<br />
    26<br />
    27<br />
    28<br />
<br />
Mar, 2013<br />
<br />
    1<br />
    2<br />
    3<br />
    4<br />
    5<br />
    6<br />
    7<br />
    8<br />
    9<br />
    10<br />
    11<br />
    12<br />
    13<br />
    14<br />
    15<br />
    16<br />
    17<br />
    18<br />
    19<br />
    20<br />
    21<br />
    22<br />
    23<br />
    24<br />
    25<br />
    26<br />
    27<br />
    28<br />
    29<br />
    30<br />
    31								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								Departure From:
New Delhi
Twin Sharing
	Rs. 24,999
Single Occupancy
	Rs. 39,999
Extra Adult
	Rs. 22,999
Child with Bed
	Rs. 19,999
Child without Bed
	Rs. 17,999
Infant
	Rs. 2,999
Hide extra adult and child fares

Departure From:
Mumbai

Twin Sharing
	Rs. 21,999
Single Occupancy
	Rs. 35,999
Extra Adult
	Rs. 19,999
Child with Bed
	Rs. 17,999
Child without Bed
	Rs. 15,999
Infant
	Rs. 2,999								</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 costPackage 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, festivals, long weekends and New Year								</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="The Magic of South India 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="9689"/>
						</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-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-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-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-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-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-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="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="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 Mysore, Kodaikanal, Ooty</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/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/touring-south-india-ooty-kodaikanal-munnar-tour.htm'">
															<div class="picBg ac vam lh0"><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="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.krishnaairtravel.in/tour-packages/touring-south-india-ooty-kodaikanal-munnar-tour.htm" title="Touring South India - Ooty - Kodaikanal - Munnar Tour"><h3>Touring South India - Ooty - Kodaikanal - ..</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kodaikanal, Ooty, Munnar</p>
															<div class="mt10px small">
							<form name="pkg_9984" id="pkg_9984" 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/touring-south-india-ooty-kodaikanal-munnar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Touring South India - Ooty - Kodaikanal - Munnar 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="9984"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.krishnaairtravel.in/tour-packages/hillsof-southern-india-with-flights-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/40817/12975.jpg"  alt="Hills of Southern India with Flights Tour" title="Hills of Southern India with Flights 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/hillsof-southern-india-with-flights-tour.htm" title="Hills of Southern India with Flights Tour"><h3>Hills Of Southern India With Flights 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Coorg, Ooty</p>
															<div class="mt10px small">
							<form name="pkg_11193" id="pkg_11193" 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/hillsof-southern-india-with-flights-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Hills of Southern India with Flights 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="11193"/>
							</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:68:"Book The Magic of South India Tour - 5 Nights / 6 Days Tour Packages";i:2;s:141:"book the magic of south india tour - 5 nights / 6 days tour packages, forts and palaces tour packages, mysore, kodaikanal, ooty tour packages";i:3;s:176:"Krishna Air Travel offers The Magic of South India Tour - 5 Nights / 6 Days tour package, budget Forts and Palaces tour packages for Mysore, Kodaikanal, Ooty at exciting price.";i:4;s:5387:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mysore, Kodaikanal, Ooty"        
		                 },
		      "description": "Mysore

The former capital of the state of Mysore, and the seat of the Wodeyar Kings, Mysore is Karnataka's Jewel, its cultural capital, a city resplendent with history - both colonial and royal. It is Karnataka's second largest city, and abounds in natural beauty and architectural beauty, with tree lined boulevards and historical buildings.
Mysore is famous for its relaxed atmosphere, so relaxed in fact that it is hard to believe that such a sleepy town could have been the heart of a kingdom. It is also hard to believe that this Overview of the city has yet to mention the Mysore Palace. Famous across India, the Mysore Palace is the picture of gilded opulence! Mysore is also famous for its manufacture of incense sticks, which come in many fragrances, as well as for its sandalwood. Mysore is a pleasant change from the stereotypical image of modernized cities. From the moment you set foot in Mysore, it begins to reveal delicious secrets which make it a must see.

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.

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.24-0231-03",
		      "name": "The Magic of South India Tour",
		      "telephone": "+91-9818070030"
		    }
		    </script>
			";i:5;N;}