a:6:{i:0;s:22192:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>05 Nights  / 06 Days Srilanka Package.</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.wanderthirstholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.wanderthirstholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> 05 Nights  / 06 Days Srilanka Package.</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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Colombo, Kandy, Pinnawala, Bentota</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.wanderthirstholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="05 Nights  / 06 Days Srilanka Package. - 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="188037"/>
						</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_20/590168/294138.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/590168/294138.jpg"  width="150" height="110"    alt="05 Nights  / 06 Days Srilanka Package." title="05 Nights  / 06 Days Srilanka Package." /></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> Airport – Pinnawala- Kandy
										</p>
										<p class="aj">Upon arrive at airport, Please clear immigration & visa formalities, collect your baggage and proceed to the arrival lounge through the green channel if you do not have goods to be declared to customs. The Green Holiday Centre Representative will page you by your name. Thereafter you will be assisted to the Car park / Coach Park to begin you journey as per the booked itinerary with the English Speaking Chauffer.<br />
<br />
PINNAWELA ELEPHANT ORPHANAGE<br />
App. 55 miles from Colombo, off the Colombo - Kandy road is Pinnawela, where an orphanage was started in 1975 to house the abandoned and the wounded elephants. The number of elephants has increased to more than 65 now; including Baby Elephants brought from various parts, as well as some of the more than 25 babies born, as a result of the captive breeding programme. The best time to visit is the feeding time from 0930-1000 hrs and 1330-1400 hrs and the bathing time from 1000-1030 hrs and 1400-1430 hrs when all the elephants are taken to the river close by.  Afterwards Leave to Kandy, Overnight stay at Kandy 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> Kandy
										</p>
										<p class="aj">After breakfast, proceeds for Temple of the Sacred Tooth Relic - ever since 4th Century A.D, when the Buddha's Tooth was brought to Sri Lanka hidden from sacrilegious hands in an Orissan princess' hair, the Relic has grown in repute and holiness in Sri Lanka and throughout the Buddhist world. It is considered Sri Lanka's most prized possession.<br />
<br />
<br />
<br />
City tour of Kandy<br />
Kandy - the hill capital, venue of the annual Perahera. The last stronghold of the Sinhala Kings was finally ceded to the British in 1815. Kandy is an example of the Buddhism's influence in Sri Lanka today. Temple's shrines and monasteries keeping alive Buddhist traditions are everywhere.   <br />
<br />
Royal Botanical Gardens<br />
147 acres in extent: started in 1374 as a pleasure garden of the King’s of Kandy. There are more than 5000 species of tree and plants. Some and endemic as well as flora from the tropical world. Spice garden and Orchid House are popular with Tourists.</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 - Bentota
										</p>
										<p class="aj">After breakfast, travel to Bentota, Full Leisure at beach. Overnight stay at Hotel in Bentota.</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
										</p>
										<p class="aj">After breakfast leave to Bentota.  Proceed to Kosgoda visit Turtle Hatchery<br />
Kosgoda is famous for its sea turtle conservation project operated by the Wild Life Protection Society of Sri Lanka. It was established in 1988 to protect Sri Lanka’s turtles from extinction. Since then it has released about 3.5 million baby turtles into the wild.<br />
The hatchery pays fishermen for eggs that they collect at night along the long sandy beach. Although October to April is the main laying season, some eggs (mostly green turtles) can be found at Kosgoda throughout the year.<br />
The hatchery buries the eggs in sand, and when they hatch around 50 days later the baby turtles are released into the sea at night. Only about one in 1,000 turtles survives to maturity. Kosgoda turtle hatchery also has tanks for injured or disabled turtles, including albino turtles that would not survive in the wild.<br />
Proceed to Madu Ganga for a Boat Ride<br />
<br />
The estuary of the Madu Ganga river is a complex coastal ecosystem of mangroves and islands. It may be one of the last remaining tracts of pristine mangrove forests in Sri Lanka.<br />
A boat trip is a wonderful way of seeing some of the hundreds of species of plants and animals – monkeys eat fruit in the trees, a water monitor lizard glides slowly through the water, and cormorants, egrets and kingfishers wait patiently on the banks, eyeing the water for prey.<br />
There are around 64 islands in the river and lagoon, from a tiny speck housing a deserted shrine to one housing 250 families connected to the mainland with a very long footbridge.<br />
You can visit an island with a Buddhist monastery, where the friendly young monks will show you a 150-year-old book made of palm leaves and how they cook on cinnamon wood on an open fire.<br />
The main occupations of the local inhabitants are producing cinnamon and prawn fishing – if you take the trip in the evening you will see the fishermen in their canoes lighting lanterns to attract the shellfish into their traps. <br />
Overnight stay at 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 5:</b> Bentota- Colombo - City tour in Colombo + Shopping
										</p>
										<p class="aj">Colombo - a drive through the city taking you to the busy commercial areas as well as the tree-lined residential, Cinnamon Gardens. <br />
Visit Fort, the former British administrative center and military garrison, Sea Street - the Goldsmith’s quarters in the heart of Pettah, the Bazaar area, where is also a Hindu Temple with elaborate stone carvings, and the Dutch Church of Wolfendhal dating back to 1749. <br />
Also visit the BMICH, see the replica of Avukana Buddha and Independence Square.<br />
Overnight stay at 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 6:</b> Colombo – Departure
										</p>
										<p class="aj">Transfer to Airport according to the departure schedule.</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>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</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>* Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.wanderthirstholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="05 Nights  / 06 Days Srilanka Package. - 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="188037"/>
						</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.wanderthirstholidays.in/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/kaziranga-tour-packages.htm" title="Kaziranga Tour Packages">Kaziranga</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/sarhan-tour-packages.htm" title="Sarahan Tour Packages">Sarahan</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/imphal-tour-packages.htm" title="Imphal Tour Packages">Imphal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/kalpa-tour-packages.htm" title="Kalpa Tour Packages">Kalpa</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/macau-tour-packages.htm" title="Macau Tour Packages">Macau</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/colombo-tour-packages.htm" title="Colombo Tour Packages">Colombo</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.wanderthirstholidays.in/bentota-tour-packages.htm" title="Bentota Tour Packages">Bentota</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.wanderthirstholidays.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</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.wanderthirstholidays.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</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.wanderthirstholidays.in/punakha-tour-packages.htm" title="Punakha Tour Packages">Punakha</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.wanderthirstholidays.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</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.wanderthirstholidays.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</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.wanderthirstholidays.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</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.wanderthirstholidays.in/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</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.wanderthirstholidays.in/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</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.wanderthirstholidays.in/thimphu-tour-packages.htm" title="Thimphu Tour Packages">Thimphu</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.wanderthirstholidays.in/digha-tour-packages.htm" title="Digha Tour Packages">Digha</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.wanderthirstholidays.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</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.wanderthirstholidays.in/bhalukpong-tour-packages.htm" title="Bhalukpong Tour Packages">Bhalukpong</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.wanderthirstholidays.in/rimbick-tour-packages.htm" title="Rimbick Tour Packages">Rimbick</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.wanderthirstholidays.in/hanoi-tour-packages.htm" title="Hanoi Tour Packages">Hanoi</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.wanderthirstholidays.in/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</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.wanderthirstholidays.in/bagdogra-tour-packages.htm" title="Bagdogra Tour Packages">Bagdogra</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.wanderthirstholidays.in/phuket-tour-packages.htm" title="Phuket Tour Packages">Phuket</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.wanderthirstholidays.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</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.wanderthirstholidays.in/lachen-tour-packages.htm" title="Lachen Tour Packages">Lachen</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.wanderthirstholidays.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.wanderthirstholidays.in/boating-holidays-catid.htm" title="Boating Packages">Boating</a> <b class="alpha50 bn small">(1)</b></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:77:"Book 05 Nights  / 06 Days Srilanka Package. - 5 Nights / 6 Days Tour Packages";i:2;s:152:"book 05 nights  / 06 days srilanka package. - 5 nights / 6 days tour packages, adventure tour packages, colombo, kandy, pinnawala, bentota tour packages";i:3;s:213:"Book 05 Nights  / 06 Days Srilanka Package. - 5 Nights / 6 Days tour packages from Wanderthirst Holidays Pvt Ltd - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Colombo, Kandy, Pinnawala, Bentota.";i:4;s:444:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Pinnawala, Bentota"        
		                 },
		      "description": "",
		      "name": "05 Nights  / 06 Days Srilanka Package.",
		      "telephone": "+91-7044990412"
		    }
		    </script>
			";i:5;N;}