a:6:{i:0;s:15997:"				<div class="h1"><h1>Golden Triangle with Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanbeyondbeauty.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanbeyondbeauty.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Golden Triangle with Andaman 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">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Agra, Port Blair</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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle with Andaman 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="55065"/>
						</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_14/396702/105934.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/396702/105934.jpg"  width="150" height="150"    alt="Golden Triangle with Andaman Tour" title="Golden Triangle with Andaman 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 in Delhi
								</p>
								<p class="aj">As you arrive in Delhi, meet  tour representative who assists you with an smooth transfer to the hotel. Complete the check-in formalities and settle in your room. You are now free to spend the day as per your own liking. Explore the place on your own. Nation's capital city, Delhi is flocked by a crazy number of visitors each year from all around the year for varied reasons. The city is an amazing mix of the old and new worlds, making it an ideal tourist destination that houses a number of attractions. Stay overnight.</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> Delhi
								</p>
								<p class="aj">22nd day of the tour is scheduled for visiting the popular tourist attractions of Delhi. The places that you visit today include Laxmi Narayan Temple- also known as Birla Temple, it is dedicated to lord Vishnu and his consort Goddess Laxmi; Parliament House- also called Sansad Bhawan, it is not only an important building but is also an architectural marvel; Red Fort- a UNESCO World Heritage Site; Gandhi Memorial- also called National Gandhi Museum, it houses things connected to Mahatma Gandhi; Jama Masjid- built in Islamic architecture, it is the largest mosque in India; Humayun's Tomb- a UNESCO World Heritage Site and Qutub Minar Complex- this beautiful tall minaret, this is another World Heritage Site. Overnight in Delhi</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> Delhi - Agra (211 km)
								</p>
								<p class="aj">Today leave for Agra, by road. On arriving in Agra, check-into the hotel. Relax for some time and later get all set to explore the Mughal city of Agra, that stands proudly on the banks of River Yamuna. The list of attractions that you visit includes Taj Mahal- built by Mughal Emperor Shah Jahan, this white-marble marvel is not only One of Seven Wonders of the World but is also a World Heritage Site; Red Fort- also known as Agra Fort, this Mughal architectural wonder is another World Heritage Site in Agra and lastly, the tomb of Itimad-ud-Daulah- also called 'Baby Taj' or 'jewel box', this mausoleum was built by Nur Jahan, the wife of Jehangir . 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 4:</b> Agra - Jaipur (242 km)
								</p>
								<p class="aj">On the 4th day of the tour, leave early for Jaipur, by road. En-route, stopover at the UNESCO World Heritage Site of Fatehpur Sikri. It was founded by the Mughal emperor Akbar in 1569 and served as the capital of the Mughal from 1571 to 1585. Today this abandoned city houses a number of other attractions worth-visiting, including Panch Mahal, Jama Masjid, Birbal Bhawan, Buland Darwaza, Jodha Bai Palace, Diwan-i-Am etc. Evening arrival in Jaipur, the colorful and capital city of Rajasthan. Post check-in, relax for the rest of the day. Stay overnight.</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> Jaipur
								</p>
								<p class="aj">Morning of the 5th day is for the half-day trip to Amer, also called as Amber. Here, explore the magnificent Amer Fort. Opt for an elephant ride to go up to the entrance of the fort. The fort complex houses a number of structures such as Ganesh Pol, Sheesh Mahal, Sila Devi temple etc. back to the main city in the afternoon for sightseeing covering the City Palace- an amazing blend of Mughal and Rajput architecture styles, it houses a number of structures; Jantar Mantar- a collection of architectural astronomical instruments, it was constructed by Rajput King Sawai Jai Singh and lastly, Nawab Sahab Ki Haweli- constructed way back in the year 1772. Thereafter, visit the local bazaars of Jaipur for shopping. Overnight stay in Jaipur.</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 6:</b> Jaipur - Delhi
								</p>
								<p class="aj">In the morning on day 6, hit the road back to Delhi. After completing the check-in formalities, explore the city on your own. The melting point of cultures and politics, Delhi boasts of being one of the most well-known tourist destinations of India. It houses a number of tourist attractions and some very popular markets. When in Delhi, do not miss binging on street food such as Dahi Bhalla, Tikki, Pao Bhaji, Bhelpuri and more. Overnight stay in Delhi.</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 7:</b> Delhi-Port Blair
								</p>
								<p class="aj">Today, get an assisted transfer to the airport to board a flight to Port Blair. On reaching, meet our tour representative who assists you to the hotel. After check-in, get ready for sightseeing including the Anthropological Museum- housing an amazing collection of ancient tools, habitat models and handicrafts of the native tribals of the Andaman; Cellular Jail- extremely popular as Kala Pani; Fisheries Museum- displays species of marine life to the Islands, Science Centre- offering exhaustive knowledge on Ocean Science as well as the growth of corals and lastly, Corbyns Cove beach- a uniquely-shaped beach, ideal for watching sunset and leisure walks. The evening is scheduled for attending the Light and Sound Show at Cellular Jail that where the story of India's freedom struggle is narrated. Stay overnight.</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 8:</b> Port Blair - Ross Island - North Bay Island (Coral Island) – Harbour Cruise (Viper Island)
								</p>
								<p class="aj">The day post breakfast is scheduled for a full-day cruising towards the popular islands of Andaman & Nicobar including Ross Island, Viper Island and North Bay (Coral Island). First of all, explore Ross Island – a historical island that is known for its enchanting scenery, Port Blair's capital during the British era. Our next destination is North Bay Island - also known as Coral Island, it boasts of a rich marine life that can be explored through a glass-bottom boat or scuba diving and snorkeling. In the evening, continue towards be lush and beautiful Viper Island- the site of first British jail. Back to Port Blair 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 9:</b> Port Blair - Havelock Island
								</p>
								<p class="aj">On day 9, hop- into a ferry from Port Blair to Havelock Island, one of the most popular attractions of Andaman and Nicobar Islands, famed for its relaxed lifestyle, beaches and scuba diving opportunities. As you reach Havelock Island, an  representative meets you for an assisted transfer to the resort. Post the check-in formalities, get ready for a trip to Kala Pathar Beach- a tiny but beautiful beach. With little tourist activity, this is an ideal beach to enjoy some relaxed moments with your loved ones. Take a stroll or just lie down while admiring the serenity and beauty, sprinkled all around. Stay overnight.</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 10:</b> Havelock Islands - Port Blair
								</p>
								<p class="aj">After breakfast, visit the very well-known Radhanagar Beach, famed as one of the top 10 beaches in Asia. When on the beach, partake in sun bathing, swimming and other fun activities. Also known as beach #7, this beach is famed for its serene and mesmerizing beauty. The sunset views here are memorable. Back to Port Blair via ferry, late afternoon. Check-into the hotel for an overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Port Blair - Mount Harriet - Port Blair
									</p>
									<p class="aj">Post breakfast on the 11th day, the tour takes you to Mount Harriet, famed as the third highest peak of Andaman and Nicobar. The summer headquarters of British Chief Commissioner, the place all around offers some of the most panoramic views of the surrounding water and the outer area of the island. If you wish, you can also visit the National Park, nearby, home to exotic wildlife of the region. Going for a nature trek is another option here. Return to Port Blair. Spend the evening shopping for souvenirs in the popular markets of Port Blair. Get your hands on bamboo and shell knick-knacks, special mats made from local wood, pearl jewellery and more. Stay overnight.</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 12:</b> Departure from Port Blair - Delhi
									</p>
									<p class="aj">On the last day of Golden Triangle with Andaman, get transferred to Port Blair Airport to board a flight for Delhi. From Delhi International airport board another flight for your onward journey.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle with Andaman 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="55065"/>
						</form>
						</div>
						
						";i:1;s:74:"Book Golden Triangle with Andaman Tour - 11 Nights / 12 Days Tour Packages";i:2;s:158:"book golden triangle with andaman tour - 11 nights / 12 days tour packages, beach and islands tour packages, new delhi, jaipur, agra, port blair tour packages";i:3;s:196:"Andaman Beyond Beauty offers Golden Triangle with Andaman Tour - 11 Nights / 12 Days tour package, budget Beach and Islands tour packages for New Delhi, Jaipur, Agra, Port Blair at exciting price.";i:4;s:440:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Port Blair"        
		                 },
		      "description": "",
		      "name": "Golden Triangle with Andaman Tour",
		      "telephone": "+91-7004753289"
		    }
		    </script>
			";i:5;N;}