a:6:{i:0;s:13578:"				<div class="h1"><h1>The Buddha Trail Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>The Buddha Trail 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Agra, Lucknow, Varanasi, Bodhgaya, Patna, Rajgir, Vaishali, Kushinagar, Lumbini, Sarvasti</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="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Buddha Trail 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="69386"/>
						</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_9/257644/126023.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/126023.jpg"  width="150" height="150"    alt="The Buddha Trail Tour" title="The Buddha Trail 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> Arrive Delhi
								</p>
								<p class="aj">Arrive in Delhi, by late evening. Upon arrival meet our representative who'll escort you to one of our listed hotels. Spend night at the 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 2:</b> Delhi - Agra
								</p>
								<p class="aj">Morning starts with the city sightseeing tour to New and Old Delhi including major attractions like Jama Masjid, India Gate, Parliament House, Humayun Tomb, Red Fort, Gandhi memorial, and Qutab Minar. After the city tour of Delhi, drive to Agra. Stop midway to visit Sikandra. The Sikandra city is frequented by tourists to visit the popular tomb of Akbar. After the visit, start over for Agra again. Upon reaching Agra, get accommodated at one of our listed hotels for a lavish dinner and a comfortable 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 3:</b> Agra-Varanasi
								</p>
								<p class="aj">Next morning after breakfast, embark on an excursion to sightseeing tour of Agra. The major tourist attractions of Agra include Agra Fort, Tomb of Itmad-ud- Daulah. Mehtab Bagh, Ram Bagh, Chini Ka Rauza and Guru Ka Tal. After Lunch move out to visit the Taj Mahal, the epitome of Love. The beautiful Taj Mahal is the seventh wonder of the world and was commissioned by the Mughal emperor Saha Jahan in memory of his beloved wife Mumtaz Mahal. After exploring the Taj Mahal, transfer to the Agra Fort railway station to board the an overnight train to Varanasi.</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
								</p>
								<p class="aj">In the morning the train chugs into the Varanasi Cantonment Station. Disembark from the train to meet our representative who'll escort you to one of our listed hotels. Rest and relax for a while in the cozy comfort of its room. Later in the day move out of the hotel for a sightseeing tour of Varanasi. The major tourist attractions of Varanasi include Niranjana River, Mahabodhi Temple and Sujata Village. Spend the evening at leisure. Enjoy a sumptuous dinner and comfortable overnight stay at the 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 5:</b> Varanasi - Bodhgaya
								</p>
								<p class="aj">On the following day after breakfast, move out of the hotel to reach Bodhgaya. It is one of the most important and sacred Buddhist pilgrimage center in the world. As you reach Bodhgaya, check-in at one of our listed hotels. Rest and relax for a while in the cozy comfort of its room. Later set off for a sightseeing tour of Bodhgaya. The major tourist attractions of Bodhgaya include Mahabodhi temple, Bodhi tree and the Vishnupad Mandir. In the evening visit Chankramana and Ratnagarh. After the visit return to the hotel for dinner and 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 6:</b> Bodhgaya
								</p>
								<p class="aj">Post breakfast, move out of the hotel to enjoy a guided tour to Bodhgaya. The other major tourist attractions scheduled for the day include Brahm Yoni, Chinese Temple & Monastery, 80 ft Statue of the Buddha, International Buddhist House and Japanese Temple, Rajayatana, Thai Temple & Monastery, Tibetan Monastery, Lotus Tank, Buddha Kund, Burmese Temple, Buddhist Monastery of Bhutan, Archaeological Museum. In the evening return to the hotel for dinner and 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 7:</b> Bodhgaya - Rajgir - Patna
								</p>
								<p class="aj">Relish breakfast at the hotel, leave for Patna. Along the way visit Rajgiri for the sightseeing. Then start again for Patna. Upon reaching Patna, check-in at one of our listed hotels. Enjoy a sightseeing tour of Patna. The major tourist hotspots of Patna include Golghar, Takht Sri Patna Sahib, Sanjay Gandhi Jaivik Udyan, Mahavir Mandir and the Patna Museum. In the evening after enjoying a sumptuous dinner, retire for the night in the 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 8:</b> Patna - Vaishali - Kushinagar
								</p>
								<p class="aj">After breakfast, drive towards Kushinagar on the way visit Vaishali. It is a small village surrounded by banana and mango groves as well as rice fields. Explore Vaishali for its major tourist attractions like Ashokan Pillar, Bawan Pokhar Temple, Budha Stupa-I & II, Abhiskek Pushkarn, Kundalpur and the Shanti Stupa. After the visit continue driving to Kushinagar. It is the place where Buddha finally attained Mahaparmirvana. After check-in at one of our listed hotels, head to a guided tour of Kushinagar covering major tourist attractions like Sun temple, Kushinagar Museum, Mahaparinirvana Temple. After the sightseeing return to the hotel for dinner and Retire for the night in the 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 9:</b> Kushinagar - Lumbini
								</p>
								<p class="aj">Next morning after breakfast drive straight to Lumbini, the birthplace of Buddha. On reaching Lumbini, check-in at one of our listed hotels. The major tourist attractions of Lumbini include the holy temple of Maya Devi, Lumbini Grove, Rummendei pillar, Dharmaswami Maharaja Buddha Vihara. In the evening drive to visit Kapilvastu. After the visit return to the hotel for dinner and an 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 10:</b> Lumbini - Sarvasti
								</p>
								<p class="aj">In the morning after breakfast, drive straight to Sarvasti. On reaching Sarvasti check-in at the hotel. After resting for a while move out to visit the Jetavana Monastery is an ancient monastery that was located near Sravasti. The remains of Lord Buddha's hut can be seen at the monastery. The other major tourist attractions of the area are the Jain temple, Ananthapindika Stupa and the Agulimala Stupa. After the visit return to the hotel to take some rest. Retire for the night at the hotel after enjoying a sumptuous dinner and 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> Sravasti - Lucknow - Delhi
									</p>
									<p class="aj">In the morning after breakfast drive straight to Lucknow. On reaching Lucknow, transfer to Lucknow airport to board a flight to Delhi. On reaching Delhi airport board a connecting flight for the onward destination.</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="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Buddha Trail 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="69386"/>
						</form>
						</div>
						
						";i:1;s:51:"Book The Buddha Trail Tour - 111 Days Tour Packages";i:2;s:205:"book the buddha trail tour - 111 days tour packages, religious & pilgrimage tour packages, new delhi, agra, lucknow, varanasi, bodhgaya, patna, rajgir, vaishali, kushinagar, lumbini, sarvasti tour packages";i:3;s:249:"Grand India Tours & Travels offers The Buddha Trail Tour - 111 Days tour package, budget Religious & Pilgrimage tour packages for New Delhi, Agra, Lucknow, Varanasi, Bodhgaya, Patna, Rajgir, Vaishali, Kushinagar, Lumbini, Sarvasti at exciting price.";i:4;s:493:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Agra, Lucknow, Varanasi, Bodhgaya, Patna, Rajgir, Vaishali, Kushinagar, Lumbini, Sarvasti"        
		                 },
		      "description": "",
		      "name": "The Buddha Trail Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}