a:6:{i:0;s:38429:"					<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-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 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;}