a:6:{i:0;s:10872:"				<div class="h1"><h1>Sri Lanka 4N / 5D Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Sri Lanka 4N / 5D 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">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Colombo, Kandy, Nuwara Eliya, Bentota</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sri Lanka 4N / 5D 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="56044"/>
						</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_12/333350/107067.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/107067.jpg"  width="150" height="150"    alt="Sri Lanka 4N / 5D Tour" title="Sri Lanka 4N / 5D Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrive Colombo - Dambulla (4.5 hours)
								</p>
								<p class="aj">Arrive into Colombo and you will be welcomed and assisted by a representative before you proceed to Dambulla. En-route visit Pinnawala Elephant orphanage which shelters more than 70 orphaned elephants and visit Herbal Garden. Afternoon visit the cave Temple at Dambulla. Dambulla is a vast isolated rock mass and it was here that King Valagam Bahu took refuge in the 1st century B.C. He later turned the caves into a rock temple. Some of the frescoes are over 2,000 years old and there is a colossal figure of the recumbent Buddha carved out of the living rock, some 14 meters long.<br />
Overnight in Dambulla.</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> Kandy - Nuwara Eliya (2.5 hours)
								</p>
								<p class="aj">Enjoy a delicious breakfast at your hotel. Today you will visit<br />
Nuwara Eliya (City of Lights), blessed with salubrious climate, breathtaking views of valleys, meadows, mountains and greenery; Surrounded by hills and tea plantations, the town of Nuwara Eliya enjoys spring-like weather throughout the year. It is also known as "Little England", which was the favorite hill station of the British who tried to create Nuwara Eliya into a typical English Village. The old brick Post office, country house like hill club with its hunting pictures, trophies and strict formal dinner attire; the 18 hole golf course, horse race course, etc., all remind you of "England".<br />
Sightseeing City tour: During the city tour in Nuwara Eliya you will visit the main attractions of the town which include the golf course, trout streams, Victoria Park, and boating or fishing on Lake Gregory. You can also visit a working tea factory where the slow-growing tea bushes of this highland region produce some of the world's finest Orange Pekoe tea. You can also add Seetha Eliya and Haggala Gardens. Seetha Eliya is a temple which was mentioned in the famous epic Ramayana. Haggala is a temperate hill-country garden where languid low-country lotus and water lily float in their serene loveliness. (Entrance fees to sites not included)<br />
Overnight stay in Nuwara Eliya.</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> Nuwara Eliya - Bentota (5.5 hours)
								</p>
								<p class="aj">Enjoy a delicious breakfast at your hotel. Today you will visit<br />
Bentota is the city of the Golden Beaches. You will be able to relax and feel the spirit of the sea and the warmth of the soft sand. The day is divided in between swimming in the water and bathing in the sun. Bentota provides the perfect turf for unfurled vacation at the beach. While enjoying the sun, sea and sand the water sports lovers can enroll themselves in various water sports bringing in the unique pleasure of this locale.<br />
City tour: On your city tour you will enjoy a boat ride along the Madhu River. It is a scenic tour relaxing and interesting while passing many islets forested with mangroves and experience the natural rhythms as well. If you are looking for more exclusive experience visit the turtle hatchery too. The Turtle Hatchery is the prime turtle nesting site which was open by the Wild life Protection Society in 1981.Visitors can see huge tanks filled with new born turtle hatchlings. After being fed, the baby turtles are taken to the sea and released when they are 2-4 days old, usually during the safer hours of darkness. (Entrance fees to sites not included).</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> Bentota - Colombo (2 hours)
								</p>
								<p class="aj">Enjoy a delicious breakfast at your hotel. Today you will visit<br />
Colombo is the largest city and commercial capital of Sri Lanka. Located on the west coast, it is a busy and vibrant city with a mixture of modern and colonial impressions. Colombo has wildly varying architecture that span centuries and depict various styles. Many colonial buildings influenced by the Portuguese, Dutch and British exist alongside structures built in Buddhist, Hindu, Islamic, Indian and Contemporary architectural styles. No other place is this more evident in the heart of the city the Fort area. Colombo also boasts many shopping malls and department stores that offer brand name clothing at highly discounted prices. Therefore, it has become an important shopping destination among tourists.<br />
City Tour: While on your city tour in Colombo you may visit famous places including Galle Face Green, the Viharamaha Devi Park, National Museum, Twin World Trade Center towers, Old Parliament Building, Fort district, Independence Hall at Independence Square, and prominent Buddhist, Hindu, Islam and Christian places of worship. (Entrance fees to sites not included). For shopping, you may visit Odel, House of Fashion, Beverly Street, Majestic City, Noritake, etc.<br />
Overnight stay in Colombo.</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> Depart Colombo
								</p>
								<p class="aj">After breakfast, you have time free at leisure till it’s time to proceed to the airport for your flight back home.</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>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Sri Lanka 4N / 5D 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="56044"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Sri Lanka 4N / 5D Tour - 4 Nights / 5 Days Tour Packages";i:2;s:142:"book sri lanka 4n / 5d tour - 4 nights / 5 days tour packages, hill station tour packages, colombo, kandy, nuwara eliya, bentota tour packages";i:3;s:198:"Book Sri Lanka 4N / 5D Tour - 4 Nights / 5 Days tour packages from El Travel Elect Pvt. Ltd - Get attractive 4 Nights / 5 Days Hill Station  tour packages for  Colombo, Kandy, Nuwara Eliya, Bentota.";i:4;s:431:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Nuwara Eliya, Bentota"        
		                 },
		      "description": "",
		      "name": "Sri Lanka 4N / 5D Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}