a:6:{i:0;s:13401:"				<div class="h1"><h1>Ooty Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.trishmitours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.trishmitours.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Ooty Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						2 Nights / 3 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangalore, Ooty</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.trishmitours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ooty 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="112710"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_13/367374/184769.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/367374/184769.jpg"  width="150" height="150"    alt="Ooty Tour" title="Ooty Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Travel Date - 29th December 2017<br />
Pick & Drop - Bangalore <br />
No of person - 10 Adults <br />
<br />
HOTEL DETAILS:- <br />
OOTY:- Hotel Signature Inn/ Hotel Al woodland / Hotel Pratham International / Similar<br />
Per Person PACKAGE COST 5,048*10= INR- 50,485/- + 5% GST Extra = 53,000/- <br />
<br />
Welcome drink on arrival<br />
Accommodation- 05 Dbl <br />
02 Nights stat at Ooty.<br />
Transport- Private Tempo Traveler/Similar<br />
Local sightseeing and transfers as per itinerary.<br />
Meal Plan CPAI. (Room & Breakfast).<br />
Toll / parking/fuel/ Driver charged.Any Air Fare / Train Tickets<br />
Services of the vehicle on leisure days and for sightseeing not included in the itinerary<br />
Alcoholic/aerated beverages, bottled water and starters<br />
Camera fees<br />
Entrance fees at all tourist attractions mentioned in the itinerary<br />
Medical and travel insurance<br />
Peak Season Charges<br />
All personal expenses, optional tours and extra meals<br />
Goods & Service Tax <br />
Anything not mentioned under "Inclusions"<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> BANGALORE -  OOTY
								</p>
								<p class="aj">Arrival at Bangalore Near to your dharamshala &  our representative will be there for pick up  & later proceed  Ooty check into hotel; visit . <br />
<br />
Ooty Rose Garden - The pride of Ooty lies in the Rose Garden With more than 20 thousand variety of roses. It belongs to an elite club of 35 rose gardens around the world which has won the Garden of Excellence Award for South Asia.<br />
<br />
<br />
Ooty Lake - An artificial lake, built in 1825 by John Sullivan, Ooty Lake is one of the most popular tourist attractions. Its scenic beauty captivates everyone. Walking around the lake on a well laid footpath and boating are also quite popular here.<br />
<br />
Botanical Garden, Chocolate factory, Golf Course later evening return to hotel. Evening Return to Hotel. Overnight Stay.</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> OOTY - COONOOR - OOTY
								</p>
								<p class="aj">After Breakfast do sightseeing tour of Coonoor Visit :-<br />
Coonoor - Located around 20 km from Ooty Coonoor is one of the largest hill stations after Ooty. In the Nilgiri Hills, at an altitude of 1,850 m above sea level, this hill stations presents alluring list of tourist attractions and adventure sports like trekking.<br />
Sim's Park - Located at a height of 1780 meters, Sim’s Park is a botanical garden which was established in 1874. It has more than 1000 species of flora including Queensland Karry Pine, Rudraksha (the bead tree) and Ornamental tree making it a place worth visiting.<br />
<br />
Lamb's Rock - Located on the way to Dolphin’s Nose in Ooty, Lamb’s Rock is laos called as Echo Rock. A popular picnic spot, it offers an admirable view of Coimbatore Plains and surrounding lush greenery. Route to this place offers trekking opportunities too.<br />
Dolphin’s Nose - Located 10 km at a distance from Coonoor, Dolphin’s Nose is a peak offering enchanting view of the Nilgiri Hills and the Catherine Falls. The peak of the hills resembles a nose of a dolphin hence the name.<br />
Tea Garden - Conoor, known as the tea garden town, boasts of many breath taking tea gardens. A tour to these tea plantations, walking through the lush greenery and refreshing aromas of tea is an experience worth trying.<br />
Doddabetta Peak - It is the highest point of Nilgiris hills with a height of about 2,623 meters. It is also the second highest peak in South India. A junction of Western and Eastern Ghats, its breathtaking view of the landscape around is something not to be missed.<br />
Evening Return to hotel. Overnight Stay at Ooty.</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> OOTY - BANGALORE DEPARTURE
								</p>
								<p class="aj">After breakfast, Check out from the Hotel late transfer to Bangalore dharamshala with loving memories of Trip.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Air Fare / Train Tickets</li><li>
Services of the vehicle on leisure days and for sightseeing not included in the itinerary</li><li>
Alcoholic/aerated beverages, bottled water and starters</li><li>
Camera fees</li><li>
Entrance fees at all tourist attractions mentioned in the itinerary</li><li>
Medical and travel insurance</li><li>
Peak Season Charges</li><li>
All personal expenses, optional tours and extra meals</li><li>
Goods & Service Tax </li><li>
Anything not mentioned under "Inclusions"</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>Payment Policy:</strong>

<ul>
	<li>25% booking amount of total tour cost to initiate a booking if travel date is more than 30 days from the date of booking.</li>
	<li>75% amount of total tour cost after the all confirmation/holding regarding your booking.</li>
	<li>Full payment is required before 10 days of the travel date.</li>
	<li>If the package is booked within 10 days of travel date 100 % amount of total tour cost after the all confirmation/holding regarding your booking.</li>
	<li>All the payment has to be made in Favor of &rdquo;TRISHMI TOURS LLP&quot; Through Cash/Cheque/NEFT/Card payable at Mumbai.</li>
</ul>

<p><strong>Cancellation Policy:</strong>

<ul>
	<li>More than 30 days of the travel date: 20% of package cost</li>
	<li>30 to 21 days before the travel date: 30% of package cost</li>
	<li>20 to 15 days before the travel date: 50% of package cost</li>
	<li>14 to 10 days before the travel date: 70% of package cost</li>
	<li>10 days before the travel date : 100% of package Cost</li>
</ul>

<p><strong>Terms and Condition:</strong>

<ul>
	<li>Rates mentioned above are valid for Indian nationals only until and unless specified along with quotation.</li>
	<li>The quotations are given without holding any confirmed reservations either in the airlines/transport or in the hotels. Once the quotation is accepted by the guest and advance amount is deposited either in Cheque / cash to process the reservation, the booking is processed at our end. In case we are unable to provide the services then the deposited amount shall be refunded to the guest. For the packages which are booked under our Airline Group Packages the airline tickets might be delivered 2 days before the departure of the group.</li>
	<li>Base category rooms will be booked in Hotels unless and until specified in the quotation. In case the rooms are not available in selected hotel, rooms shall be booked in similar hotel or higher category rooms where you have to pay the differences.</li>
	<li>Extra bed/mattress will be provided as per the hotel policy. If the hotel is giving an extra mattress instead of an extra bed it will be considered as an extra bed only.</li>
	<li>Any date amendments in the air tickets will be considered as cancellation only and new tickets are issued under new applicable fare at the time of issuance of ticket and cancellation charges are applicable for the canceled tickets as per airline policy.</li>
	<li>Any amendments in the date or itinerary are to be intimated us in writing and amended confirmation depends on the availability of given hotels on requested dates. Cancellation policy shall be applicable in such case.</li>
	<li>In a tour package, no refund shall be made for unutilized services. It is on guest&rsquo;s discretion whether to take service or not.</li>
	<li>Please carry your valid Identity proof card (passport in case of International travel) containing your photograph as it is required at the airport and during check in at hotels. Pan card is not a valid identity proof so please don&rsquo;t carry that with you.</li>
	<li>The check in and check-out time of most of the hotels is 02 PM to 12 PM and number of meals including breakfast is always corresponding to the no. of nights booked by the guest. The hotel does not provide breakfast on the day of arrival.</li>
	<li>For early check in and late check outs payments are to be settled directly by the guest at the hotel.</li>
	<li>Trishmi Tours LLP can assist you in processing visa for international travel but can&#39;t assure your visa and in case of failure of visa process, the cancellation policy will be applicable and will be charged from client.</li>
	<li>In case of International travel, rates may vary based on change of ROE or any other fluctuation in international market or subject to availability.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.trishmitours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ooty 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="112710"/>
						</form>
						</div>
						
						";i:1;s:48:"Book Ooty Tour - 2 Nights / 3 Days Tour Packages";i:2;s:101:"book ooty tour - 2 nights / 3 days tour packages, valley tour packages, bangalore, ooty tour packages";i:3;s:150:"Book Ooty Tour - 2 Nights / 3 Days tour packages from Trishmi Tours LLP - Get attractive 2 Nights / 3 Days Valley  tour packages for  Bangalore, Ooty.";i:4;s:1340:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangalore, Ooty"        
		                 },
		      "description": "Travel Date - 29th December 2017
Pick & Drop - Bangalore 
No of person - 10 Adults 

HOTEL DETAILS:- 
OOTY:- Hotel Signature Inn/ Hotel Al woodland / Hotel Pratham International / Similar
Per Person PACKAGE COST 5,048*10= INR- 50,485/- + 5% GST Extra = 53,000/- 

Welcome drink on arrival
Accommodation- 05 Dbl 
02 Nights stat at Ooty.
Transport- Private Tempo Traveler/Similar
Local sightseeing and transfers as per itinerary.
Meal Plan CPAI. (Room & Breakfast).
Toll / parking/fuel/ Driver charged.Any Air Fare / Train Tickets
Services of the vehicle on leisure days and for sightseeing not included in the itinerary
Alcoholic/aerated beverages, bottled water and starters
Camera fees
Entrance fees at all tourist attractions mentioned in the itinerary
Medical and travel insurance
Peak Season Charges
All personal expenses, optional tours and extra meals
Goods & Service Tax 
Anything not mentioned under "Inclusions"",
		      "name": "Ooty Tour",
		      "telephone": "+91-9619101033"
		    }
		    </script>
			";i:5;N;}