a:6:{i:0;s:52539:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.azaantravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.azaantravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Jaipur, Agra, Varanasi, Khajuraho</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour - 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="36227"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px 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 w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/73506.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/16702/73506.jpg"  width="150" height="150"    alt="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour" title="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/73507.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/16702/73507.jpg"  width="150" height="150"    alt="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour" title="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Best Suited<br />
All, Budget, Families, Groups, Honeymoon, Kids, Luxury, Solo travelers								</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> New Delhi
										</p>
										<p class="aj">“Welcome Arrival”<br />
Fly from your country to New Delhi. Upon arrival at New Delhi International Airport, <br />
Azaan Travels representative will meet you and give you transfer to the Hotel for Relax-<br />
Delhi: It is the capital of India and its political and cultural center. Located on the banks of the River Yamuna, Delhi has been continuously inhabited since at least the 6th century BCE. Delhi emerged as a major political, cultural and commercial city along the trade routes between northwest India and the Genetic plain. It is the site of many ancient and medieval monuments, archaeological sites and remains. When India gained independence from British rule in 1947, New Delhi was declared its capital and seat of government. As such, New Delhi houses important offices of the federal government, including the Parliament of India, as well as numerous national museums, monuments, and art galleries. Owing to the migration of people from across the country, Delhi has grown to be a multicultural, cosmopolitan metropolis. Its rapid development and urbanization, coupled with the relatively high average income of its population, has transformed Delhi. Today, Delhi is a major cultural, political, and commercial centre of India.<br />
Overnight stay in Delhi Hotel<br />
</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> New & Old Delhi Sightseeing
										</p>
										<p class="aj">Have a breakfast at the hotel. Proceed to visit famous attractions of Old & New Delhi and experience the culture, tradition and rich history of the city. Some major attractions of the city are the India Gate, the Red Fort, the Jama Masjid, the President House, the Parliament House, the Chandani Chowk, the Qutub Minar, the Humayun’s Tomb, and Lotus Temple etc…<br />
India Gate: Built as a memorial to commemorate the 70,000 India soldiers killed in World War I,India Gate was designed by Sir Edwin Lutyens and completed in 1931.Built of sandstone, the arch also houses the Eternal Flame, a gesture in memory of the Indian soldiers who laid their lives in the 1971 war with Pakistan.<br />
<br />
Rashtrapati Bhawan(President House): Formerly the Viceregal Lodge, the building is the highlight of Lutyen's New Delhi and was completed in 1929 at a cost of 12,53,000 pound sterling and inaugurated in 1931. The name was changed in 1959 after India became a republic. Now it is the Presidential Palace of India. Located in an area of 130 hectares, the palace has 340 rooms.<br />
Red Fort: In 1647 the Red Fort - Delhi's 7th fort-was built by Shahjahan. The Red Fort is the site from which the Prime Minister of India addresses the nation on Independence Day.<br />
Jama Masjid: The Jama Masjid, the largest mosque of India, built between 1644 and 1658.It is one of the last architectural works of the Mughal emperor Shah Jahan. The cabinet in the north gate of the Jama Masjid contains a collection of Muhammad's relics - the Koran written on deerskin, a red beard-hair of the prophet, his sandals and his footprints, implanted in a marble block.<br />
<br />
Chandni Chowk: One of the most prominent wholesale and retail markets of India, Chandni Chowk is more than 300 years old. It was established in 1650, when Mughal Emperor Shahjahan shifted his capital from Agra to Delhi, as an accompaniment to the fort. Jahanara, the Emperor's favorite daughter, is credited with designing this market.<br />
Sansad Bhavan (Parliament): The Parliament of India (Sansad Bhavan) is a circular building designed by the British architect Herbert Baker in 1912–13. The roof of the outer circle of the structure is supported by 257 granite pillars. The House of Parliament is located on Janpath, a stone's throw away from the presidential palace Rashtrapati Bhavan.<br />
<br />
Lotus Temple---<br />
Qutub Minar: At 72.5 meters, the 13th century Qutub Minar is the world's tallest brick minaret. Only the first story was completed by Qutub-ud-din. The other stories were built by his successor Iltutmish. The two circular stories in white marble were built by Ferozshah Tughlaq in 1368, replacing the original fourth story.<br />
Humayun's Tomb: The first mature example of Mughal architecture in India, Humayun's Tomb was built by the emperor's grieving widow, Haji Begum, in 1565 AD .The tomb established a standard for all later Mughal monuments, which followed its design, most notably the Taj Mahal.<br />
Overnight stay in New Delhi 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 3:</b> Delhi – Varanasi (BY AIR)
										</p>
										<p class="aj">Have a breakfast at the hotel, transfer to airport for board flight for Varanasi, Upon arrival at Varanasi airport Azaan Travels representative assist to you transfer to hotel for check in & refresh your self & move to attend splendid Ganges Worship Ceremony at Rajendra Prasad Ghat. ---<br />
<br />
Varanasi: Varanasi City or Benaras is India's cultural capital, which has been the major pilgrimage destination for Hindus since ages. It is world's oldest living city and its origins are still not well known. The city of Varanasi is visited by thousands of visitors every year because of its excellent offerings in the form of Hinduism, spiritualism, mysticism and Indian philosophy. This holy place is filled with numerous Ashrams, Ghats, temples, Stupas and sects. Varanasi is famous for silk weaving and it is famous for silk sarees. Apart from sarees Mirzapur carpets, musical instruments, mangoes and especially sweet betel leaves are very popular attractions in Varanasi City.<br />
Return to hotel for Overnight stay in Varanasi.<br />
</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> Varanasi Ghats & Temples With Sarnath Tour
										</p>
										<p class="aj">Have a breakfast at the hotel, early morning we will proceed for Boat Ride on Gamges -Sarnath Tour & Varanasi City Sightseeing---<br />
<br />
Excursion To Ghats: The 'Ghats' are undoubtedly the most valuable assets of Varanasi. None can imagine this holy city sans its numerous Ghats that dot the nearly 7 km arc line of the Ganges riverfront between the confluence of the River Asi in the south and the Varuna in the north. <br />
<br />
Ghats are a very special type of embankments that are actually long flights of wide stone steps leading down to the river where people can take a holy dip. But there are more to these Ghats than just bathing and cremating. Each of the eighty-four Ghats of Varanasi holds some special significance.<br />
Viewing the Ghats from a boat on the Ganges, especially at sunrise, is an unforgettable experience! They offer a panoramic view of the various early morning activities - from ablution to workout - of a multitude of people, for whom the river is the be all and end all of life. It's also a pleasure to walk down the entire stretch of the Ghats along the Ganges. Here people consult the astrologers under their palm leaf parasols, buy offerings for rituals, sell silk apparels and brassware, or just gaze at the faraway horizon where the mighty river meets the heavens.<br />
Temple Tour: The temples of Varanasi are as old as the city itself. The temples here evoke a huge sense of spirituality. There is a special aura of mystery around these temples and there deities, who can be felt only by firsthand experience. The city has countless number of temples, spread across the city. The holy temples of Varanasi are amongst the most visited temples in India. Situated on the banks of holy river Ganges, Varanasi temples add to the religious value to Ganges. <br />
Sarnath : located just 12 km from the Hindu holy city of Varanasi, is the site of the deer park where Gautama Buddha first taught the Dharma after his enlightenment. Sarnath is one of four holy Buddhist sites sanctioned by the Buddha himself for pilgrimage. The other three sites are: Lumbini (birth); Bodh Gaya (enlightenment); and Kushi Nagar (death).<br />
All of the ancient buildings and structures at Sarnath were damaged or destroyed by the Turks. However, amongst the ruins the Dharmekh Stupa is impressive at 128 feet high, and 93 in diameters. This dates from around 200 BC and is the spot where the Buddha is said to have preached his first sermon. Only the foundations remain of the Dharmarajika Stupa, but it is notable as a rare pre-Ashokan stupa. The decaying ruins of the Mulagandhakuti Vihara mark the place where the Buddha spent his first rainy season in meditation. To the east is the modern Mulagandhakuti Vihara with its beautiful wall paintings; behind it is the Deer Park, which is maintained as an open animal park and still attracts deer. The Ashoka Pillar at Sarnath survived the Turkish invasion but was broken during excavations. The base still stands in its original spot and has some interesting carvings. The splendid lion capital that topped the pillar is on display at the Sarnath Archeological Museum. The museum also houses some of the greatest treasures of Indian Buddhist art, including almost 300 images. Six national temples have been built by various Asian communities at Sarnath since the site's restoration, including a Tibetan temple and Sri Lankan temple.<br />
Return to hotel for Overnight stay in Varanasi<br />
</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> Varanasi / Khajuraho (By Air)
										</p>
										<p class="aj">Have a breakfast at the hotel transfer to the Varanasi airport for board flight for Khajuraho, Upon arrival at the Khajuraho airport, welcome by our representative & assist to you for transfer to hotel by dlx car, check in hotel for refresh your self & enjoy Light & Sound Show at in evening.<br />
<br />
Khajuraho: The 9th to 12th century temples of Khajuraho is the evidences of the architectural geniuses during the times of Chandela dynasty. Situated in Madhya Pradesh, India, Khajuraho oozes with passion, eroticism, dance and music and other finesses of creative arts depicted in sculpture and images of the temples. The 85 temples were built in North Indian 'Nagara' style of architecture, though only 20 of them have survived the rough weather conditions over long years of time. The two richer distinctive groups of temples are the Western and Eastern group of temples.Temple town of Khajuraho is much different from any other temple city of India. It is not about religion and worshipping and deities. The temples of Khajuraho are instead famous for the eroticism etched on its walls in the form of sculptures.<br />
<br />
The Light and Sound show on the Western Group of temples complex that reminds the life and times of the great Chandela Kings and mark out the story of the exclusive temples from the 10th Century to the present day. The 50-minute fascinating show is held in every evening and it runs in Hindi and in English. Amitabh Bachchan, biggest of Bollywood stars, narrates the story of the magnificent temples and his majestic voice attributes a special effect to the show. The tourism department organizes the show, which is not only entertaining but also very informative. The first show is in English that starts at 6.30 pm and the second show is scheduled at 7.30 pm in Hindi. <br />
Come back to hotel for Overnight stay in Khajuraho.<br />
</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> Khajuraho – Orchha - Jhansi (By Road) –Agra (By Train)
										</p>
										<p class="aj">Morning after breakfast we will proceed for Jhansi for board train to Agra. Enroute visiting the medieval city of Orchha. The city is located on the banks of Betwa River set against the verdant hills and greenery. Orchha was the capital of the powerful Bundela kingdom and still retains its medieval charm. <br />
Orcha:A village town located in the Bundelkhand region in Uttar Pradesh, India. The place's splendor has been beautifully captured in stone and frozen in time. Orcha boasts of the massive Orcha Fort-Palace-Temple Complex which is a major tourist attraction.Situated on the banks of the Betwa River, the Orcha Fort was built by the Bundela Chief Rudra Pratap Singh in the 16th century. It houses many 'architectural wonders' such as Raja Ram Mandir, Laxmi Narayana Mandir, Jehangir Palace, Raj Palace and Rani Praveen Palace.<br />
The Orcha Fort has glorious past and mythological attachments. It's the only place where Lord Rama is worshipped as a king and not as a god. Rama's statue inside the Rama Raja Temple--a famous tourist attraction of Orcha--was brought from Ayodhya by Madhukar Shah, one of the Bundela rulers.<br />
Jehangir Palace, another pride of the Orcha Fort complex, is a tiered palace crowned by graceful chatris. The Palace was built to honour the Mughal emperor Jehangir when he had visited Orcha.<br />
In its heydays, the massive and strong Orcha Fort stored enough ration and ammunitions that could last for a few years in case it was besieged by the enemies. No wonder, the fort remained unconquered and proudly defied the mighty Marathas who could not conquer it despite doing everything in their power.<br />
Enjoy you Lunch at a River side resort with a breathtaking beautiful location in Orcha. <br />
Continue drive to Jhansi Station to board on train to Agra. Arrive & transfer to the hotel for Overnight stay in Agra. <br />
</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> Agra Sightseeing
										</p>
										<p class="aj">Have a breakfast at the hotel, Morning tour of Agra city where you can see the magnificent Taj Mahal and many other historical sites of Agra & <br />
Visit Agra fort, Tomb of Itmad ud Daula known as Baby Taj. ------- <br />
Agra: Agra is a city in the north Indian state of Uttar Pradesh, some 200 km from the Indian capital city of Delhi. Agra has three UNESCO World Heritage sites, the Taj Mahal and the Agra Fort in the city and Fatehpur Sikri nearby. There are also many other buildings and tombs from Agra's days of glory as the capital of the Mughal Empire. The sites are some of the wonders of the world and no trip to India is complete without at least one visit to the Taj. The earliest reference to Agra is in the ancient epic, the Mahabharata, while Ptolemy was the first person to call it by its modern name. Agra was the Mughal capital at one point.<br />
Old Fort: The fort is built alongside the Yamuna river and stretches almost 2.5 km. It consists of a wall built in red sandstone and several buildings inside. The wall has 2 gates, the Delhi Gate and the Amar Singh Gate.<br />
<br />
Tomb of Itmad-ud-Daula: Tomb of Itmad-ud-Daula which houses the magnificent mausoleum of Ghias Beg, father of the Mughal Empress Noor Jehan. The main tomb is made of pure white marble, with each façade composed of three arches with beautiful trellis screens, so delicately carved that they appear to be made of ivory.<br />
Explore local market and stay Overnight in the hotel.<br />
</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> Agra – Fatehpur Sikri – Jaipur (By Road/ 5-6 Hrs)
										</p>
										<p class="aj">Early morning visit to Taj Mahal, at the time of sun rise to see the beauty of fascinating Taj. Return to hotel, have relaxed breakfast. Thereafter proceed to Jaipur.<br />
<br />
Taj Mahal : The construction of Taj Mahal started in the year 1631 and it took approximately 22 years to build it. An epitome of love, it made use of the services of 22,000 laborers and 1,000 elephants. It was built entirely out of white marble, which was brought in from all over India and central Asia. After an expenditure of approximately 32 million rupees (approx US $68000), Taj Mahal was finally completed in the year 1653.Built By: Shah Jahan; Dedicated to: Mumtaz Mahal (Arjumand Bano Begum), the wife of Shah Jahan; Location: Agra (Uttar Pradesh); Building Type: Islamic tomb; Architecture: Islamic; Highlights: One of the Seven Wonders of the World; A UNESCO World Heritage site.<br />
After Breakfast, Drive to Jaipur by road, En route visit to Fatehpur Sikri----<br />
Buland Darwaja (Fatehpur Sikri): Buland Darwaza is a 15-storied high gateway that guards the Northeastern entrance of the city of Fatehpur Sikri. The intimidating structure stands 43 meters or 140 feet on the pedestal and a cool 54 feet above the ground. The gateway is approached by a steep flight of 42 steps, which add height and majesty to the entire structure. Buland Darwaza that is counted as one of the tallest gateways in the world is almost entirely made out of the red-sandstone with a generous dose of marble decoration on it. The blend of Hindu and Persian architecture is very evident by the use of Quranic inscription on the front and pillar and Cenotaph on the heights of the gateway. The calligraphy work done on the inner façade of Buland Darwaza has very less parallels in India.<br />
Continue your drive to Jaipur. Upon arrival in Jaipur, TRAVELOGY INDIA’ representative will assist to transfer you to the designated hotel. Freshen up and Visit, Enjoy traditional rajasthani dinner with folk music dance in Chokhi Dhani.<br />
<br />
Jaipur: Jaipur has been laid according to the conventional nine-grid pattern that astrologers believe to be lucky, and which has been recommended in the ancient Indian treatise on architecture. Jaipur has much to offer visitors — everything from pageants and festivals to extraordinarily clad people, a wealth of handicrafts, a royal legacy of palaces, and sightseeing — that will occupy their time. However, should the visitors simply choose to walk around the streets of the old city instead, they will not regret it. All of Jaipur is an architectural gem, and no scheduled sightseeing can even hope to do justice to this rare city.<br />
Chokhi Dhani - A five star ethnic village resort to visit "village area" - for traditional Rajasthani dinner and witness number of cultural activities, traditional dance, folk music, magic show, Village marriage procession Puppet/magic show camel/elephant ride, bullock cart and at last witness the local martial arts with swords, fire dance performed by local artists along with various other activities in the traditional village ambience followed by Rajasthani dinner.<br />
Enjoy an overnight stay at the hotel in Jaipur.<br />
</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> Jaipur City Sightseeing
										</p>
										<p class="aj">After breakfast at the hotel proceeds to Jaipur city tour and take an excursion to Amber Fort. Enjoy Elephant Ride ascent to the fort & Visit to the Jal Mahal, Hawa Mahal, Janter Manter, City Palace & Local busy markets for shopping, etc.<br />
<br />
Amber Fort Palace - Amber is the classic romantic Rajasthani fort palace. Its construction was started by Man Singh I in 1592, and completed by his descendent Jai Singh I. Its forbidding exterior belies an inner paradise where a beautiful fusion of Mughal and Hindu styles finds its ultimate expression.<br />
Jal Mahal: Amidst the shimmering green waters of Man Sagar Lake, this architectural prodigy poses as a gigantic iceberg, ready to knock another Titanic, off its pedestals. Built as a pleasure palace for the imperial family, the palace is known for its magnificent architecture and erudite design. During winter months one can see large number of migratory birds at the lake. Flanked by Nahargarh Hills on all sides, the palace was once used for regal duck shooting parties. With first four floors inside water, the majestic palace stands tall with its top floor outside the water arena. <br />
Hawa Mahal - The ornamental facade of this "Palace of Winds" is a prominent landmark in Jaipur. Their five-storey structures of sandstone plastered pink encrusted with fine trelliswork and elaborate balconies. The palace has 953 niches and windows. Built in 1799 by Pratap Singh, the Mahal was a royal grandstand for the palace women. <br />
Jantar Mantar - This is the largest and the best preserved of the five observatories built by Jai Singh II in different parts of the country. This observatory consisting of outsized astronomical instruments is still in use. <br />
City Palace - A delightful blend of Mughal and traditional Rajasthani architecture, the City Palace sprawls over one-seventh of the area in the walled city. It houses the Chandra Mahal, Shri Govind Dev Temple and the City Palace Museum.<br />
<br />
Enjoy an overnight stay at the hotel 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 10:</b> Jaipur - Delhi (By Road / 5-6hrs) / Home (By Air)
										</p>
										<p class="aj">Have a breakfast at the hotel, drive to Delhi by road, Upon arrival at New Delhi, Azaan Travels ’ representative will assist to transfer to the airport for board flight for your home /onward destination. Tour & Services End.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																			</ul>
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>Policy Regarding Cancellation / No Show / Early Departure</li>
</ul>

<p>In the event of cancellation of travel arrangements due to any reasons - we must be notified of the same in writing. Cancellation charges will be effective from the time/date we receive your intimation in writing. Cancellation charges would be as follows:

<ul>
	<li>120 days prior to arrival - 5% of the Tour + Actual service cost (like train tickets etc.)</li>
	<li>120 - 61 days prior to arrival - 10% of the Tour + Actual service cost</li>
	<li>60 - 31 days prior to arrival - 25% of the Tour + Actual service cost</li>
	<li>30 - 16 days prior to arrival - 40% of the Tour + Actual service cost</li>
	<li>15 - 07 days prior to arrival - 60% of the tour + Actual service cost.</li>
	<li>06 days - 72 hours prior to arrival - 75% of the tour + Actual service cost.</li>
	<li>Less than 72hours or No Show - No Refund</li>
</ul>

<p> 

<ul>
	<li>Please note - Irrespective of above mentioned cancellations slabs - incase of cancellation of tour services after the booking is made with us - a minimum 10% service charges would be applicable.</li>
	<li>In case of special train journey (like Palace on Wheels, Deccan Odyssey, Royal Orient etc.) and high peak season bookings (from 20th Dec to 15th Jan) a separate cancellation policy is applicable (which would be advised as and when required).</li>
	<li>In case you cancel the trip after commencement refund would be restricted to a limited amount that too would depend on the amount that we would be able to recover from the hoteliers we patronize. For unused hotel accommodation, chartered transportation and missed meals etc. we do not bear any responsibility to refund.</li>
	<li>In case of Special Trains Journeys and/or peak season hotel bookings, a separate cancellation policy is applicable which we shall advise you as and when Applicable. In case you cancel the trip after commencement, refund would be restricted to a limited amount, which too would depend on the amount that we would be able to recover from our suppliers of services i.e hotels/transporters etc.</li>
	<li>For unused hotel accommodation, chartered transportation &amp; missed meals, guide services etc. there will be no refund.</li>
</ul>

<p>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) 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="36227"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(31)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-mandawa.htm" title="Packages in Mandawa">Mandawa</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-fatehpur-sikri.htm" title="Packages in Fatehpur Sikri">Fatehpur Sikri</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-ranakpur.htm" title="Packages in Ranakpur">Ranakpur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-jhansi.htm" title="Packages in Jhansi">Jhansi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-chhatarpur.htm" title="Packages in Chhatarpur">Chhatarpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-khajuraho.htm" title="Packages in Khajuraho">Khajuraho</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-bodh-gaya.htm" title="Packages in Bodhgaya">Bodhgaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-gajner.htm" title="Packages in Gajner">Gajner</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-deogarh.htm" title="Packages in Deogarh">Deogarh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-katra.htm" title="Packages in Katra">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-lucknow.htm" title="Packages in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-patna.htm" title="Packages in Patna">Patna</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(36)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(5)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Jaipur, Agra, Varanasi, Khajuraho</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/5-days-private-golden-triangle-guided-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/284715.jpg"  alt="5 Days Private Golden Triangle Guided Tour" title="5 Days Private Golden Triangle Guided Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/5-days-private-golden-triangle-guided-tour.htm" title="5 Days Private Golden Triangle Guided Tour"><h3>5 Days Private Golden Triangle Guided Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra</p>
															<div class="mt10px small">
							<form name="pkg_184862" id="pkg_184862" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/5-days-private-golden-triangle-guided-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="5 Days Private Golden Triangle Guided Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="184862"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/day-tripto-taj-mahal-and-agra-from-delhiby-car-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/284731.jpg"  alt="Day Trip to Taj Mahal and Agra from Delhi By Car Tour" title="Day Trip to Taj Mahal and Agra from Delhi By Car Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/day-tripto-taj-mahal-and-agra-from-delhiby-car-tour.htm" title="Day Trip to Taj Mahal and Agra from Delhi By Car Tour"><h3>Day Trip To Taj Mahal And Agra From Delhi ..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Agra</p>
															<div class="mt10px small">
							<form name="pkg_184863" id="pkg_184863" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/day-tripto-taj-mahal-and-agra-from-delhiby-car-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Day Trip to Taj Mahal and Agra from Delhi By Car Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="184863"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/jannate-kashmir-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/114479.jpg"  alt="Jannat E Kashmir Tour" title="Jannat E Kashmir Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/jannate-kashmir-tour.htm" title="Jannat E Kashmir Tour"><h3>Jannat E Kashmir Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jammu, Katra, Srinagar, Pahal..</p>
															<div class="mt10px small">
							<form name="pkg_60937" id="pkg_60937" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/jannate-kashmir-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Jannat E Kashmir Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="60937"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/magnificent-rajasthan-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/115078.jpg"  alt="Magnificent Rajasthan Tour" title="Magnificent Rajasthan Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/magnificent-rajasthan-tour.htm" title="Magnificent Rajasthan Tour"><h3>Magnificent Rajasthan Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bikaner, Jaipur, Jaisalmer, Jodhpur</p>
															<div class="mt10px small">
							<form name="pkg_61375" id="pkg_61375" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/magnificent-rajasthan-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Magnificent Rajasthan Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="61375"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/unforgettable-momentsin-himachal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/114481.jpg"  alt="Unforgettable Moments In Himachal Tour" title="Unforgettable Moments In Himachal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/unforgettable-momentsin-himachal-tour.htm" title="Unforgettable Moments In Himachal Tour"><h3>Unforgettable Moments In Himachal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Chandigarh City, New Delhi, Manali, Shim..</p>
															<div class="mt10px small">
							<form name="pkg_60939" id="pkg_60939" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/unforgettable-momentsin-himachal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Unforgettable Moments In Himachal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="60939"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azaantravels.in/tour-packages/agra-taj-mahal-with-ganges-tourby-car.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/115100.jpg"  alt="Agra Taj Mahal With Ganges Tour By Car" title="Agra Taj Mahal With Ganges Tour By Car"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azaantravels.in/tour-packages/agra-taj-mahal-with-ganges-tourby-car.htm" title="Agra Taj Mahal With Ganges Tour By Car"><h3>Agra Taj Mahal With Ganges Tour By Car</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra, Varanasi</p>
															<div class="mt10px small">
							<form name="pkg_61392" id="pkg_61392" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azaantravels.in/tour-packages/agra-taj-mahal-with-ganges-tourby-car.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Agra Taj Mahal With Ganges Tour By Car - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="61392"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:117:"Book Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour - 9 Nights / 10 Days Tour Packages";i:2;s:207:"book taj mahal (golden triangle) & khajuraho (temples) with varanasi (ganges) tour - 9 nights / 10 days tour packages, lakes & rivers tour packages, new delhi, jaipur, agra, varanasi, khajuraho tour packages";i:3;s:237:"Azaan Travels offers Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour - 9 Nights / 10 Days tour package, budget Lakes & Rivers tour packages for New Delhi, Jaipur, Agra, Varanasi, Khajuraho at exciting price.";i:4;s:576:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Agra, Varanasi, Khajuraho"        
		                 },
		      "description": "Best Suited
All, Budget, Families, Groups, Honeymoon, Kids, Luxury, Solo travelers",
		      "name": "Taj Mahal (Golden Triangle) & Khajuraho (Temples) With Varanasi (Ganges) Tour",
		      "telephone": "+91-9897916035"
		    }
		    </script>
			";i:5;N;}