a:6:{i:0;s:29760:"				<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-->				
									<div class="h1"><h1>Srilanka Splendid Tour 6N/7D</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.krishnatrip.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krishnatrip.in/vacation-packages.htm" title="Vacation Packages">Vacation Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Srilanka Splendid Tour 6N/7D</p> 
									
						<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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Colombo</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.krishnatrip.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srilanka Splendid Tour 6N/7D - 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="122946"/>
						</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_10/285867/198159.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/285867/198159.jpg"  width="150" height="150"    alt="Srilanka Splendid Tour 6N/7D" title="Srilanka Splendid Tour 6N/7D" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								<b>THE ISLE OF SERENDIPITY </b><br />
This extraordinary island set in the Indian Ocean, off the south-eastern tip of India, has thousands of years of diverse culture. Still a predominantly Buddhist country, it also has strong Hindu, Christian and Muslim communities as well. Incredibly fertile and a great producer of exotic fruits and it was for centuries the spice producer of the world famous sand incredibly picturesque hill country. With a strong cultural past that now offers over 7 UN World Heritage sites, Sri Lanka was once one of the richest countries in Asia. In recent times it has not developed at the dramatic pace of its neighbors’ in the region adding to its charm and character. The relative lack of development and gentle island pace make Sri Lanka the perfect destination for those looking for a varied and stimulating holiday. From beautiful beaches, unbelievable flora and fauna (much endemic), amazing architecture as well as a vast amount of historical & religious sites, white water rafting, cycling and many other adventures for the more active and finally the friendliest of people who carry infectious smiles with them everyday! <br />
Whatever you are looking for in Sri Lanka, it is an island of immense beauty, small enough to explore widely in 10 to 15 days yet large enough to offer infinite variety. <br />
<br />
<b>THE FACTS </b><br />
Population 21 million <br />
3 main languages - Sinhala, Tamil and English. <br />
Buddhist majority (70%), with Hindu, Christian and Muslim minorities. <br />
Gained independence from Britain in 1948 <br />
Democratic Socialist Republic since 1978 <br />
The top exports are: Tea, Textiles, Gems & Foreign Remittance<br />
<br />
<b>THE TRIVIA</b><br />
Has the highest concentration of Leopard in the world 7 of the world's UN World Heritage Sites Is one of the world’s 25 Biodiversity Hot Spots World’s 3rd largest tea producer <br />
The Sinhalese name, Sri Lanka, means, "The Resplendent Land" or "Holy Ceylon.”<br />
Is famous for its Ceylonese Sapphire Has 1,340km of tropical coastline<br />
<br />
<b>FAVOURITE THINGS TO EAT</b><br />
Eat the freshest chilli crab with your feet in the sand under the stars by the Indian Ocean An egg hopper for breakfast with seeni sambol! Watch out of the ‘kata sambol’- it’s a definite challenge(spicy wise) .Buffalo Curd & Treacle - start and you won’t be able to stop! <br />
Cashew nut curry – so rich and creamy you will never forget it.<br />
<br />
<b>FAVOURITE THINGS TO BUY</b><br />
Hand woven Sarongs from Barefoot - they have the most incredible selection in the brightest of colors and are reasonably priced. Great gifts if you can bare to give them away. <br />
A bottle of local brew called ARRACK ...a daring drink for the adventurous.<br />
Cashew nuts from Kadjugama <br />
Plenty of the best Ceylon tea to continually remind you of this amazing island and to give to those who missed the opportunity to visit Sri Lanka. <br />
Accommodation in shared DOUBLE room with private bathroom <br />
Meals are as stated in the programme B = Breakfast & D = Dinner <br />
Transfers and tours with local English-speaking driver guide in private air-conditioned <br />
<br />
MICRO VAN <br />
500ml x 2 Water Bottle per day per person. <br />
Free ODEL Shopping Vouchers for each person who traveling. <br />
Free Activated SIM Card with the Data Package<br />
Domestic airfare (quoted separately, if requested) <br />
All entrance fees as mentioned in the programme <br />
Kosgoda Turtle Hatchery <br />
($ 05 Per Person) <br />
<br />
Madu River Boat Safari <br />
($ 05 Per Person) <br />
<br />
Colombo Museum <br />
($ 10 Per Person) <br />
<br />
Peak period supplements <br />
International airfare to / from Sri Lanka (quoted separately, if requested) <br />
Optional tours <br />
Surcharges for other language guides <br />
Surcharges for Christmas & New Year Eve <br />
Personal travel insurance <br />
Personal expenditure, such as drinks, souvenirs, laundry, camera fees, communications, postage, gratuities etc. <br />
Meals and services other than mentioned in the programme Drinks with meals <br />
Compulsory gala dinners during festive seasons and peak season surcharges which will be advised at the time of booking <br />
Electronic Travel Authorisation fee for Visas upon arrival (Please note that an ETA is compulsory for nationalities besides nationals from the Republics of Singapore and Maldives) <br />
Early check-in and late check-out at hotels, if not mentioned in the programme								</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> ARRIVAL SRILANKA
										</p>
										<p class="aj">Arrive in Sri Lanka you will be welcomed by a BAARAN LEISURE Representative & handed over to your respective Chauffeur/guide.After arrival transfer to Mirissa. Crack open a coconut, slip into a hammock and rock gently in the breeze, allowing the hours, days and even weeks to slip calmly by. <br />
Welcome to Mirissa, a stunning crescent beach. Modest guesthouses abound and there's a string of simple restaurants at the back of the sand. Travel time: 2HRS 30MINS Overnight stay at Mirissa. Insight Resort, Mirissa (1 Night) Standard rooms. Meals: Breakfast and Dinner</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> LEISURE AT BAECH
										</p>
										<p class="aj">After break-fast full day Leisure at the beach. Overnight stay at Mirissa. Insight Resort, Mirissa (1 Night) Standard rooms. Meals: Breakfast and Dinner</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> PROCEED TO BENTOTA
										</p>
										<p class="aj">Today After break - fast proceed to Bentota. En - route do Site seeing in Galle city and visit Kosgoda Turtle Hatchery, Moonstone Gem Mine,Mask Factory and Madu River Boat Ride.Galle a living time capsule home to the largest occupied Fort in Asia.Its quaint beauty extends beyond its golden beaches, cerulean waters, the picturesque views and the rich history while walking through the narrow, cobbled streets within the Fort. Kosgoda Turtle Hatchery in the south, established in 1981, was one of the earliest attempts to safeguard local turtles from extinction. Managed by the Sri Lanka Wildlife Protection Society, the hatchery offers a wildlife experience of a different sort. <br />
Maduganga River Zone a beautiful river that is the second largest wetland in the country. Brimming with a rich eco - system nourished by the shallow water body consists of two main islands and close to 30 islets and provides shelter to over 200 families. Meetiyagoda - Moonstone Gem Mine - The village of Meetiyagoda near Ambalangoda, is where moonstone is most commonly found, concentrated within an acre of land. It is believed to have been blessed by the moon. The mysterious gem, as captivating as the full moon gleaming in the night sky, is considered sacred and has been used in jewelry for centuries. The most sought after moonstones have a haunting blue sheen, an effect produced by the orthoclase feldspar, which is found almost exclusively in the gem mines of Sri Lanka. <br />
Here, you can even go down into the deep, narrow shafts from which the stones are mined and witness the process yourself. <br />
Mask Factory in Ambalangoda - where you could see the manufacture of Traditional Sri Lankan Mask which is used in many traditional dance acts. ?<br />
Kosgoda Turtle Hatchery. ($ 05 Per Person)?<br />
Madu River Boat Safari. ($ 05 Per Person)<br />
<br />
Travel time: <br />
1HR 30MINS <br />
Overnight stay at Bentota. <br />
Ocean Queen, Bentota <br />
(1 Night) Standard rooms.</p>					
											<p><b>Meals : </b> Breakfast and Dinner</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> LEISURE AT BENTOTA BEACH
										</p>
										<p class="aj">After break-fast full day Leisure at the beach. Overnight stay at Bentota. <br />
Ocean Queen, Bentota <br />
(1 Night) Standard rooms.</p>					
											<p><b>Meals : </b> Breakfast and Dinner.</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> PROCEED TO COLOMBO
										</p>
										<p class="aj">Today after break-fast proceed to Colombo. Colombo is Sri Lanka’s commercial capital and major port. A fineamalgamation of all the hues and cultures within this paradise isle. This chic metropolitan brings together the many facets of this island nation. <br />
Travel time: <br />
2HRS <br />
Overnight stay at Colombo. <br />
Hotel Sapphire, Colombo <br />
(1 Night) Standard rooms.</p>					
											<p><b>Meals : </b> Breakfast and Dinner</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> SIGHTSEEING IN COLOMBO
										</p>
										<p class="aj">Today After break-fast time for Site seeing in Colombo. <br />
Colombo City tour and Site seeing <br />
Colombo Museum. ($ 10 Per Person) <br />
Colombo Market visit (Colombo Pettah Bazaar) <br />
The  Colombo  Museum  as  it  was  called  at  the  beginning  was  established  on  1st  January  1877.  It founder was Sir William Henry Gregory, the British Governor of Ceylon (Sri Lanka) at the time. <br />
Travel time: <br />
1HR 30MINS <br />
Overnight stay at Colombo. <br />
Hotel Sapphire, Colombo <br />
(1 Night) Standard rooms.</p>					
											<p><b>Meals : </b> Breakfast and Dinner</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> DEPARTURE WITH SWEET MEMORY
										</p>
										<p class="aj">After breakfast departure from Colombo to Airport.</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>Hotel</li>
																			</ul>
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>IMPORTANT NOTICE</strong>

<ul>
	<li>Most Museums are closed on Sundays, Mondays and public holidays. Colombo National Museum is open all 7days a week except on public holidays.</li>
	<li>Certain parts of the tours on offer are provided by independent third parties, such as airlines, hotels, transport operators and local tourist offices. Baaran Leisure is therefore not responsible for any loss, injury or damage caused thereby to the tourists, including those occurring outside of the normal touring programmers.</li>
	<li>Additional expenses incurred due to delay, accident, natural disaster, political actions and unrest shall be borne by the tourists.</li>
	<li>We advise that due to frequent flight changes, delays and cancellations by the various domestic airlines and trains we cannot fully guarantee that the proposed itinerary can be carried out as planned. Based on our experience, changes of departure times and/ or cancellations can occur at very short notice even after confirmation of a flight has been received. The same applies for train travel:</li>
	<li>Schedule changes occur frequently; often without prior notification. In case of schedule changes or flight cancellations we always try everything possible to arrange an alternate programme within the framework of the original quoted costs. However, we reserve the right to charge any cost exceeding the original budget to the tour operator/ travel agent or to the participant of a tour after consultation with the agent.</li>
	<li>The visits to wild life parks will be at your own risk. The available jeeps are basic with basic insurance cover (not comprehensive as in the case of the vehicle which is used on the tour).</li>
	<li>In the event the road condition is unsuitable for the Tour vehicle to be used during a specific segment of the tour a basic alternate third party vehicle would be provided, no liability or insurance would cover such vehicles.</li>
	<li>Poya holidays are observed on the day of each full moon in general, Hindu and Buddhist festivals are declared according to local astronomical observations and it is often only possible to forecast the approximate time of their occurrence. On such days of religious reverence selling alcohol in public is illegal. However at certain hotels the room bars remain accessible.</li>
	<li>Programmes, prices, services and conditions are based on those valid at the time of proposal submission and are subject to change thereafter without advance notice until all services have been paid in full.</li>
	<li>We strongly advise to leave valuable items (money, passport, credit cards, Jewellery, sensitive documents, laptop computer, etc.) in the hotel safe. During excursions and roundtrips, personal belongings, especially money and valuables should NEVER be left on vehicles, even during short breaks, and carried around at all times. Baaran Leisure Sri Lanka is not responsible for any loss or theft.</li>
	<li>Due to ongoing rapid upgrades/developments of roadways and highways in Sri Lanka the times mentioned for transfers may take longer than estimated without prior notice.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.krishnatrip.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srilanka Splendid Tour 6N/7D - 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="122946"/>
						</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.krishnatrip.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</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.krishnatrip.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</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.krishnatrip.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</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.krishnatrip.in/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore</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.krishnatrip.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett</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.krishnatrip.in/packages-in-gaya.htm" title="Packages in Gaya">Gaya</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.krishnatrip.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</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.krishnatrip.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.krishnatrip.in/packages-in-kodaikanal.htm" title="Packages in Kodaikanal">Kodaikanal</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.krishnatrip.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.krishnatrip.in/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</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.krishnatrip.in/packages-in-mysore.htm" title="Packages in Mysore">Mysore</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.krishnatrip.in/packages-in-patna.htm" title="Packages in Patna">Patna</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.krishnatrip.in/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</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.krishnatrip.in/packages-in-tirupathi.htm" title="Packages in Tirupati">Tirupati</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.krishnatrip.in/packages-in-male.htm" title="Packages in Male">Male</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.krishnatrip.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.krishnatrip.in/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</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.krishnatrip.in/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.krishnatrip.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</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.krishnatrip.in/packages-in-gangotri.htm" title="Packages in Gangotri">Gangotri</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.krishnatrip.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.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.krishnatrip.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.krishnatrip.in/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 spanlist dn"><a class="dif" href="http://www.krishnatrip.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</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:67:"Book Srilanka Splendid Tour 6N/7D - 6 Nights / 7 Days Tour Packages";i:2;s:112:"book srilanka splendid tour 6n/7d - 6 nights / 7 days tour packages, valley tour packages, colombo tour packages";i:3;s:141:"Krishna Trip offers Srilanka Splendid Tour 6N/7D - 6 Nights / 7 Days tour package, budget Valley tour packages for Colombo at exciting price.";i:4;s:4679:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo"        
		                 },
		      "description": "<b>THE ISLE OF SERENDIPITY </b>
This extraordinary island set in the Indian Ocean, off the south-eastern tip of India, has thousands of years of diverse culture. Still a predominantly Buddhist country, it also has strong Hindu, Christian and Muslim communities as well. Incredibly fertile and a great producer of exotic fruits and it was for centuries the spice producer of the world famous sand incredibly picturesque hill country. With a strong cultural past that now offers over 7 UN World Heritage sites, Sri Lanka was once one of the richest countries in Asia. In recent times it has not developed at the dramatic pace of its neighbors’ in the region adding to its charm and character. The relative lack of development and gentle island pace make Sri Lanka the perfect destination for those looking for a varied and stimulating holiday. From beautiful beaches, unbelievable flora and fauna (much endemic), amazing architecture as well as a vast amount of historical & religious sites, white water rafting, cycling and many other adventures for the more active and finally the friendliest of people who carry infectious smiles with them everyday! 
Whatever you are looking for in Sri Lanka, it is an island of immense beauty, small enough to explore widely in 10 to 15 days yet large enough to offer infinite variety. 

<b>THE FACTS </b>
Population 21 million 
3 main languages - Sinhala, Tamil and English. 
Buddhist majority (70%), with Hindu, Christian and Muslim minorities. 
Gained independence from Britain in 1948 
Democratic Socialist Republic since 1978 
The top exports are: Tea, Textiles, Gems & Foreign Remittance

<b>THE TRIVIA</b>
Has the highest concentration of Leopard in the world 7 of the world's UN World Heritage Sites Is one of the world’s 25 Biodiversity Hot Spots World’s 3rd largest tea producer 
The Sinhalese name, Sri Lanka, means, "The Resplendent Land" or "Holy Ceylon.”
Is famous for its Ceylonese Sapphire Has 1,340km of tropical coastline

<b>FAVOURITE THINGS TO EAT</b>
Eat the freshest chilli crab with your feet in the sand under the stars by the Indian Ocean An egg hopper for breakfast with seeni sambol! Watch out of the ‘kata sambol’- it’s a definite challenge(spicy wise) .Buffalo Curd & Treacle - start and you won’t be able to stop! 
Cashew nut curry – so rich and creamy you will never forget it.

<b>FAVOURITE THINGS TO BUY</b>
Hand woven Sarongs from Barefoot - they have the most incredible selection in the brightest of colors and are reasonably priced. Great gifts if you can bare to give them away. 
A bottle of local brew called ARRACK ...a daring drink for the adventurous.
Cashew nuts from Kadjugama 
Plenty of the best Ceylon tea to continually remind you of this amazing island and to give to those who missed the opportunity to visit Sri Lanka. 
Accommodation in shared DOUBLE room with private bathroom 
Meals are as stated in the programme B = Breakfast & D = Dinner 
Transfers and tours with local English-speaking driver guide in private air-conditioned 

MICRO VAN 
500ml x 2 Water Bottle per day per person. 
Free ODEL Shopping Vouchers for each person who traveling. 
Free Activated SIM Card with the Data Package
Domestic airfare (quoted separately, if requested) 
All entrance fees as mentioned in the programme 
Kosgoda Turtle Hatchery 
($ 05 Per Person) 

Madu River Boat Safari 
($ 05 Per Person) 

Colombo Museum 
($ 10 Per Person) 

Peak period supplements 
International airfare to / from Sri Lanka (quoted separately, if requested) 
Optional tours 
Surcharges for other language guides 
Surcharges for Christmas & New Year Eve 
Personal travel insurance 
Personal expenditure, such as drinks, souvenirs, laundry, camera fees, communications, postage, gratuities etc. 
Meals and services other than mentioned in the programme Drinks with meals 
Compulsory gala dinners during festive seasons and peak season surcharges which will be advised at the time of booking 
Electronic Travel Authorisation fee for Visas upon arrival (Please note that an ETA is compulsory for nationalities besides nationals from the Republics of Singapore and Maldives) 
Early check-in and late check-out at hotels, if not mentioned in the programme",
		      "name": "Srilanka Splendid Tour 6N/7D",
		      "telephone": "+91-7235969062"
		    }
		    </script>
			";i:5;N;}