a:6:{i:0;s:11237:"				<div class="h1"><h1>Orissa Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.shreetoursandtravels.in/" title="Home">Home</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, Chillika</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.shreetoursandtravels.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="120078"/>
						</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_12/356221/194558.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/356221/194558.jpg"  height="150"  width="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 begins with your arrival at Bhubaneswar airport. A tour guide shall escort you to the hotel. Check-in and freshen up. Midday is spent enjoying seeing the sights around.

The jaunt starts with Khandagiri Udaygiri caves. These caves are the earliest faction of Jain rock cut shelters. The caves hold significance for its history, rock-cut architecture, art and faith. Once the dwelling abode or cells of the Jain ascetics, here tourists can sense the wisdom of the learned.

The next destination you visit is The Shrine of Lingaraj. The thousand-year old remarkable specimen of Hindu architecture is awe-inspiring. It is one of the well-regarded places to visit. Pay obeisance to the Linga form of Lord Shiva. The Kedar Gouri temple and Sai Baba temple are a short way from the temple complex. The inimitable architecture, the serenity lingering in air spellbinds all visitors. Acquire the blessings of the divine.

Sundown is at your leisure. Explore the local but astir markets of Bhubaneswar, where you can strike some wonderful bargains or savor some delicacies of the city. Check out the cultural dance and music programs. The urban is a quick insight into the unique assortment of Orissa. Return to the guesthouse to retire for the night.</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">Kick start your day with a delicious breakfast. Shortly after finishing your meal, check-out of the hotel and proceed to Konark. The spiritual city hosts the UNESCO world heritage site of the Konark Sun Temple. The 13th-century shrine is a fascinating sight. The colossal chariot-shaped temple is a phenomenon of architecture. Dedicated to the Sun God, the ruined temple is a treasure. The quintessential carvings and skills of artisans still shimmer through it. Get awe-struck the intrinsic charm still lingering in the ambiance.

Next, you visit the Chandrabhaga shoreline, the mesmerizing expanse of silvery spongy sands. It is lapped by the azure waters of the Bay of Bengal. The beach is glorified in many mythological fables. Spend time enjoying the charm of nature.

Afterwards, ensue to Puri. Check-in the guesthouse. Refresh and get ready as you are set to visit Puri Jagannath temple and Gundicha temple. The Puri Jagannath temple is one of the sacred places in Hindu faith. Cited as one of the divine Char Dhams, the shrine is dedicated to the “Lord of the Universe” Jagannath. Pay obeisance 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 fiesta. Get blessed by the divine powers. Evening is at leisure.

Loosen up yourself at the Golden sand beach of Puri. The sight of sunset is tantalizing. Enjoy long walks on the squishy sands and shoreline. Check out the beach eateries where delicacies of the fresh catch can be savored. Check out tribal handiwork and other specialties. Purchase some delights. Return to hotel and sleep overnight 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 with the first ray of sun. Relish a sumptuous supper in the guesthouse. Depart for Satpara, Chillika. Asia's largest brackish water lagoon, Chilika is renowned as one of the vital wetlands in the world. It is known for the sighting beautiful Irwadi Dolphins. The lake also houses an unparalleled variety of birds. Beautiful display of multi-hued avian charms in a thousand different hues presented by over 160 species awaits here. Spend the day exploring the delights of the wetland.

After a well-spent day amid scenery, return to Puri during sundown. Retire for the night 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">Kick start the day with a delicious breakfast in the guesthouse. Shortly after meal, check out from hotel and drive to Bhubaneswar. En-route Puri, take a halt at Pipili. The small city is renowned for designing alluring Applique handicrafts. It is a town of artisans well-known for their multi-hued fabrics. Stop and shop for these intriguing garbs.

Next stopover is Dhauli. This city is linked with great fables of Emperor Ashoka. Resting on the banks of river Daya, it is said the bloodbath warfare of Kalinga had turned the river red. The horrific annihilation had converted the heart of the royal leader and made to proliferate peace. The city has a Peace pagoda, Edicts of Ashoka's messages and ancient temples. Spend time exploring.

Unwind yourself upon arrival check-in to the guesthouse. In the noontime proceed for sightseeing of Nandakanan, Ram Mandir and Rajarani temple etc. Nandankanan has an astonishing zoo inhabiting some of the wild genus of the region. Created out of the Chandaka forest, animals here are kept in their natural habitat. Closely observe white Royal Bengal tigers, Gharials and other species. The flora species of the expanse are also unparalleled. Next visit the divine shrines.

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">Shortly after savoring a delicious morning supper, check-out of the hotel and drive to Bhubaneswar airport/railway station. Return home with fond memories 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.shreetoursandtravels.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="120078"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:133:"book orissa golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, bhubaneswar, puri, chillika tour packages";i:3;s:186:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days tour packages from Shree Tours & Travels - Get attractive 4 Nights / 5 Days Heritage  tour packages for  Bhubaneswar, Puri, Chillika.";i:4;s:426:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Puri, Chillika"        
		                 },
		      "description": "",
		      "name": "Orissa Golden Triangle Tour",
		      "telephone": "+91-9871034578"
		    }
		    </script>
			";i:5;N;}