a:6:{i:0;s:16007:"				<div class="h1"><h1>Oppex Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Oppex Tour 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Colombo, Kandy, Nuwara Eliya, Negombo, Ella</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.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Oppex Tour 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="14065"/>
						</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_2/37817/19914.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/19914.jpg"  width="150" height="150"    alt="Oppex Tour Package" title="Oppex Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Anything Not Specified In The Package Inclusions.<br />
Entrance Fees.<br />
Items Of Personal Nature.<br />
Tipping And Porterage.<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 Colombo - Kandy
								</p>
								<p class="aj">Arrival At Bandaranayake International Airport And Welcome By A Representative Of Sri Holidays. Transfer To A Hotel In Kandy. Afternoon Visit The Temple Of The Sacred Tooth Relic. It Was Built Within The Royal Palace Complex Which Houses The Only Surviving Relic Of Buddha, A Tooth, Which Is Venerated By Buddhists.Has Played An Important Role In The Local Politics Since Ancient Times, It's Believed That Whoever Holds The Relic Holds The Governance Of The Country, Which Caused The Ancient Kings To Protect It With Great Effort. Kandy Was The Capital Of The Sinhalese Kings From 1592 To 1815, Fortified By The Terrain Of The Mountains And The Difficult Approach. The City Is A World Heritage Site Declared By Unesco, In Part Due To The Temple. Monks Of The Two Chapters Of Malwatte And Asgiriya Conduct Daily Ritual Worship In The Inner Chamber Of The Temple, In Annual Rotation. They Conduct These Services Three Times A Day: At Dawn, At Noon And In The Evening. On Wednesdays There Is A Symbolic Bathing Of The Sacred Relic With An Herbal Preparation Made From Scented Water And Flagrant Flowers, Called Nanumura Mangallaya. This Holy Water Is Believed To Contain Healing Powers And Is Distributed Among Those Present. There Are Special Religious Programs Conducted In The Temple On Every Full Moon Poya Day Where Large Numbers Participate. Apart From These Daily, Weekly And Monthly Ceremonies, There Are Four Major Ceremonies Held Every Year. They Are Aluth Sahal Mangallaya, Avurudu Mangallaya, Esala Mangallaya, Karthika Mangallaya. Of These, The Most Important Is The Esala Mangallaya. Dinner And Overnight Stay.</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 - Nuwaraeliya
								</p>
								<p class="aj">After Breakfast Leave For Nuwaraeliya. On The Way Visit  Sri Baktha Hanuman Temple - Ramboda. Ramboda Is An Area, Where The Forces Of Rama'S Gather To Fight Against King Ravana. The Hills Of Ramboda Are Also Believed Where Hanuman Was Searching For Sitadevi. The Chinmaya Mission Of Sri Lanka Has Built An Anjaneyar Temple With Hanuman As The Presiding Deity. This Temple Is Called Sri Baktha Hanuman Temple And The Image Of Lord Hanuman Here Is 16 Feet Tall. In The Afternoon Visit  Gayathri Peedam - Nuwara Eliya , Gayathri Peedam Is Believed To Be The Place From Where King Ravana'S Son Meghanath Propitiated Lord Shiva With Penance And Pooja'S And In Turn Was Granted Super Natural Powers By Lord Shiva. The Gayathri Cathedral Also Known As Sri-Lanka Theeswarar Temple Which He Built Is Situated In An Area Where Swamiji Fondly Identify As Sri-Nagar Which Means The Metropolis Of Prosperity, At Lady Mccallum Drive Nuwar-Eliya A Colonial Township Known As The ‘little England “ For Its Breezy Atmosphere To The Outside World And The Islanders. Nuwara-Eliya Is A Mountainous Town Situated Above 7000 Ft. Above Sea Level At The Central Province In The Island Built Around A Chilly Lake Surrounded By Lush Tea Gardens, Abundant Vegetable Cultivation, Stunning Water-Falls And Virgin Woodland. Dinner And Overnight Stay.</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> Nuwaraeliya - Ella - Nuwaraeliya
								</p>
								<p class="aj">After Breakfast Leave For Ella. Visit Hakgala Botanical Garden . Hakgala Garden Is The Exotic Pleasure Garden Where King Ravana Kept The Depressed Sita, Insisting That She Marry Him. It Was Here Where The Heart-Warming Meeting Took Place Between Her And Hanuman, Who Brought Her Rama’s Ring With The News That Rama Was Looking For Her. He Offered To Carry Her Back But She Refused Saying It Would Be An Insult To Rama’s Honour If He Did So. Part Of This Majestic Garden Still Exists. It Is Also Said That Hanuman Nearly Destroyed It In Order To Prove To Ravana Of The Forces Against Him. Visit Seetha.Amman Temple. The Stream That Runs From The Hill, Catered To The Needs Of Sitadevi During Her Stay At Ashok Vatika. She Is Said To Have Bathed In This Stream. About A Century Ago Of Three Idols Were Discovered In The Stream, One Of Which Was That Of Sita.<br />
It Is Believed That The Idols Have Been Worshipped At This Spot For Centuries. Now There Is Temple For Lord Rama, Sitadevi, Luxshmana, And Hanuman By The Side Of This Stream. It Is Interesting To Note That Foot Prints Akin To Lord Hanuman'S Are Found By This River And Some Are Of Small Size And Some Are Of Large Size, Which Tells Us Of The Immense Powers Of Hanuman Transforming Himself Into Any Size. Afternoon Visit Divurumpola Temple. Divurumpola Means A ‘place Of Oath’. This Is The Place Where Sita Underwent The “agni” Test. She Came Unscathed And Proved Her Innocence And Purity. The Message Of Rama’s Victory Over Ravana Was Sent To Sita. After A Bath And Adorned With Jewels She Was Taken On A Palanquin Before Rama. Meeting Her Husband After Such A Long Time She Was Overcome With Emotion, But Rama Seemed Lost In Thought. At Length He Spoke, "I Have Killed My Enemy. I Have Done My Duty As A True King. But You Have Lived For A Year In The Enemy’s Abode. It Is Not Proper I Take You Back Now."Sita Was Shocked. "You Have Broken My Heart" She Said,"Only The Uncultured Speak Like This". Have You Forgotten The Noble Family I Come From? Is It My Fault Ravana Carried Me Off By Force? All The Time, My Mind, My Heart, And Soul Were Fixed On You Alone, My Lord! She Turned To Lakshmana And Said With Tears Streaming From Her Eyes, "Prepare For Me A Fire. That Is The Only Remedy For This Sorrow Of Mine."<br />
Lakshmana In Suppressed Anger, Looked At Rama’s Face, But There Was No Softening, He Lighted A Big Fire. Sita Reverently Went Round Her Husband And Approached The Blazing Fire. Joining Her Palms In Salutation, She Said, "If I Am Pure, Of Fire, Protect Me."With These Words She Jumped Into The Flames. Then Arose From Out Of The Flames Agni, The Fire-God, Whom She Had Invoked. He Lifted Sita From The Flames Unharmed, And Presented Her To Rama. "Don’t I Know That She Is Spotless And Pure At Heart? Cried Rama, Standing Up To Receive Her. It’s For The Sake Of The World That I Made Her Go Through This Ordeal Of Fire, So That The Truth May Be Known To All." <br />
Today The Temple Is Revered For The Oath Taken By Sitadevi And Even The Legal System Permits And Accepts The Swearing Done At This Temple While Settling Disputes Between Parties. Visit Rawana Ella Caves & Rawana Falls. Rawana Ella Cave Is Where Ravana Was Hiding Sita. Ravana Ella Cave Located At The Massive Ella Falls; A Breathtaking 1080 Feet High Waterfall That Cascades Into Several Falls. The Rocky Undergoes Of The Waterfall Is Khondalite, A Kind Of Limestone Which Undergoes Faster Decay As Hard Gneiss Or Granite. This Has Resulted In Many Caves Being Formed Near The Falls. King Ravana Is Said To Have Lived In One Of The Caves Above The Waterfall. A Nearby Pool Bored Out Of The Rock By The Gushing Waters Is Where Sita Is Said To Have Bathed Ravana. Late Afternoon Return To Nuwaraeliya. Dinner And Overnight Stay.</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> Nuwaraeliya - Colombo - Negombo
								</p>
								<p class="aj">After Breakfast Leave For Negombo. Visit Kelaniya. After King Ravana’s Death, Vibeeshana Was Coroneted As King Of Lanka By Lakshmana At Kelaniya. There Are Murals Enshrined Outside The Buddhist Temple Depicting The Crowning Of Vibeeshana. The Kelani River Is Mentioned In The Valmiki Ramayana And Vibeeshana Palace Was Said To Be On The Banks Of This River. The Reason Lakshmana Crowned Vibeeshana, Was Kelaniyabecause Rama Had To Return To India As He Had To Continue His Self-Exile Of 14 Years To Honour The Commitment To His Father, King Dasarath Of Ajodhya. King Vibeeshana Was Considered A Fair King, As He Supported Rama Against His Own Brother’s Injustice. Many Devotees That Visit King Vibeeshana’s Shrine Pray To Him Asking His Intervention To A Fair Recourse To Their Problems. Afternoon Free Walk In Colombo Galle Face Green Or Negombo Beach. Dinner And Overnight Stay.</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> Negombo - Munneswaram - Negombo
								</p>
								<p class="aj">After Breakfast Leave For Munneswaram. Visit Munneswaram. It Is Believed That Munneswaram Predates The Ramayana And A Temple Dedicated To Lord Shiva Was Located Here. Munneswaram Means The First Temple For Shiva (Munnu + Easwaran). A Shiva Lingam Was Already Here When Lord Rama Visited The Place. Lord Rama After His Victorious Battle Left For Ayodhya With Sita In One Of King Ravana'S Vimanas. He Felt He Was Being Followed By Bramhaasthi Dosham (A Malevolent Black Shadow) As He Had Killed King Ravana Who Was A Brahmin. When The Vimana Was Passing Over Munneswaram, He Felt The Vimana Vibrating, And Realized The "Brahmaasthi Dosham" Was Not Following Him At This Particular Point. He Stops The Vimana At This Juncture And Asks God Shiva For A Remedy. God Shiva Blessed Lord Rama And Advised Installing And Praying For Four Lingams At Manavari, Thiru Koneshwaram, Thiru Ketheshwaram And Rameshwaram In India, As The Only Remedy To Get Rid Of The Dosham. Visit Manavari , Manavari Is The First Place Where Lord Rama Installed And Prayed The Siva Lingam After The End Of The War With King Ravana. To Date This Lingam Is Called As Ramalinga Shivan. Rameshwaram Is The Only Other Lingam In The World Named After Lord Rama. Late Afternoon Return To Negombo And Relax At The Hotel/Beach. Dinner And Overnight Stay.</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> Departure
								</p>
								<p class="aj">After Breakfast Relax At The Hotel. (Room Till Noon). Proceed To Airport For Departure.</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>Sightseeing</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Anything Not Specified In The Package Inclusions.</li><li>
Entrance Fees.</li><li>
Items Of Personal Nature.</li><li>
Tipping And Porterage.</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.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Oppex Tour 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="14065"/>
						</form>
						</div>
						
						";i:1;s:57:"Book Oppex Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:149:"book oppex tour package - 5 nights / 6 days tour packages, beach and islands tour packages, colombo, kandy, nuwara eliya, negombo, ella tour packages";i:3;s:240:"Book Oppex Tour Package - 5 Nights / 6 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Colombo, Kandy, Nuwara Eliya, Negombo, Ella.";i:4;s:549:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Colombo, Kandy, Nuwara Eliya, Negombo, Ella"        
		                 },
		      "description": "Anything Not Specified In The Package Inclusions.
Entrance Fees.
Items Of Personal Nature.
Tipping And Porterage.",
		      "name": "Oppex Tour Package",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}