a:6:{i:0;s:11314:"				<div class="h1"><h1>Orissa Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sabiotravelandtradelinks.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sabiotravelandtradelinks.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Orissa Golden Triangle 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">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">Bhubaneswar, Konark, Puri, Chillika, Pipil</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.sabiotravelandtradelinks.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Orissa Golden Triangle 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="90733"/>
						</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_13/385924/156658.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/385924/156658.jpg"  width="150" height="150"    alt="Orissa Golden Triangle Tour" title="Orissa Golden Triangle Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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 – Bhubaneswar
								</p>
								<p class="aj">The Orissa Golden Triangle tour starts with your arrival at Bhubaneswar airport. A tour representative shall escort you to the hotel. Check-in and freshen up. Afternoon is spent enjoying sightseeing.<br />
<br />
The tour starts with Khandagiri Udaygiri caves. These caves are the earliest group of Jain rock cut shelters. The caves hold importance for its history, rock-cut architecture, art and religion. Once the dwelling retreats or cells of the Jain ascetics, here visitors can feel the wisdom of the learned.<br />
<br />
The next sight you visit is The Lingaraj temple. The thousand year old spectacular specimen of Hindu architecture is awe-inspiring. It is one of the most revered places to visit. Pay respect to the Linga form of Lord Shiva. The Kedar Gouri temple and Sai Baba temple is a short way from the temple complex. The unique architecture, the peacefulness lingering in air spellbinds all visitors. Take the blessings of the divine.<br />
<br />
Evening is free for leisure. Explore the intriguing markets of Bhubaneswar where you can strike some wonderful bargains or relish some delicacies of the city. Check out the cultural dance and music programs. The city is a quick insight into the unique diversity of the Orissa. Return to hotel for 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> Bhubaneswar – Konark – Puri
								</p>
								<p class="aj">Start your day with a hearty breakfast. After your meal check-out of the hotel and proceed to Konark. The mystical city hosts the UNESCO world heritage site of the Konark Sun Temple. The 13th century temple is an intriguing sight. The colossal chariot shaped temple is a marvel of architecture. Dedicated to the Sun God, the ruined temple is a treasure. The exquisite carvings and skills of artisans still shines through.Get lost in the intrinsic charm still lingering in the ambiance.<br />
<br />
Next you visit the Chandrabhaga beach. The beautiful expanse of silvery soft sands lapped by the azure waters of the Bay of Bengal. The beach is mentioned in many mythological tales. Spend time enjoying the natural beauty.<br />
<br />
Afterwards, proceed to Puri. Check-in the hotel. Freshen up as you are scheduled to visit Puri Jagannath temple and Gundicha temple. The Puri Jagannath temple is one of the holy places in Hindu faith. Mentioned as one of the divine Char dhams, the temple is dedicated to the "Lord of the Universe' Jagannath. Pay your respects and move to the Gundecha temple. This temple is a vital site as the Rath Yatra Festival takes the Gods and Goddess of Jagannath temple during the festival. Get blessed by the divine powers. Evening is kept free.<br />
<br />
Relax at the Golden sand beach of Puri. The views of sunset are breathtaking. Enjoy long walks on the soft sands. Check out the beach eateries where delicacies of the fresh catch can be tasted. Check out tribal handicrafts and other specialties. Shop for some delights. Return to hotel for overnight stay at Puri.</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> Puri – Chillika – Puri
								</p>
								<p class="aj">Start your day early. Enjoy a sumptuous breakfast in the hotel. Depart for Satpara, Chillika.Asia's largest brackish water lagoon, Chilika is recognized as one of the most important wetlands in the world. It is known for the spotting of beautifulIrwadi Dolphins.The lake is also home to a phenomenal variety of birds. Spectacular display of colorful avian charms in a thousand different hues presented by over 160 species awaits here. Spend the day exploring the pleasures of the wetland.<br />
<br />
After a well-spent day in the natural beauty, return to Puri in the evening. Overnight stay in the 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 4:</b> Puri – Pipili – Dhauli – Bhubaneswar
								</p>
								<p class="aj">Start you day with a leisurely breakfast in the hotel. After meal, check out from hotel and drive to Bhubaneswar. En-route stop at Pipili. The small city is famous for designing beautiful Applique handicrafts. It is a town of artisans famous for their colorful fabrics. Stop and shop for these wonderful garbs.<br />
<br />
Next stop is Dhauli. This city is associated with great legends of Emperor Ashoka. Located on the banks of river Daya. It is said the bloodbath war of Kalinga had turned the river red. The gruesome destruction had converted the heart of the emperor and made him a propagator of peace. The city has a Peace pagoda, Edicts of Ashoka's messages and ancient temples. Spend time exploring.<br />
<br />
Upon arrival check-in to the hotel and relax. In the afternoon proceed for sightseeing of Nandakanan, Ram Mandir and Rajarani temple etc. Nandankanan hosts a wonderful zoo inhabiting some of the wild species of the region. Carved out of the Chandaka forest, animals here are kept in their natural habitat. Come close to white Royal Bengal tigers, Gharials and other species. The flora species of the region are also unrivalled. Next visit the divine temples.<br />
<br />
Recover from the incredible experience during the overnight stay at Bhubaneswar.</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> Bhubaneswar – Departure
								</p>
								<p class="aj">After a delicious breakfast, check-out of the hotel and drive to Bhubaneswar airport/railway station. Return home with fond remembrances of Orissa.</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>Sightseeing</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.sabiotravelandtradelinks.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Orissa Golden Triangle 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="90733"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:148:"book orissa golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, bhubaneswar, konark, puri, chillika, pipil tour packages";i:3;s:208:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days tour packages from Sabio Travel and Trade Links - Get attractive 4 Nights / 5 Days Heritage  tour packages for  Bhubaneswar, Konark, Puri, Chillika, Pipil.";i:4;s:441:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Konark, Puri, Chillika, Pipil"        
		                 },
		      "description": "",
		      "name": "Orissa Golden Triangle Tour",
		      "telephone": "+91-9849352166"
		    }
		    </script>
			";i:5;N;}