a:6:{i:0;s:11276:"				<div class="h1"><h1>Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidayss.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.holidayss.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>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.holidayss.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="103530"/>
						</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_17/492417/173026.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/492417/173026.jpg"  width="150" height="150"    alt="Golden Triangle Tour" title="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.holidayss.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="103530"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:116:"book golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, bhubaneswar, puri tour packages";i:3;s:161:"Book Golden Triangle Tour - 4 Nights / 5 Days tour packages from The Holidayss - Get attractive 4 Nights / 5 Days Heritage  tour packages for  Bhubaneswar, Puri.";i:4;s:409:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Puri"        
		                 },
		      "description": "",
		      "name": "Golden Triangle Tour",
		      "telephone": "+91-7010402069"
		    }
		    </script>
			";i:5;N;}