a:6:{i:0;s:11266:"				<div class="h1"><h1>Orissa Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.highspiritadventures.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.highspiritadventures.co.in/tour-packages.htm" title="Tour Packages">Tour 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, Puri</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.highspiritadventures.co.in/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="119438"/>
						</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_15/445618/193541.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/445618/193541.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
								</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> 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.highspiritadventures.co.in/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="119438"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:123:"book orissa golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, bhubaneswar, puri tour packages";i:3;s:162:"High Spirit Adventures offers Orissa Golden Triangle Tour - 4 Nights / 5 Days tour package, budget Heritage tour packages for Bhubaneswar, Puri at exciting price.";i:4;s:416:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Puri"        
		                 },
		      "description": "",
		      "name": "Orissa Golden Triangle Tour",
		      "telephone": "+91-8629029169"
		    }
		    </script>
			";i:5;N;}