a:6:{i:0;s:21089:"				<div class="h1"><h1>Golden Triangle Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avanitravels.net/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avanitravels.net/tour-packages.htm" title="Tour Packages">Tour 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">New Delhi, Jaipur, Agra</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.avanitravels.net/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="29914"/>
						</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_10/277951/60541.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/277951/60541.jpg"  width="150" height="150"    alt="Golden Triangle Tour" title="Golden Triangle Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					The above package is only an offer and not a confirmation. We shall proceed with your booking only after we receive your confirmation and full payment.<br />
In case of non-availability of rooms at the hotels mentioned, we shall provide you alternate hotels of similar category.<br />
Check-in/Check-out time at the hotel is 12.00 hrs.<br />
Booking confirmation is subject to availability.<br />
The above rates are valid for the mentioned period onlyAny meals other than those mentioned above.<br />
Any Airfare / Train fare.<br />
Entrance fees During the sightseeing .<br />
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.<br />
Any services not specifically mentioned in the inclusions.<br />
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions, political disturbances etc.<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> Arrive Delhi
								</p>
								<p class="aj">Arrival Airport / Railway station. Meet and greet upon arrival by our tour representative at the International airport. Transfer to hotel, After proceed for sightseeing tour of Delhi visiting important tourist sites of Old and New Delhi. Visit the Qutab Minar 12th century tower and one of the tallest towers of its time, walls here consist of verses from Quran (Holy book of Islam). Wander around the complex visiting ruins of Hindu temples and palaces which once remained here and 4th century steel pillar which has not developed rust till date. Drive past India Gate the war memorial and other government buildings stopping at President House. Visit Laxmi Narayan Temple.<br />
In Old Delhi drive past Red Fort once a symbol of Mughal power, visit Jama Masjid 16th century mosque and largest in India. Take a rickshaw ride in the narrow alleyways of Chandni Chowk and amazing mixture of history with modern world and visit Raj Ghat cremation site of Mahatma Gandhi- "Father of the Nation".<br />
Overnight at hotel in New Delhi.</p>					
									<p><b>Meals : </b> no meals</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 - Agra
								</p>
								<p class="aj">Morning depart Delhi by surface for Agra (200 Km) stopping by en route to visit Tomb of Emperor Akbar at Sikandra, which is one of the finest example of Hindu and Mughal fusion architecture. Arrive Agra and check in at hotel.<br />
Afternoon visit the Agra Fort and the Taj Mahal.Agra Fort -Foundation led by emperor Akbar in 1565 AD, four of the mighty Mughal rulers controlled their vast empire from here. Wander around the palaces built by successive emperors famous amongst which are Jahangiri Mahal, Khass Mahal, Diwan-i-Khass, Diwan-i-Am, Machchhi Bhawan and Moti Masjid etc. that represents the excellence of Mughal architecture. Fort also serves as a vantage point to view Taj Mahal and it is believed that emperor spent his last days in exile watching the Taj Mahal from here.<br />
Taj Mahal (World Heritage Site) -This most beautiful monument of love was built during 1630 by grieving emperor Shah Jahan in memory of his wife Mumtaj Mahal is flawless to its conception and execution. It is aptly said that Taj Mahal is not a monument that can be described in words - one has to see it to experience it. You can stay on to view the monument on the soft light of the setting sun.<br />
Overnight at hotel in Agra. (Taj Mahal remain closed to visitors on Friday)</p>					
									<p><b>Meals : </b> 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> Morning depart Delhi by surface for Agra (200 Km) stopping by en route to visit Tomb of Emperor Akba
								</p>
								<p class="aj">Morning depart Agra by surface for Jaipur stopping by en route to visit to Fatehpur Sikri - Just 44 km away from Agra on the way to Jaipur is Fatehpur Sikri, which briefly served as capital of emperor Akbar. It is believed that city was quickly abandoned due to lack of potable water. Palaces, meeting halls, courtyards inside the complex is in a remarkable state of preservation. Holy shrine of Saint Salim Chisti here is one of important pilgrimage for Muslims and Buland Darwaza which emperor Akbar built to commemorate his victory on Gujarat is very imposing. Arrive Jaipur and check in at hotel.<br />
Evening explore local markets, lanes and alleys of Jaipur. This city is famous for colorful clothes, precious stones, gems and antiques. Shop to your heart’s content.<br />
Overnight at hotel in Jaipur.</p>					
									<p><b>Meals : </b> 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 4:</b> Jaipur
								</p>
								<p class="aj">Morning proceed on an excursion to Amber Fort. Amber Fort - Ancient capital of Kachhawaha Rajputs rulers of Jaipur, Amber guarded one of the important defiles from invading enemies. Wander inside the Fort to see extravagant Palaces to witnessing the opulence of Rajput royal lifestyle amongst which summer palace, winter palace and mirror palace etc. are the most popular. Stop at the Hawa Mahal (Wind Palace) en route to fort.<br />
Afternoon city tour of Jaipur visiting City Palace - official residence of the present royal family palace covers a large area divided into a series of courtyards, gardens and buildings. A part of this Palace is now turned into a museum housing Armory, Textiles and Artifacts. City Palace is delightful blend of Mughal and traditional Rajasthani architecture. Jantar Mantar - 17th century astronomical observatory, an excellent example of the marvelous precision wherein each construction has a specific purpose to measure the position of stars, altitudes and azimuths or calculating eclipses and some of them still works.<br />
Overnight at hotel in Jaipur.</p>					
									<p><b>Meals : </b> 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 5:</b> Jaipur - Delhi
								</p>
								<p class="aj">In time drive to Delhi airport to catch flight to onward destination.</p>					
									<p><b>Meals : </b> Breakfast</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">Hotel Laxmi Niwas</h2>
								</div>
								<p class="cb"></p>
								<p><b>Address :</b> Jaipur, Rajasthan, India</p>
								<p><b>Facility :</b> </p>
								<div class="mt7px">Hotel Laxmi Niwas is designed to help our guest relax in its 25 well appointed luxurious room. All rooms are equipped with modern amenities and have unique interiors.</div>
								</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="showZoomImage2" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6016.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6016.jpg"  width="150" height="69"    alt="Golden Triangle Tour" title="Golden Triangle Tour" class="bdr"  /></a></p></div></li>
																					</ul>
									</div>
									</td>
																	
								</tr>
								</table>
								</div>
																	<div id="show_more_content" style="display:none;">
																		<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">Hotel Laxmi Niwas</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Jaipur, Rajasthan, India</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">Hotel Laxmi Niwas is designed to help our guest relax in its 25 well appointed luxurious room. All rooms are equipped with modern amenities and have unique interiors.</div>
									</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="f150x150"><p class="ac vam"><a rel="gall" data-fancybox="showZoomImage3" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6016.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6016.jpg"  width="150" height="69"    alt="Golden Triangle Tour" title="Golden Triangle Tour" class="bdr"  /></a></p></div></li>
																							</ul>
										</div>
										</td>
																			
									</tr>
									</table>
									</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_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=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">Mapple Express  Delhi</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> New Delhi, Delhi, India</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">
“Great location for New Delhi” as part of the Golden Triangle Tour. The hotel is well appointed and the staff friendly an helpful. The room is well furnished and the bed very comfortable. There is a good choice of breakfast foods. </div>
									</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="f150x150"><p class="ac vam"><a rel="gall" data-fancybox="showZoomImage4" href="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6716.jpg"><img src="https://ttw.wlimg.com/hotel-package-images/photo-big/dir_10/277951/6716.jpg"  width="150" height="113"    alt="Mapple Express Delhi" title="Mapple Express Delhi" class="bdr"  /></a></p></div></li>
																							</ul>
										</div>
										</td>
																			
									</tr>
									</table>
									</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_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=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">Hotel Crystal Inn  Agra</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Agra, Uttar Pradesh, India</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">very good hotel and near to taj mahal only walking distance, mac donalds, pizza hut, dominoos and costa coffe very near, great rooms</div>
									</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>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any meals other than those mentioned above.</li><li>
Any Airfare / Train fare.</li><li>
Entrance fees During the sightseeing .</li><li>
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.</li><li>
Any services not specifically mentioned in the inclusions.</li><li>
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions, political disturbances etc.</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Note: Cost not valid on festival / X-MAS/ New Year.<br /><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.avanitravels.net/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="29914"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Golden Triangle Tour - 4 Nights / 5 Days Tour Packages";i:2;s:122:"book golden triangle tour - 4 nights / 5 days tour packages, heritage tour packages, new delhi, jaipur, agra tour packages";i:3;s:152:"Avani Travels offers Golden Triangle Tour - 4 Nights / 5 Days tour package, budget Heritage tour packages for New Delhi, Jaipur, Agra at exciting price.";i:4;s:1283:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra"        
		                 },
		      "description": "The above package is only an offer and not a confirmation. We shall proceed with your booking only after we receive your confirmation and full payment.
In case of non-availability of rooms at the hotels mentioned, we shall provide you alternate hotels of similar category.
Check-in/Check-out time at the hotel is 12.00 hrs.
Booking confirmation is subject to availability.
The above rates are valid for the mentioned period onlyAny meals other than those mentioned above.
Any Airfare / Train fare.
Entrance fees During the sightseeing .
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.
Any services not specifically mentioned in the inclusions.
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions, political disturbances etc.",
		      "name": "Golden Triangle Tour",
		      "telephone": "+91-9970119645"
		    }
		    </script>
			";i:5;N;}