a:6:{i:0;s:12405:"				<div class="h1"><h1>Golden Triangle Tour with Nepal</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.gomyjourney.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.gomyjourney.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Golden Triangle Tour with Nepal</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/17434/3939.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/17434/3939.jpg"  width="150" height="150"    alt="Golden Triangle Tour with Nepal" title="Golden Triangle Tour with Nepal" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> GIJ-11-12/13</p>
												<p class="mb5px"><b>Duration :</b> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Jaipur, Agra, Kathmandu, Fatehpur Sikri</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gomyjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle Tour with Nepal - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="7059"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrival Delhi
									</p>
									<div class="data p10px">Meet and Greet at the Airport and transfer to Hotel. Overnight stay in Delhi.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Delhi - Jaipur (250kms/05hrs)
									</p>
									<div class="data p10px">Morning after breakfast take Hull day sight seeing tour of New Delhi: including Qutab Minar, India Gate, Humayun Tomb and the Grand President's House, Laxmi Narayan temple popularly known as Birla Temple. Later drive to Jaipur. Arrive Jaipur and check in to Hotel. Overnight stay in Jaipur.</div>					
										<p><b>Meals : </b> Breakfast, Dinner</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Jaipur Sight Seeing
									</p>
									<div class="data p10px">Morning tour of the impressive Amber Fort with Elephant Ride situated on a ridge just outside Jaipur City. At the foot of the hill you will mount your caparisoned elephant for the slow but steady climb up to the main gate, making your entrance in the time honoured fashion. The Fort, completed in the early 18th century, took over 100 years to build and now, although deserted, offers a fascinating insight into the lifestyle of the Moghul ruling families. Afternoon tour of the City - "The Pink City" is spectacularly set within surrounding rugged hills, dotted with ancient ruined fortresses. Your tour will include the imposing City Palace, still home to the Maharaja although several of the rooms are now open to the public. Many antiques and artifacts belonging to the ruling family are housed here, including a collection of weaponry. You will also visit the Hawa Mahal "Palace of the Winds", and the open-air Jantar Mantar Observatory to see the vast astronomical, instruments. In the evening drive to Chokhi Dhani Village for Dinner. Overnight stay in Jaipur.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Jaipur - Fatehpur Sikri - Agra (250kms/05Hrs)
									</p>
									<div class="data p10px">Morning after breakfast drive to Agra enroute visit Fatehpur Sikri- the deserted, red sandstone city that was built by Emperor Akbar as his capital and palace in the 16th century. Also visit the Bulund Darwaza the largest gateway in the world. Thereafter continue drive to Agra. Arrive Agra and transfer to Hotel. Later visit Agra fort - the rusty and majestic red-sandstone fort of Agra stands on the banks of the river Yamuna and the construction was started by Emperor Akbar in 1566. At the Diwan-I-Am (hall of public audience), a colonnaded hall of red-sandstone with a throne alcove of inlaid marble at the back, the Emperor heard public petitions. At the Diwan-I-Khas (hall of private audience) where marble pavilions with floral inlays lend an ethereal ambience, the Emperor sat on his gem-studded Peacock Throne and met foreign ambassadors and rulers of friendly kingdoms. Also visit the Tomb of Itmad-ud-Daullah built by Empress Noorjehan in memory of her father. Overnight stay in Agra.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Agra - Delhi (210Kms/04Hrs)
									</p>
									<div class="data p10px">Morning after breakfast visit the magnificent Taj Mahal - one of the Seven Wonders of the World surely the most extravagant expression of love ever created. 20,000 men laboured for over 17 years to build this memorial to Shah Jahan's beloved wife. Later drive to Delhi check in to Hotel. Later Half day sight seeing tour of Old Delhi including Red Fort, Jama Mashjid and Chandni Chowk. Overnight stay in Delhi.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Delhi - Kathmandu ( By Flight )
									</p>
									<div class="data p10px">Morning after breakfast check out from hotel and transfer to the Airport to board the flight for Kathmandu. On arrival at Kathmandu meet and assist at the Airport and transfer to Hotel. Overnight stay in Kathmandu.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Kathmandu
									</p>
									<div class="data p10px">After breakfast Sightseeing tour of the KATHMANDU CITY - The Hanumandhoka - Kathmandu's Durbar Square is the historic seat of royalty. The Durbar Square with its old temples and palaces epitomises the religious and cultural life of the people. It is here that kings of Nepal are crowned and their coronations solemnized. Also visit the Taleju Temple built by King Mahendra Malla in 1549 AD, the temple of Kal Bhairav - the God of destruction and the temple of Kumari (Vestal Virgin) or the Living Goddess - represents a very ancient Hindu deity of Nepal locally known as Taleju is Buddhist by birth. The Kumari acknowledges greetings from her balcony window. Once a year during Indra Jatra festival, the King of Nepal seeks the Kumar's blessing. Kasthamandap - Located near the Kumari Temple is said to be built from the wood of a single tree from the city. The city of Kathmandu derives its name from this temple. The Kathmandu Durbar Square was listed in the UNESCO World Heritage Monument List in 1979.<br />
<br />
<b>BOUDDHANATH STUPA:</b> The stupa of Bouddhanath lies 08kms east of Kathmandu. This ancient colossal Stupa is one of the biggest in the world, and is the centre of Tibetan Buddism in Nepal. Listed in the UNESCO World Heritage Monument List in 1979. PASUPATINATH TEMPLE: This important Hindu temple is the temple of Lord Shiva, The temple with a two tiered golden roof and silver door is considered one of the holiest shrines for Hindus. Although only Hindus are allowed inside the temple, visitors can witness the activities performed in the temple premises from the eastern bank of the Bagmati River. The temple was listed in the UNESCO World Heritage Monument List in 1979. Evening at leisure. Overnight stay in Kathmandu.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 8: Kathmandu
									</p>
									<div class="data p10px">After breakfast visit SWAYAMBHUNATH STUPA- the oldest Buddhist shrine. It is said to be 2,000 years old. Painted on the four sides of the spire's base are the all - seeing eyes of Lord Buddha. It is 03km west of Kathmandu City and is situated on a hillock about 77 m above the level of Kathmandu Valley and commands an excellent view of the Valley. This Stupa is the oldest of its kind in Nepal. It was also listed in the UNESCO World Heritage Monument List in 1979. Evening transfer to Nepalese Restaurant Bhanchaghar for a Traditional Nepali Welcome reception and dinner. Here you will have the opportunity to enjoy a live Nepalese Cultural programme performed by beautiful young girls dressed in ethnic traditional Nepalese costumes and jewelry representing various parts of Nepal. Dinner will follow this programme. Overnight stay in Kathmandu.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 9: Kathmandu - Delhi & Departure
									</p>
									<div class="data p10px">Morning after breakfast check out from the hotel and transfer to Kathmandu Airport to catch the flight fro Delhi. On arrival Delhi and take internal transfer to your onward destination. (Approx Airfare: Delhi-Kathmandu-Delhi: 345 USD Per Person).</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Any Air / Train fare<br />
Meals other than specified<br />
Monuments Entrance fees / Camera fees<br />
Soft drinks / hard drinks / starters<br />
Medical and insurance of any kind<br />
Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities<br />
Expenses of personal nature like laundry bills / telephone bills etc<br />
Any Tips							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Transport</li>
																				<li>Transfers</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Any Air / Train fare</li><li>
Meals other than specified</li><li>
Monuments Entrance fees / Camera fees</li><li>
Soft drinks / hard drinks / starters</li><li>
Medical and insurance of any kind</li><li>
Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities</li><li>
Expenses of personal nature like laundry bills / telephone bills etc</li><li>
Any Tips</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:70:"Book Golden Triangle Tour with Nepal - 8 Nights / 9 Days Tour Packages";i:2;s:169:"book golden triangle tour with nepal - 8 nights / 9 days tour packages, forts and palaces tour packages, new delhi, jaipur, agra, kathmandu, fatehpur sikri tour packages";i:3;s:207:"Go My Journey Pvt Ltd offers Golden Triangle Tour with Nepal - 8 Nights / 9 Days tour package, budget Forts and Palaces tour packages for New Delhi, Jaipur, Agra, Kathmandu, Fatehpur Sikri at exciting price.";i:4;s:831:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Kathmandu, Fatehpur Sikri"        
		                 },
		      "description": "Any Air / Train fare
Meals other than specified
Monuments Entrance fees / Camera fees
Soft drinks / hard drinks / starters
Medical and insurance of any kind
Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities
Expenses of personal nature like laundry bills / telephone bills etc
Any Tips",
		      "name": "Golden Triangle Tour with Nepal",
		      "telephone": "+91-9711877344"
		    }
		    </script>
			";i:5;N;}