a:6:{i:0;s:14729:"				<div class="h1"><h1>golden see beach</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.odishatourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.odishatourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>golden see beach</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">Tour Code </td>
						<td class="p5px pl0px vat">0447</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bhubaneswar, Konark, Puri</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 9500 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.odishatourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="golden see beach - 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="58834"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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/373054/111232.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/373054/111232.jpg"  width="150" height="150"    alt="golden see beach" title="golden see beach" /></a></p></div></li>
																		<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/373054/111233.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/373054/111233.jpg"  width="150" height="150"    alt="golden see beach" title="golden see beach" /></a></p></div></li>
																		<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/373054/111234.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/373054/111234.jpg"  width="150" height="150"    alt="golden see beach" title="golden see beach" /></a></p></div></li>
																		<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/373054/111235.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/373054/111235.jpg"  width="150" height="150"    alt="golden see beach" title="golden see beach" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					<b>Konark|Puri </b><br />
The first thing that comes to mind when we talk of Konark is its iconic Sun Temple, a 13th-century structure, believed to be built by Narasimhadeva I in 1250 CE. The grandeur of the temple is owing to the massive chariot with carved stone wheels, pillars, and walls. The temple is a UNESCO World Heritage Site and has also featured on the various list of Seven Wonders of India. But there' s more to town than that! Located in Odisha' s Puri district, Konark forms one of the three vertices of the state' s `Golden Triangle of Tourism'. This small town on the coast of the Bay of Bengal is famous for the excellent architectural craftsmanship of medieval days in various temples and monument. Beside pilgrimage, people visit the place to enjoy the serenity of its long and beautiful sea shore. There is an Archaeological Museum that houses sculptures and other pieces that have over the years tipps4.35% Government service tax extra.<br />
Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.<br />
Monument & Museum Entrance Fees for the sights mentioned in the Itinerary.<br />
Anything not specifically mentioned under the head "Prices included".<br />
Tips, Insurance, Laundry, Phone Calls.<br />
The Services of Vehicle is not included on leisure days & after finishing the sightseeing tour as per the Itinerary.<br />
Any Kind of Drinks (Alcoholic, Mineral, Aerated).<br />
Camera fee, Soft or Hard drinks, Starters.<br />
Medical & Travel insurance<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> Bhubaneshwar - Chausathi Yogini Temple – Pipli – Dhauli – Konark (70 kms/2 hrs drive)
								</p>
								<p class="aj">Once you arrive at Bhubaneshwar, drive to Konark and enroute, visit Chausathi Yogini Temple, Pipli Applique Village, Dhauli, Peace Pagoda and Ashokan Rock Edict. Chausathi Yogini Temple is famous for its architectural grandeur and is one of the finest preserved temples of India. Enjoy a stopover at Heerapur Village, which is known for its skilful bell metal workers. You can also see Dhauli Rock Edicts, which is a collection of unique rock edicts that describe the transformation of King Ashoka’s life after the disastrous Kalinga war. It was written in Pali on the banks of River Daya in the 3rd Century B.C. Next stop in this sojourn is Pipli, which is a small village and has workers selling different household articles and working on the patchwork style. They make various umbrellas and canopies that are used in Hindu Temples and once were used in royal courts and chariots. Enjoy an overnight stay at Konark.</p>					
									<p><b>Meals : </b> breakfast only</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> Konark - Raghurajpur - Puri (35 kms/45 minutes’ drive)
								</p>
								<p class="aj">Enjoy sightseeing at Konark and later, drive to Puri with a stopover at Raghurajpur. The Sun temple of Konark is one of the heritage sites of the country. It is an epitome of Odiya architecture. The well-defined carvings on the walls of the temple and its structure that has been made in the form of a chariot, attracts tourists from all over the world. Raghurajpur has been declared as the ‘Heritage Village of Odisha’ and is the only place where you can witness artisans working on silk, paper, betel nuts, coconuts, cow dung, coir and many such things. Many traditional patta painters of Odisha reside in the different parts of the village like Dandasahi, Nayakpatna and Raghurajpur. You can interact with some famous age-old patta painting workers of the village and learn about their style of work. Spend the night at Puri</p>					
									<p><b>Meals : </b> only breakfast</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 - Satpada on Chilika Lake (60 kms/1.5 hrs) - Bhubaneshwar (120 kms/3 hrs drive)
								</p>
								<p class="aj">Enjoy sightseeing at Puri, which is one of the four dhams of Hindus. It has the famous Jagannath Temple which is thronged by devotees through the year. The idols here represent the three concepts of Hinduism: Brahma, Vishnu and Shiva. Every year, during the months of June/July, there is a Grand Chariot Festival (Ratha Yatra), which beckons millions of people from all around the world. You can view the activities inside the temple from a platform (which remains closed on Sundays and local holidays). Later, drive to Chilika Lake, which is the largest brackish water lake of Asia. Here you can enjoy boating and spot some dolphins, especially the wild Irrawaddy dolphins. From the month of December until April, myriad migratory birds flock at this lake. You can also see fishermen at work here. Later, continue your drive to Bhubaneshwar and spend a comfortable night there</p>					
									<p><b>Meals : </b> only breakafast</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> Bhubaneshwar Sight Seeing
								</p>
								<p class="aj">Dedicate this day to sightseeing in Bhubaneshwar as you visit its temples, caves, Tribal Museum (Closed on Mondays) and State Museum (Closed on Mondays). You will see some of the most famous temples here like Parasurameshwar, Mukteshwar, Rajarani, Brahmeshwar, Vaital and Lingaraj Temple. The Khandagiri and Udaigiri Jain caves provide insights on the royal, social and cultural life of Kalinga. Later, you will be dropped at the railway station or airport for your onward journey</p>					
									<p><b>Meals : </b> breakfast and lunch</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
													<div class="headHr">
				            <p class="p7px b pl10px xlarge">Hotel Detail : </p>
				            </div>
															<div class="data lh13em p20px aj mb7px">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px"><p class="fr lh0">
								
																	<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																	
								</p>
								<div class="mb5px">
								<h2 class="dif b xxlarge">2 Star</h2>
								</div>
								<p class="cb"></p>
								<p><b>Address :</b> Bhubaneswar, Odisha, India</p>
								<p><b>Facility :</b> Airport Transfer, Car Rental / Hire, Cyber Cafe, Laundry Services, Parking, STD / ISD Facility, Security Guard</p>
								<div class="mt7px">any time</div>
								</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">Exclusions :</p> <ul><li>4.35% Government service tax extra.</li><li>
Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.</li><li>
Monument & Museum Entrance Fees for the sights mentioned in the Itinerary.</li><li>
Anything not specifically mentioned under the head "Prices included".</li><li>
Tips, Insurance, Laundry, Phone Calls.</li><li>
The Services of Vehicle is not included on leisure days & after finishing the sightseeing tour as per the Itinerary.</li><li>
Any Kind of Drinks (Alcoholic, Mineral, Aerated).</li><li>
Camera fee, Soft or Hard drinks, Starters.</li><li>
Medical & Travel insurance</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>any time<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.odishatourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="golden see beach - 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="58834"/>
						</form>
						</div>
						
						";i:1;s:55:"Book golden see beach - 3 Nights / 4 Days Tour Packages";i:2;s:120:"book golden see beach - 3 nights / 4 days tour packages, heritage tour packages, bhubaneswar, konark, puri tour packages";i:3;s:148:"Sai Darshan offers golden see beach - 3 Nights / 4 Days tour package, budget Heritage tour packages for Bhubaneswar, Konark, Puri at exciting price.";i:4;s:1867:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bhubaneswar, Konark, Puri"        
		                 },
		      "description": "<b>Konark|Puri </b>
The first thing that comes to mind when we talk of Konark is its iconic Sun Temple, a 13th-century structure, believed to be built by Narasimhadeva I in 1250 CE. The grandeur of the temple is owing to the massive chariot with carved stone wheels, pillars, and walls. The temple is a UNESCO World Heritage Site and has also featured on the various list of Seven Wonders of India. But there' s more to town than that! Located in Odisha' s Puri district, Konark forms one of the three vertices of the state' s `Golden Triangle of Tourism'. This small town on the coast of the Bay of Bengal is famous for the excellent architectural craftsmanship of medieval days in various temples and monument. Beside pilgrimage, people visit the place to enjoy the serenity of its long and beautiful sea shore. There is an Archaeological Museum that houses sculptures and other pieces that have over the years tipps4.35% Government service tax extra.
Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.
Monument & Museum Entrance Fees for the sights mentioned in the Itinerary.
Anything not specifically mentioned under the head "Prices included".
Tips, Insurance, Laundry, Phone Calls.
The Services of Vehicle is not included on leisure days & after finishing the sightseeing tour as per the Itinerary.
Any Kind of Drinks (Alcoholic, Mineral, Aerated).
Camera fee, Soft or Hard drinks, Starters.
Medical & Travel insurance",
		      "name": "golden see beach",
		      "telephone": "+91-9178191841"
		    }
		    </script>
			";i:5;N;}