a:6:{i:0;s:17137:"				<div class="h1"><h1>Simply Srilanka Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sunbirdjourney.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sunbirdjourney.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Simply Srilanka 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">Tour Code </td>
						<td class="p5px pl0px vat">SBJ.T.0070</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 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 27000 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Best price for Group</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sunbirdjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply Srilanka 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="142780"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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/377396/223198.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223198.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
																		<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/377396/223194.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223194.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
																		<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/377396/223195.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223195.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
																		<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/377396/223196.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223196.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
																		<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/377396/223197.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223197.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Hotel Accommodations / Meals / Sightseeing & Transfers / Airport Pick up & Drop / Entry VISA / Travel Insurance / Assistance for the whole trip<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 - Kandy
								</p>
								<p class="aj">Upon arrival at Colombo International airport meet our representative who waiting at the airport with name plate and transfer to Kandy. Kandy is a major city in Sri Lanka, located in the Central Province,Sri Lanka. It is the second largest city in the country after Colombo. It was the last capital of the ancient kings' era of Sri Lanka. Kandy is the home of The Temple of the Tooth Relic (Sri Dalada Maligawa), one of the most sacred places of worship in the Buddhist world. En route visit Pinawala Elephant orphanage - never miss this chance. Pinnawala Elephant Orphanage is an orphanage, nursery and captive breeding ground for wild Asian elephants located at Pinnawala village, 13 km (8.1 mi) northeast of Kegalle town in Sabaragamuwa Province of Sri Lanka. Pinnawala is notable for having the largest herd of captive elephants in the world. In 2011, there were 88 elephants, including 89 males and 51 females from 3 generations, living in Pinnawala. Check in to the hotel. Afternoon visit Peradeniya botanical garden, Kandy city tour, Gem museum & Gem shop etc. Evening visit Kandy temple & Cultural dance show. Dinner &Overnight stay at Hotel.</p>					
									<p><b>Meals : </b> Dinner</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_13/377396/223194.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223194.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></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 check out from hotel and transfer to Nuwara Eliya. Nuwara Eliya is a city in the hill country of the Central Province, Sri Lanka. Its name means "city on the plain (table land)" or "city of light". The city is the administrative capital of Nuwara Eliya District, with a picturesque landscape and temperate climate. It is at an altitude of 1,868 m (6,128 ft) and is considered to be the most important location for tea production in Sri Lanka. The city is overlooked by Pidurutalagala, the tallest mountain in Sri Lanka. Nuwara Eliya is known for its temperate, cool climate — the coolest area in Sri Lanka. Sightseeing on the way. Check in to the hotel. Dinner &Overnight stay at Hotel.</p>					
									<p><b>Meals : </b> Breakfast & Dinner</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_13/377396/223195.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223195.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></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 3:</b> Nuwaraeliya - Colombo
								</p>
								<p class="aj">After breakfast check out from Hotel and transfer to Colombo. En route visit sightseeing places. Check in to hotel. Dinner & Overnight stay at Hotel.</p>					
									<p><b>Meals : </b> Breakfast & Dinner</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_13/377396/223196.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223196.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></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 4:</b> Depart Colombo
								</p>
								<p class="aj">After breakfast check out from hotel and transfer to Colombo Intl. Airport. Depart Colombo with sweet memory of Beautiful Lanka.</p>					
									<p><b>Meals : </b> Breakfast</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_13/377396/223197.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/377396/223197.jpg"  width="150" height="150"    alt="Simply Srilanka Tour" title="Simply Srilanka Tour" /></a></p></div></li>
									</ul>
									</div>
									</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																		<li>3 Star Hotel</li>
																		<li>4 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Cab</li>
																		<li>Private Guides</li>
																		<li>Cab Transfer</li>
																		<li>Stay Included</li>
																		<li>Veg & Non Veg Meals</li>
																		<li>Pickup-Drop</li>
																<li>Srilanka Tourist entry VISA</li><li>
03 Breakfast + 03 Dinner</li><li>
03 nights Accommodation in double/twin sharing basis</li><li>
Pick-up from Colombo Airport</li><li>
Drop at Colombo Airport</li><li>
Sightseeing as mention places in the Tour itinerary</li><li>
All transfers & sightseeing by Pvt exclusive vehicle with english speaking chauffer Guide as point to point service basis</li><li>
Tour Assistance</li><li>
Travel Insurance</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare</li><li>
GST 5%</li><li>
Entry fees at sightseeing point</li><li>
Any riding / personal activities</li><li>
Any service not mention in the Inclusions</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Any cities from India<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 70% 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.
* Refund will be made within 15 working days from the date of receipt of the cancellation.~^#^~<ul>
	<li>Hotel rooms are subject to availability.</li>
	<li>The order of the itinerary is subject to change without prior notice (according to weather conditions, any Political Problems or other circumstances).</li>
	<li>Amendments of services, Number of heads, dates or group size can have an impact on the quotation and have to be revised accordingly.</li>
	<li>An additional mattress or a rollaway bed will be provided for the third person sharing the room. It may vary as per hotels.</li>
	<li>Child age 10 yrs and above treat as full adult</li>
	<li>Air Fare subject to availability, Increase of Airfare, $ROE rate (currency conversion rate), VISA cost as per embassy rate can be change.</li>
	<li>Departure & Arrival between 2300hrs and 0700hrs mid night surcharge will be apply.</li>
	<li>Towards documents required for VISA kindly follow the details in following itinerary.</li>
	<li>Towards International trip kindly follow our itinerary and be punctual during the tour.</li>
	<li>If tour will be extend due to any emergency circumstances, extra cost will be borne by the Guest.</li>
	<li>Any changes of Transportation during the tour, extra cost will be borne by the Guest.</li>
	<li>Transportation service is point to point basis.</li>
	<li>All traveler has to follow the day wise itinerary which will not change while traveling.</li>
	<li>Kindly verify all the details with your coordinator before travel.</li>
	<li>If any difficulty / technically problem during the tour kindly cooperate with us to recover the situation.</li>
	<li>Some sightseeing depends on Govt. permit, Each Guest should be carry their Govt. Identity Card (Original & Xerox both) with passport size photograph at the time of travel</li>
	<li>100% payments must be made to SUNBIRD JOURNEY. before 15 days of Travel date.</li>
</ul>

<p><strong>Cancellation:</strong>

<ul>
	<li>Towards Air ticket cancelation as per Airline’s charges + Rs. 200 per person / per sector for Domestic and Airline’s charges + Rs. 400 per person / per sector for International as a cancelation service charge will be applicable. No refund on Non-Refundable Ticket and No show Ticket.</li>
	<li>Hotel / Accommodation will not change once we confirm the hotel</li>
	<li>90% Cancelation charge will be applicable if cancel before 15 days from date of Journey</li>
	<li>60% Cancelation charge will be applicable if cancel before 15 - 20 days from date of Journey</li>
	<li>40% Cancelation charge will be applicable if cancel before 20 - 30 days from date of Journey</li>
	<li>30% Cancelation charge will be applicable if cancel before 30 days and above from date of Journey</li>
	<li>No refund is allowed if cancellation is made 15 days before Journey date.</li>
	<li>No cancellation will be accepted over telephone.</li>
	<li>For cancellation please produce the application letter with your original receipt by email or visit at office.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sunbirdjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply Srilanka 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="142780"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Simply Srilanka Tour - 3 Nights / 4 Days Tour Packages";i:2;s:128:"book simply srilanka tour - 3 nights / 4 days tour packages, adventure tour packages, colombo, kandy, nuwara eliya tour packages";i:3;s:160:"Sunbird Journey offers Simply Srilanka Tour - 3 Nights / 4 Days tour package, budget Adventure tour packages for Colombo, Kandy, Nuwara Eliya at exciting price.";i:4;s:562:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Nuwara Eliya"        
		                 },
		      "description": "Hotel Accommodations / Meals / Sightseeing & Transfers / Airport Pick up & Drop / Entry VISA / Travel Insurance / Assistance for the whole trip",
		      "name": "Simply Srilanka Tour",
		      "telephone": "91-9038012283"
		    }
		    </script>
			";i:5;N;}