a:6:{i:0;s:12443:"				<div class="h1"><h1>4N/5D Sri Lanka Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bellatours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bellatours.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>4N/5D Sri Lanka Package</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</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 13500 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4N/5D Sri Lanka 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="92783"/>
						</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_14/397488/159126.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/159126.jpg"  width="150" height="150"    alt="4N/5D Sri Lanka Package" title="4N/5D Sri Lanka Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					1 Night in Kandy with Breakfast <br />
2 Nights in Nuwara Eliya with Breakfast<br />
1 Night in Colombo with Breakfast <br />
Visit Pinnawala Elephant orphanage<br />
Kandy city tour with Cultural show<br />
Visit Royal Botanical Gardens - Peradeniya <br />
Nuwara Eliya & Colombo city tour <br />
Return airport transfers<br />
All Transfers & sightseeing on private basisAirfare & Taxes<br />
Visa & Insurances charges<br />
Any up gradation in hotel room category. Any meals other than specified above<br />
Any sightseeing other than mentioned above<br />
Any Entrance fees or Fees for video or camera permit<br />
Any item of personal nature like tips, laundry, telephone calls, etc.<br />
Service tax will be applicable on total invoice15-0731-12<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 in Colombo - Pinnawala - Kandy - City Tour
								</p>
								<p class="aj">Welcome to Sri Lanka. Arrive at Colombo airport and transfer to Kandy via Pinnawala Elephant Orphanage. This 24 acres large elephant orphanage is an also breeding pace for elephants, the first elephant baby was born in 1984, and it has the greatest herd of elephants in captivity in the world. Arrive in Kandy and check in at hotel. Later proceed for Kandy city tour with cultural show. Overnight stay in Kandy.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397488/159126.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/159126.jpg"  width="150" height="150"    alt="4N/5D Sri Lanka Package" title="4N/5D Sri Lanka Package" /></a></p></div></li>
									</ul>
									</div>
									</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
								</p>
								<p class="aj">After breakfast, transfer to Nuwara Eliya. En route visit Royal Botanical Gardens - Peradeniya. There are more than 5,000 species of trees, plants and creepers. Later visit Sri Hanuman Temple. Arrive in Nuwara Eliya the ‘Little England’ of Sri Lanka and check in at hotel. 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 - Local sightseeing
								</p>
								<p class="aj">This morning visit Seetha Aman Temple & Asika vatika. Where Seetha had kept captivity according to legend City tour in Nuwaraeliya. Later visit Gayathri Peedam. 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 4:</b> Nuwara Eliya - Colombo - City Tour
								</p>
								<p class="aj">This morning check out from hotel & transfer to Colombo. Colombo is the largest city and commercial capital of Sri Lanka. While on your city tour in Colombo you may visit famous places including Galle Face Green, the Viharamahadevi 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. For shopping, you may visit Odel, House of Fashion, Beverly Street, Majestic City, Noritake, etc. 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> Colombo - Departure
								</p>
								<p class="aj">After breakfast it’s time to check out. Transfer to the airport for your onward flight or 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>3 Star Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Guides</li>
																		<li>Entry Tickets</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare & Taxes</li><li>
Visa & Insurances charges</li><li>
Any up gradation in hotel room category. Any meals other than specified above</li><li>
Any sightseeing other than mentioned above</li><li>
Any Entrance fees or Fees for video or camera permit</li><li>
Any item of personal nature like tips, laundry, telephone calls, etc.</li><li>
Service tax will be applicable on total invoice</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Hotel Details:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">City</td>
				<td class="headHr p5px b">Standard</td>
				<td class="headHr p5px b">Deluxe</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">Kandy</td>
				<td class="data p5px">Hilltop or similar</td>
				<td class="data p5px">Thilanka Resort or similar</td>
				<td class="data p5px">Earl’s Regency or similar</td>
			</tr>
			<tr>
				<td class="data p5px">Nuwara Eliya</td>
				<td class="data p5px">Oak Ray Summer Hill Breeze or similar</td>
				<td class="data p5px">Glenfall Reach or similar</td>
				<td class="data p5px">Araliya Green Hills or similar</td>
			</tr>
			<tr>
				<td class="data p5px">Colombo</td>
				<td class="data p5px">Hotel Sapphire or similar</td>
				<td class="data p5px">Pegasus Reef or similar</td>
				<td class="data p5px">Cinnamon Lake Side or similar</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Price per person in USD:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Category</td>
				<td class="headHr p5px b">Twin (Min. 2 Adults)</td>
				<td class="headHr p5px b">Twin (Min. 4 Adults)</td>
				<td class="headHr p5px b">Triple</td>
				<td class="headHr p5px b">Single</td>
				<td class="headHr p5px b">CWB</td>
				<td class="headHr p5px b">CNB</td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">263</td>
				<td class="data p5px">215</td>
				<td class="data p5px">250</td>
				<td class="data p5px">375</td>
				<td class="data p5px">131</td>
				<td class="data p5px">81</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">325</td>
				<td class="data p5px">275</td>
				<td class="data p5px">310</td>
				<td class="data p5px">500</td>
				<td class="data p5px">156</td>
				<td class="data p5px">106</td>
			</tr>
			<tr>
				<td class="data p5px">Premium</td>
				<td class="data p5px">486</td>
				<td class="data p5px">440</td>
				<td class="data p5px">455</td>
				<td class="data p5px">811</td>
				<td class="data p5px">238</td>
				<td class="data p5px">188</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4N/5D Sri Lanka 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="92783"/>
						</form>
						</div>
						
						";i:1;s:62:"Book 4N/5D Sri Lanka Package - 4 Nights / 5 Days Tour Packages";i:2;s:128:"book 4n/5d sri lanka package - 4 nights / 5 days tour packages, valley tour packages, colombo, kandy, nuwara eliya tour packages";i:3;s:171:"Book 4N/5D Sri Lanka Package - 4 Nights / 5 Days tour packages from Bella Tours - Get attractive 4 Nights / 5 Days Valley  tour packages for  Colombo, Kandy, Nuwara Eliya.";i:4;s:1105:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Nuwara Eliya"        
		                 },
		      "description": "1 Night in Kandy with Breakfast 
2 Nights in Nuwara Eliya with Breakfast
1 Night in Colombo with Breakfast 
Visit Pinnawala Elephant orphanage
Kandy city tour with Cultural show
Visit Royal Botanical Gardens - Peradeniya 
Nuwara Eliya & Colombo city tour 
Return airport transfers
All Transfers & sightseeing on private basisAirfare & Taxes
Visa & Insurances charges
Any up gradation in hotel room category. Any meals other than specified above
Any sightseeing other than mentioned above
Any Entrance fees or Fees for video or camera permit
Any item of personal nature like tips, laundry, telephone calls, etc.
Service tax will be applicable on total invoice15-0731-12",
		      "name": "4N/5D Sri Lanka Package",
		      "telephone": "+91-9819406969"
		    }
		    </script>
			";i:5;N;}