a:6:{i:0;s:29149:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Sri Lanka Maldives Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.travelonzindia.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelonzindia.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Sri Lanka Maldives Tour</p>
						</div>
						</div>
						</section>
										<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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Colombo, Kandy, Nuwara Eliya, Pinnawala, Dambulla</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelonzindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sri Lanka Maldives Tour - 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="195133"/>
						</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_23/686466/309298.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_23/686466/309298.jpg"  height="150"  width="150"    alt="Sri Lanka Maldives Tour" title="Sri Lanka Maldives Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Colombo – Pinnawala – Dambulla (1 Night)
										</p>
										<p class="aj">Sri Lanka Maldives Tour (Mumbai to Mumbai) guests will report at Chhatrapati Shivaji International Airport-respective airline terminal, four hours prior to the scheduled flight departure time.<br />
After collecting the snacks hamper from Travelonz India Airport Representative and completing check in formalities, Sri Lanka Maldives Tour guests along with Travelonz India Tour Manager will travel to Colombo – Commercial capital, largest city of Sri Lanka and has long history as a port on ancient east – west trade route.<br />
Joining & Leaving (J&L) tour guests will directly join at Colombo Airport as per the scheduled group flight arrival time. J&L Tour guests who have already reached Sri Lanka can meet the scheduled group as per the guidelines given by Travelonz India Tour Manager.<br />
Upon arrival, Travelonz India Tour Manager will guide all Tour guests for airport formalities and proceed to Dambulla – an archaeological site in Sri Lanka famous for its largest and best preserved cave temple complex.<br />
En route we visit Pinnawala Elephant Orphanage – an orphanage, nursery and captive breeding ground for wild Asian elephants.<br />
In the evening, all tour guest will have a short Meet & Greet session.<br />
 Dinner<br />
 Night Stay in Dambulla<br />
Highlights<br />
Pinnawala Elephant Orphanage</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> Dambulla – Kandy (2 Nights)
										</p>
										<p class="aj">Today we take photo stop at Sigirya Rock fortress – a UNESCO world heritage site and best example of ancient urban planning. Later we visit Dambulla Cave temple – also known as the Golden Temple of Dambulla are five caves that boasts statues and paintings related to Gautam Budhha’s life. There are total 153 statues of Buddha, 3 Statues of Sri Lankan Kings and four statues of gods and goddesses. In the afternoon we proceed to Kandy - is a city located in the heart of Sri Lanka and famous as Tea Capital of Sri Lanka. En-route we visit spice garden.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Kandy<br />
Highlights<br />
Photo stop at Sigirya Rock fortressDambulla Cave temple<br />
What's moreCoconut Water at Dambulla Cave Temple.</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> Kandy
										</p>
										<p class="aj">Today we explore the city of Kandy, we visit Temple of the Tooth Relic – a sacred temple Located in the Kandy royal palace complex which houses the tooth relic of the Buddha, Kandy Lake – a beautiful lake in front of Tooth Relic Temple also known as Sea of Milk, Kandy Town, Arts and Crafts centre, Gems Gallery and Lapidary.<br />
Later we explore Peradeniya Botanical Gardens, renowned for its collection of a variety of orchids. The garden includes more than 4000 species of plants including spices, medicinal plants and palm trees.<br />
In the evening we will enjoy traditional Sri Lankan Dance show.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Kandy<br />
Highlights<br />
Explore the city of KandyPeradeniya Botanical GardensTraditional Sri Lankan Dance show.<br />
What's moreIce cream/tea/coffee at Peradeniya.</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> Kandy – Nuwara Eliya (1 Nights)
										</p>
										<p class="aj">Today we proceed to Nuwara Eliya – a picturesque town located in highlands of Sri Lanka and known as country’s coolest place. En route we visit Anjaneyar (Hanuman) temple in Ramboda – according to ancient stories this is a place where Rama’s forces gathered to fight against King Ravana followed by visit to the Tea Factory. Upon arrival at Nuwara Eliya, we visit Seetha Amman Temple – According to legends this place is believed to be the site where Seeta was held captive by king Ravana. Later we visit Hakgala Botanical Gardens (Ashok Vatika) – It is said that Demon King Ravana offered this area to Maa seeta as a pleasure garden. Hakgala Botanical Garden is Sri Lanka’s second largest Garden and houses over 10,000 species of plants and famous for diverse species of Orchids and Roses. In the evening, we have free time for relaxing and exploring the surroundings.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Nuwara Eliya<br />
Highlights<br />
Anjaneyar (Hanuman) templeTea FactorySeetha Amman TempleHakgala Botanical Gardens (Ashok Vatika)<br />
What's moreTea at the Tea Factory</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> Nuwara Eliya – Colombo (1 Night)
										</p>
										<p class="aj">Today we proceed to Colombo. Upon arrival we explore the city of Colombo, we see the Buddhist temple, 100 years old Clock tower, the Bandaranaike Memorial International Conference Hall, British built colonial buildings and Kelaniya Temple – the shrine dedicated to King Ravana’s brother – Bibhishana.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Colombo<br />
Highlights<br />
Explore the city of Colombo<br />
What's moreIce cream during the city tour</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> Colombo – Male (2 Nights)
										</p>
										<p class="aj">Today we have free time for shopping at House of Fashion mall. Later we fly to Male. Male is one of the smallest capital city in the world, built on a grid pattern and its narrow streets lined with colourful old and new apartments.<br />
Upon arrival, we proceed to our island resort by boat.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Malé<br />
Highlights<br />
Shopping at House of Fashion mall</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> Male
										</p>
										<p class="aj">Today you can enjoy the blue waters of Maldives and you also get a chance to enjoy various adventure water sport activities like banana boat ride, snorkelling, Jet Ski, scuba diving, underwater walk etc. on your own. In the evening, we board on Sunset Cruise and witness glorious shades dusk colours over horizon.<br />
Please note: Hotels in Maldives generally offer activities such as boating and glass bottom boat ride. Guests can enjoy these activities in their free time on their own.<br />
 Breakfast<br />
 Lunch<br />
 Dinner<br />
 Night Stay in Malé<br />
Highlights<br />
Enjoy various adventure water sport activities</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 8:</b> Male – Departure to Hometown
										</p>
										<p class="aj">Today we explore Male city, we visit Grand Friday Mosque, Sultan Park - A park built upon the demolished grounds of the Royal Palace in the 16th century and National Museum - home to an extensive collection of historical artefacts that depict the history and rich cultural heritage of the country.<br />
It’s time now to say goodbye!<br />
<br />
Sri Lanka Maldives Tour (Mumbai to Mumbai) guests will proceed to Male Airport as per the scheduled group flight departure time. After completing airport formalities, Sri Lanka Maldives Tour guests will travel back to Mumbai with Travelonz India Tour Manager.<br />
Joining & Leaving (J&L) Tour guests can be dropped at Male Airport along with scheduled group or they can have their own arrangements made for the return journey back home.</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>To and fro economy class air travel for ‘Mumbai to Mumbai Tour’ guests as mentioned in the itineraryAirfare, Airport taxes and Visa FeesBaggage Allowance as per the airline policyTour Manager Services throughout the tourTravel by comfortable A/C coach as per the tour itineraryEntrance fees of all sightseeing places to be visited from insideAccommodation in comfortable and convenient hotels on twin sharing basisAll Meals – Breakfast, Lunch, Dinner (set menu) as mentioned in the itineraryAll Tips – Guide, Driver & RestaurantsCost of internal airfare as mentioned in the itineraryComplimentary insurance up to 59 years of age</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Govt Tax of 5.00% over and above the Tour Cost mentionedAny increase in Airfare, Airport taxes, Govt Taxes, Fuel Surcharges and any applicability of new taxes from GovtAny up gradation in Airline class or hotel room categoryCost of Air ticket deviation chargesAny Increase in the rate of exchange leading to an increase in all land arrangements which may come in to effect prior to departureCost of pre or post tour hotel accommodationAny extra expense such as route change, Airline change, Date change, Accommodation facilities, etc incurred due to the unforeseen, unavoidable forced majeuere circumstances during the tourCost of insurancePorterage, laundry, telephone charges, shopping, wines & alcoholic beverages, mineral water, items of personal nature and food or drink which is not part of a set group menuAny extra cost incurred on behalf of an individual due to illness, accident, hospitalisation, or any personal emergencyAny services or activity charges other than those included in the group tour itineraryTo and fro Air fare, Airport transfers, visa fees to join/leave the group and Airport snack hamper for joining and leaving guestsAnything specifically not mentioned in the ‘tour price includes’ column.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Remarks</li><li>
All meals are provided by Travelonz India in case the flight reaches the stipulated destination early morning or leaves destination late in the evening.</li><li>
Requirement for Visa On Arrival for Maldives :- Original Passport with the validity of 6 months from date of arrival in India. - 2 Standard photographs 35x45 mm, white background, matt finished, 80% facial image.</li><li>
In case, a particular sightseeing cannot be covered or visited on the Tour, owing to any kind of unavoidable political, environmental or social circumstances, then it will be replaced with other best possible alternative sightseeing.</li><li>
Standard Check-in and check-out time of International hotels is usually 1500hrs and 1200hrs respectively.</li><li>
Guests may please note that for Domestic flights or internal flights from one city to another city on international tours, the baggage allowance will be as per the respective airline baggage policy and weight regulations. Guests are requested to pack their belongings and carry luggage in accordance to the respective airlines baggage allowance. Excess baggage (if any) will be chargeable as per the airline policy and the same has to be borne by the guest.</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 received no. of days prior to departure	Cancellation fee applicable on Net Tour Price (per person)</li><li>
D-0 to 5	100%</li><li>
D-6 to 15	75%</li><li>
D-16 to 30	50%</li><li>
D-31 to 45	40%</li><li>
D-46 to 60	30%</li><li>
D-61 to 90	20%</li><li>
D-91 to 120	15%</li><li>
D-121 to 900	10%</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelonzindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sri Lanka Maldives 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="195133"/>
						</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.travelonzindia.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/yamunotri-tour-packages.htm" title="Yamunotri Tour Packages">Yamunotri</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</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.travelonzindia.com/dungarpur-tour-packages.htm" title="Dungarpur Tour Packages">Dungarpur</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.travelonzindia.com/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</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.travelonzindia.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</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.travelonzindia.com/bali-tour-packages.htm" title="Bali Tour Packages">Bali</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.travelonzindia.com/male-tour-packages.htm" title="Male Tour Packages">Male</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.travelonzindia.com/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">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.travelonzindia.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</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.travelonzindia.com/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</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.travelonzindia.com/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/nuwara-eliya-tour-packages.htm" title="Nuwara Eliya Tour Packages">Nuwara Eliya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/agra-tour-packages.htm" title="Agra Tour Packages">Agra</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 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.travelonzindia.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(29)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/heli-skiing-holidays-catid.htm" title="Heli Skiing Packages">Heli Skiing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelonzindia.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelonzindia.com/safari-holidays-catid.htm" title="Safari Packages">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>
				
								
				</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:62:"Book Sri Lanka Maldives Tour - 7 Nights / 8 Days Tour Packages";i:2;s:160:"book sri lanka maldives tour - 7 nights / 8 days tour packages, beach and islands tour packages, colombo, kandy, nuwara eliya, pinnawala, dambulla tour packages";i:3;s:207:"Book Sri Lanka Maldives Tour - 7 Nights / 8 Days tour packages from Travelonz India - Get attractive 7 Nights / 8 Days Beach and Islands  tour packages for  Colombo, Kandy, Nuwara Eliya, Pinnawala, Dambulla.";i:4;s:444:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Nuwara Eliya, Pinnawala, Dambulla"        
		                 },
		      "description": "",
		      "name": "Sri Lanka Maldives Tour",
		      "telephone": "+91-7392811462"
		    }
		    </script>
			";i:5;N;}