a:6:{i:0;s:11283:"				<div class="h1"><h1>Orissa Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluelinetravelsonline.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluelinetravelsonline.com/cruise-holidays-packages.htm" title="Holiday Packages">Holiday 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, 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.bluelinetravelsonline.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="110147"/>
						</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_8/229760/181727.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/229760/181727.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
								</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.bluelinetravelsonline.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="110147"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Orissa Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:140:"book orissa golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, bhubaneswar, puri, chillika, pipil tour packages";i:3;s:181:"Blueline Tours & Travels offers Orissa Golden Triangle Tour - 4 Nights / 5 Days tour package, budget Heritage tour packages for Bhubaneswar, Puri, Chillika, Pipil at exciting price.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Puri, Chillika, Pipil"        
		                 },
		      "description": "",
		      "name": "Orissa Golden Triangle Tour",
		      "telephone": "+91-9938744428"
		    }
		    </script>
			";i:5;N;}