a:6:{i:0;s:30533:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Hills Of South India Fly-N-Stay</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.jypholidays.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.jypholidays.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Hills Of South India Fly-N-Stay</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-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bangalore, Coorg, Mysore, Ooty</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 31599 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.jypholidays.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hills Of South India Fly-N-Stay - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="186871"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_19/563024/290654.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/563024/290654.jpg"  width="150" height="112"    alt="Hills Of South India Fly-N-Stay" title="Hills Of South India Fly-N-Stay" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival at Bangalore
										</p>
										<p class="aj">On arrival at Bangalore, meet our representative and get transferred to the hotel. Later proceed for sightseeing of Bangalore City visiting Vidhan Soudha, Lalbagh Botanical garden, Tipu Sultans palace and Bull temple one of the oldest temples built in 16th century. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Bangalore - Coorg (290 Kms / 5 - 6 Hrs)
										</p>
										<p class="aj">After an early breakfast, check-out of the hotel and drive to Coorg. En route Coorg visit the famous Buddhist Monastery and the Golden Buddha Temple located in Bylekuppe. Bylekuppe - One of the largest Tibetan settlements in South India, it is known for its monasteries, handicrafts, carpet factories, and incense factory. Arrive Coorg in the evening and check into the hotel. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel.<br />
Meals Included: Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Coorg
										</p>
										<p class="aj">After breakfast, enjoy sightseeing of Coorg visiting Bhagamandala, Omkareshwara Temple, Madikeri Fort, Abbey Falls and Rajas Seat. Post tour return back to the hotel, enjoy rest of the day at leisure. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel.<br />
Meals Included: Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Coorg - Mysore (140 Kms / 3 - 4 Hrs)
										</p>
										<p class="aj">After breakfast, check out of the hotel and drive to Mysore. Arrive Mysore in the noon and check into the hotel. Later proceed for sightseeing of Mysore visiting Maharajas Palace. Later in the evening proceed to KRS Dam and Brindavan Gardens. One can also enjoy Sound & Light show in the Gardens. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel.<br />
Meals Included: Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Mysore - Ooty (170 Kms / 3 - 4 Hrs)
										</p>
										<p class="aj">After breakfast, check out of the hotel and drive to Ooty. Arrive Ooty in the evening and check into the hotel. Later enjoy sightseeing of Ooty visiting Botanical garden, market place. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel.<br />
Meals Included: Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Ooty
										</p>
										<p class="aj">After breakfast, enjoy a day trip to Coonoor. In Coonoor enjoy visit to Sims park, Lambs rock and Dolphins nose. Post tour return back to the hotel, enjoy rest of the day at leisure. Overnight at the hotel.<br />
Meals Included: Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Departure from Bangalore
										</p>
										<p class="aj">After breakfast, check out of the hotel and transfer to Bangalore railway station / airport in time for your onward journey. Trips end here with a bag full of memories to look back upon with relish and nostalgia!<br />
Meals Included: Lunch</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																				<li>Roundtrip economy class airfare with taxes.</li><li>
01 Night accommodation in Bangalore. </li><li>
02 Nights accommodation in Coorg. </li><li>
02 Nights accommodation in Ooty. </li><li>
01 Night accommodation in Mysore. </li><li>
Daily Breakfast and Dinner.</li><li>
All tours and transfers on private basis as per the </li><li>
itinerary.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any train tickets.</li><li>
Any meals other than specified in inclusions.</li><li>
Personal expenses such as tips, porterage, telephone calls, etc.</li><li>
Surcharge will be applicable on particular events, festival & fairs.</li><li>
Travel Insurance.</li><li>
GST extra.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>GST shall be applicable over and above the package prices.</li><li>
Your e-tickets will be sent 3 days before departure in case of fixed departure.</li><li>
Above rates are Net and Non Commissionable.</li><li>
The package price does not include – Expenses of personal nature, such as laundry, telephone calls, room service, alcoholic beverages, mini bar charges, tips, portage, camera fees etc.</li><li>
Meal plan: EP - Accommodation only, CP - Accommodation with breakfast, MAP - Accommodation with breakfast, lunch or dinner, AP - Accommodation with breakfast, lunch & dinner. </li><li>
Airline seats and hotel rooms are subject to availability at the time of booking. </li><li>
In case of any Visa denial or any delay in Visa process we shall not be resonsible for any loss due to the same and no refund will be applicable. Visa approval and process duration is as per consulate / embassy descretion. We cannot guarantee if visa shall be granted and duration to process the same.</li><li>
In case of unavailability in the listed hotels, arrangement for an alternate accommodation will be made in a hotel of similar standard. </li><li>
Transportation shall be provided as per the itinerary and will not be at disposal.( AC will not work on hills ) </li><li>
Package rates are subject to change without prior notice, Force Majeure events, strikes, fairs, festivals, weather conditions, traffic problems, overbooking of hotels / flights, cancellation / re-routing of flights, closure of / entry restrictions at a place of visit, etc. While we will do our best to make suitable alternate arrangements, we would not be held liable for any refunds/compensation claims arising out of this. </li><li>
It is mandatory for all guests to carry valid photo ID's (Passport/Driving License/Voter ID Card). PAN Card is not accepted at many places as a valid photo ID. </li><li>
Cancellation charges will be calculated on gross tour cost and the cancellation charges shall depend on date of departure and date of cancellation.</li><li>
Cancellation charges for any type of transport ticket are applicable as per the rules of the concerned authority.</li><li>
Air tickets issued on special fares are NON REFUNDABLE and Guest shall bear cancellation charges.</li><li>
Any refund payable to the Guest (if any applicable as per cancellation policy) will be paid after the Company receives refund from the respective authorities. The Company deducts processing charges from the refund to be paid to the Guest.</li><li>
From 1 June 2016 onwards if any invoice amount is above 2 lacs and mode of payment full or partial is in cash (cash paid at counter or deposited in bank) 1% TCS will be applicabke and to be deposited extra on total amount and PAN card copy has to be shared. </li><li>
Also do read booking procedure which is given in every package details.</li><li>
The Company reserves the right to: </li><li>
Take the booking for the group tour and individual tour.</li><li>
Cancel bookings even after the acceptance of the payment without assigning any reason. In this case the company shall refund the money to the guest.</li><li>
Dismiss any guest from the tour for misbehaviour especially if it affects the group and Physical or verbal assault to the Tour Manager.</li><li>
Withdraw discounts at any point of time.</li><li>
Change the routing of Air Travel.</li><li>
Change hotel and/tour programme due to unavoidable circumstances.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Cancellation made 30 days or more before departure date - 25% of package price will be applicable as cancellation charges.</li><li>
Cancellation made 15 to 30 Days prior to Departure - 50% of package price will be applicable as cancellation charges.</li><li>
Cancellation made within 15 Days before Departure - 100% of package price will be applicable as cancellation charges.</li><li>
In case of no show - 100% of package price will be applicable as cancellation charges.</li><li>
Note: Please read the terms and conditions before booking.</li><li>
    Cancellation Due To Visa Rejection</li><li>
All the clients travelling on a tour must be in possession of a valid visa. However kindly note that it is entirely at the discretion of the concerned Consulate / Authorities to grant / reject visa even after submitting all relevant documents and the company will not be held responsible for the same. The company is not at all liable for such cases or has any influence on the consulate/embassy's decision The role of the company is only to provide necessary guidance to the client for the purpose of applying for Visa. The company will not be responsible for non-issuance of visa due to receipt of incomplete / delayed documents from the Clients. It is a possibility that the consulate may ask the passengers to appear for a personal interview. This is at the sole discretion of the Consulate / Authorities. If the required documents are not submitted by the client, the issuance of visa will further be delayed / rejected, and the client will not hold Travkart.com for the same. Client should adhere to all the norms and conditions laid by the consulate/embassy Upon rejection of visa, if the client wishes to reapply for the visa, he/she is liable to pay again the requisite fee to the consulate and he/she will not claim from Travkart.com </li><li>
    Loss/Damage</li><li>
Company is not responsible for any loss or damage to personal belongings during the stay in the hotel or while traveling in the coach. Due to theft or loss of baggage, tour participant can lodge a complaint with the local authorities on his/her sole discretion, cost, risk and consequences.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.jypholidays.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Hills Of South India Fly-N-Stay - 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="186871"/>
						</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="https://www.jypholidays.co.in/rome-tour-packages.htm" title="Rome Tour Packages">Rome</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/florence-tour-packages.htm" title="Florence Tour Packages">Florence</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/venice-tour-packages.htm" title="Venice Tour Packages">Venice</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/prague-tour-packages.htm" title="Prague Tour Packages">Prague</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/budapest-tour-packages.htm" title="Budapest Tour Packages">Budapest</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/salzburg-tour-packages.htm" title="Salzburg Tour Packages">Salzburg</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/milan-tour-packages.htm" title="Milan Tour Packages">Milan</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/balasinor-tour-packages.htm" title="Balasinor Tour Packages">Balasinor</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/vienna-tour-packages.htm" title="Vienna Tour Packages">Vienna</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/barcelona-tour-packages.htm" title="Barcelona Tour Packages">Barcelona</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/tingmosgang-tour-packages.htm" title="Tingmosgang Tour Packages">Tingmosgang</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/madrid-tour-packages.htm" title="Madrid Tour Packages">Madrid</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/interlaken-tour-packages.htm" title="Interlaken Tour Packages">Interlaken</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/genting-tour-packages.htm" title="Genting Tour Packages">Genting</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/lyon-tour-packages.htm" title="Lyon Tour Packages">Lyon</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/frankfurt-tour-packages.htm" title="Frankfurt Tour Packages">Frankfurt</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/geneva-tour-packages.htm" title="Geneva Tour Packages">Geneva</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/north-goa-tour-packages.htm" title="North Goa Tour Packages">North Goa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/dwarka-tour-packages.htm" title="Dwarka Tour Packages">Dwarka</a> <b class="alpha50 bn small">(2)</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="https://www.jypholidays.co.in/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(29)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/spa-wellness-holidays-catid.htm" title="Spa / Wellness Packages">Spa / Wellness</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.jypholidays.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/shopping-holidays-catid.htm" title="Shopping Packages">Shopping</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.jypholidays.co.in/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Bangalore, Coorg, Mysore, 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='https://www.jypholidays.co.in/holiday-packages/karnataka-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/563024/290655.jpg"  alt="Karnataka Tour" title="Karnataka Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.jypholidays.co.in/holiday-packages/karnataka-tour.htm" title="Karnataka Tour"><h3>Karnataka 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> :  Bangalore, Coorg, Hassan, Mysore</p>
															<div class="mt10px small">
							<form name="pkg_186872" id="pkg_186872" method="post" action="https://www.jypholidays.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.jypholidays.co.in/holiday-packages/karnataka-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Karnataka 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="186872"/>
							</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:70:"Book Hills Of South India Fly-N-Stay - 6 Nights / 7 Days Tour Packages";i:2;s:144:"book hills of south india fly-n-stay - 6 nights / 7 days tour packages, hill station tour packages, bangalore, coorg, mysore, ooty tour packages";i:3;s:182:"Jyp Tours and Travels offers Hills Of South India Fly-N-Stay - 6 Nights / 7 Days tour package, budget Hill Station tour packages for Bangalore, Coorg, Mysore, Ooty at exciting price.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangalore, Coorg, Mysore, Ooty"        
		                 },
		      "description": "",
		      "name": "Hills Of South India Fly-N-Stay",
		      "telephone": "+91-9518523863"
		    }
		    </script>
			";i:5;N;}