a:6:{i:0;s:42800:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Mahaprabhuji Vallabhacharya Bethak Ji Pilgrimage Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.travelsupportindia.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelsupportindia.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Mahaprabhuji Vallabhacharya Bethak Ji Pilgrimage Tour</p>
						</div>
						</div>
						</section>
										<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="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/106336.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/106336.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/106336.jpg"  alt="Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour" title="Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour</p>
					
											<p class="mb5px"><b>Tour Code :</b> TS-PUSHTIMARG PILGRI</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Allahabad, Lucknow, Mirzapur, Varanasi, Ayodhya</p>
												<p class="mb5px"><b>Attractions :</b> Vishwanath Temple</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="50619"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Chaurasi Bethak, Literally Meaning "84 Seats", Refers To The 84 Places Where Vallabhacharya, A Devotional Philosopher, Gave Discourse Of Bhagavata In The 15Th Century. This Forms One Of The Very Important Concepts In The Pushtimarg Tradition Of Vaishnavites In India, And These Places Are Treated As Sacred Sites By The Followers Of This Sect, For Performing Devotional Rituals.<br />
<br />
This Packages Includes The Baithakji Pilgrimage In Eastern Uttar Pradesh. Visiting The Below Baithaji And Temples.<br />
<br />
1. Kashi- A. Baithak At Jatanvad. B.Baithak At Hanuman Ghat. C.Baithak At Panchganga. Gopal Mandir Temple, Kashi Vishwanath Temple, Annapurna Temple.<br />
<br />
2. Chunar- A. Charnat Baithakji.<br />
3. Allahabad- A. Adel Baithaji.<br />
4. Ayodhaya- A. Ayodhaya Baithakji B. Temples Of Ayodhaya.<br />
5. Shree Naimisharanya Baithakji.Meals: Breakfast, Lunch, Dinner.<br />
Monument Entrance<br />
Guide<br />
Any other expenses apart from Room, and Transport services.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Varanasi Arrival										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Arrival in Varanasi, Later proceed to Hotel.<br />
As per timings visit to the Baithakji and Temples.<br />
<br />
Baithak at Jatanvad:- Shri Mahaprabhu Vallabhacharya stayed at the house of Purushttamdas and celebrated Lord Krishna’s appearance day. During the festivities, Krishna’s parents and friends all appeared. Everyond present had this divine vision and Shiva joined in the celebrations.<br />
<br />
Baithak at Hanuman Ghat:- At the Hanuman Ghat by the Ganges river, Shri Mahaprabhu Vallabhachrya stayed after he took sanyas, the highest order of renunciation. He live for one month on a stone completely silent without eating or drinking anything.<br />
<br />
Baithak at Panchganga:-This baithakji is the vivah sthal of shree Vallabhacharya Mahaprabhuji, the founder of Pushtimarg and Shuddhadvaita Siddhant.<br />
<br />
Gopal Mandir:-During the early Mughal period the leading poet saint of Krishna devotion was Vallabhacharya (1479-1531), who at the age of 11 years came to Kashi for study. Later after completing pilgrimage to all the important sacred places in India, he finally settled down in Varanasi. While living in Varanasi at Jatanbar he propounded the philosophy of Shuddhadvaita, and wrote about 84 books. He was married in 1504, and his son Vitthalanatha was born in 1515 in Kashi. Vallabhacharya built a small temple of Krishna, which was renovated and expanded in 1730 by one of the great saints of the same line, Sri Gopal-Ji. The present structure of the temple was built in 1777 and named Gopala Mandir. Lying in Chaukhambha area, the Gopala Mandir is the patron seat of the Vallabha group of follower<br />
<br />
Kashi Vishwanath Temple															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Varanasi to Chunar and to Allahabad.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Varanasi to Chunar- 40 KMS- Visit to the Baithakji<br />
Chunar Baithak ji:-At Charanat Shri Mahaprabhu Vallabhacharya stayed in a abower and conducted a saptah. Six miles away from where he was staying a Brahmin hermit who had daily recited the Vishunsahastranam, The Thousand Names of the Lord for the last twelve ;years. One day he found a Krishna Deity in the Ganges river and the Lord told him that because he was a hermit he would not be able to properly serve Him and but because the hermit offered the Lord ;milk, He agreed to stay with the Brahmin for one month. On the night before the birth of Shri Mahaprabhu Vallabhacharya’s second son, Shri Vitthalnath Gusianji, the Deity told the Brahmin to take Him to Shri Mahaprabhu Vallabhacharya explaining, You will find him sitting by a lake. Explain to him that it is my wish that I remain there with him. Then I will be very pleased with you. <br />
Arriving before the guru, the Brahmin humbly bowed and submitted, I am a simple man of no learning but this Deity has informed me to bring Him to you. Glad to receive the Deity, Shri Mahaprabhuji blessed him. The following day in late December in the year 1519 AD Shri Mahaprabhuji’s second son Shri Vitthalnathji was borm. The poet Gopaldas sings of that appearance, <br />
On a late december mid-day the Lord showered his blessing in Akkaji’s heart {Vitthalnathji mother} by appearing as the moon of Vrindavan. <br />
Many other poets have sung about that great event. After his appearance, Lord Krishna’s parents and friends all divinely appeared to celebrate the occasion. The Lord had a golden jewelled palace made for the celebrations and musicians played sweetly at the door. Toys of silver and gold were presented to the divine child and the Gopi Chandravali made the infant tilak. Shri Radha gave the child earrings to wear and composed many poems suitable for the occasion by using saffron and a lotus stem. Shri Vitthalnathji was swung in a jewelled studded cradle and everyone rocked the child. It was like the appearance celebrations of Lord Krishna. The serpent god Shesha appear with his thousand hoods to provide shade and Brahma the Creator came to recite the vedas while Shiva danced and was accompanied by millions of deities playing instruments and showering flowers. Celestial nymphs and musicians danced and played instruments. The place was grace by the presence of the great sages Shri Vyasa, Shri Sukadeva as well as by eight thousand other sages. Flags and banners waved while milk and curd were thrown in celebration. The eight supernatural powers and the nine riches also personally appeared. Everyone was completely lost in the aupiciousness of that divine hour. One poet sings of that divine day. <br />
In groups they came to the house of Vallabh <br />
To celebrate the coming of the beautiful Braja child. <br />
In group they celebrated the divine appearance <br />
Of Shri Vallabh’s son Shri Vitthalanthji. <br />
His appearance has made the town of Gokul very happy. <br />
Shri Mahaprabhu Vallabhacharya bathed and then gave gifts of jewels, chariots etc to all present. Shri Garga Acharya came to bless the child and predicted, This child will accomplish everything, he will have two wives and seven sons and his lineage will be made up of the Lord’s incarnation.s he will defeat the Mayavadians and uplift many divine souls. He will purify the world and accomplish more things than a thousand mouths can praise. <br />
After speaking those word, Garga Acharya left and all the other divine beings present there bowed and returned to their respective spheres. Shri Mahaprabhu Vallabhacharya gazing at his son knew he was the Lord Himself. A bhakta sang, splendor has spread in the four direction. <br />
When Swhri Mahaprabhuji looked upon his son <br />
He laughs with joy. <br />
They both laughed and control my heart. <br />
His tilak is made of musk. <br />
The glory of that scene goes beyond all explanation. <br />
The concealed divine nectar of grace was forced to make its appearance. <br />
Later, the lovers of Shri Krishna appeared and rocked the child. Shri Vitthalnathji tilak was made and bessing showered. The residents of Braja said that he would lie at the town of Shri Gokul and his greatness would grow day by day. All the residents of the divine abode then returned and that transcendental vision suddenly vanished. Only then did all present regain their their worldly consciousness. Here, Shri Mahaprabhuji fulfillled the divine wishes of the great devotees. <br />
<br />
Later in evening proceed to Allahabad. Approx 110 Kms from chunar. Overnight Allahabad.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Allahabad to Adel and later to Ayodhaya (Faizabad)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning visit to Adel Baithakji<br />
Baithak at Adel:- This seat of Gusianji is at Adel, where Gusainji spent his childhood, Here Mahadevji came to play with Gusainji. He would play Musical Instruments & dance. Seeing this Gusainji would be very happy. & Gusainji nearest Vaishnavas would also play with him and Gusainji with his divine eyes would bless them.<br />
<br />
Later proceed to Ayodhaya (Faizabad) Overnight Stay in Faizabad Hotel.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Ayodhaya - Lucknow										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning Visit to Baithakji<br />
Baithak at Ayodhyaramghat:-At Ayoudhy on the bands of the Sarji river, at Gossainji ghat, Shri Mahaprabhu Vallabhachrya spoke the Bhagavata. Once while he was wandering in that area, he found someone speaking the Ramayan with Hanuman listening. Later, Hanuman approachec Mahaprabhuji and asked, Beign a devotee of Shri Krishna, what has brought you her to the land of Shri Rama. <br />
Shri Manaprabhuji replied, I am visiting the home of Krishna’s inlaws. <br />
Hanuman questioned, How is that possible? <br />
Shri Mahaprabhuji replied, Agnijet was the king of Ayodhya. Once he proclaimed that the person who could tame his sever fierce bulls couls have his daughter Satya’s hand. Kwishna suceeded in taming the bull and took her to wife, therefore, Shri Ram and Lord Krishna are related. <br />
Shri Mahaprabhuji then told Hanuman, you should not listen to holy discourse in a nude state. From that day Hanuman always wore some clothing. Later, Shri Mahabpabhuji met with Lord Rama and mentioned during their talks that Shri Rama was the Godheac governed by law. Hanuman hearing this doubted its validity. Ram, knowing of Hanuman’s doubt told him to bring Shri Mahaprabhuji some foodstuffs. When Hanuman present him the offereing he saw as Lord Ram. When he reported this amazing even t Shri Ram, the Lord said, Shri Mahaprabhuji Vallabhacharya can take my form, but I cannot take his. <br />
The reason for this is that Ram is the laugh avatar of Krishna while Shri Mahaprabhuji is Shri Krishna’s entire faces therefore, Shri Ram is only a partial manifestation, while Shri Mahaprabhuji is a complete manifestation of Krishna. <br />
<br />
Temples of Ayodhaya.<br />
<br />
Later Proceed to Lucknow- 135 KMS- 3 HRS. Overnight Lucknow Hotel			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Lucknow - Naimisharanya - Lucknow										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning After breakfast proceed to Shri Naimisharanya Baithakji.<br />
Shree Naimisharanya Baithakji-Here by the Gomati lake, under a tree, Shri Mahaprabhu Vallabhacharya spoke the Bhagavatam for seven days.<br />
Visit Other Temples at Naimisharanya.<br />
<br />
Later back to Lucknow-88 Kms.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Lucknow to Next Destination										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning Departure to Airport/Railway Station to Catch Train or Flight for next destination.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Transport</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Meals: Breakfast, Lunch, Dinner.</li><li>
Monument Entrance</li><li>
Guide</li><li>
Any other expenses apart from Room, and Transport services.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>* 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.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage 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="50619"/>
						</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.travelsupportindia.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(30)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-allahabad.htm" title="Packages in Allahabad">Allahabad</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-lucknow.htm" title="Packages in Lucknow">Lucknow</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-gaya.htm" title="Packages in Gaya">Gaya</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-kushinagar.htm" title="Packages in Kushinagar">Kushinagar</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-patna.htm" title="Packages in Patna">Patna</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-sravasti.htm" title="Packages in Sravasti">Sravasti</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/packages-in-ayodhya.htm" title="Packages in Ayodhya">Ayodhya</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelsupportindia.com/packages-in-rajgir.htm" title="Packages in Rajgir">Rajgir</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelsupportindia.com/packages-in-nalanda.htm" title="Packages in Nalanda">Nalanda</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travelsupportindia.com/packages-in-vaishali.htm" title="Packages in Vaishali">Vaishali</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.travelsupportindia.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</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.travelsupportindia.com/packages-in-bodh-gaya.htm" title="Packages in Bodhgaya">Bodhgaya</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.travelsupportindia.com/packages-in-sarnath.htm" title="Packages in Sarnath">Sarnath</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.travelsupportindia.com/packages-in-lumbini.htm" title="Packages in Lumbini">Lumbini</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.travelsupportindia.com/packages-in-jhansi.htm" title="Packages in Jhansi">Jhansi</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.travelsupportindia.com/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.travelsupportindia.com/packages-in-faizabad.htm" title="Packages in Faizabad">Faizabad</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.travelsupportindia.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.travelsupportindia.com/packages-in-mirzapur.htm" title="Packages in Mirzapur">Mirzapur</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.travelsupportindia.com/packages-in-aurangabad.htm" title="Packages in Aurangabad">Aurangabad</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.travelsupportindia.com/packages-in-fatehpur-sikri.htm" title="Packages in Fatehpur Sikri">Fatehpur Sikri</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.travelsupportindia.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.travelsupportindia.com/packages-in-vijayawada.htm" title="Packages in Vijayawada">Vijayawada</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.travelsupportindia.com/packages-in-tikamgarh.htm" title="Packages in Tikamgarh">Tikamgarh</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.travelsupportindia.com/packages-in-mandawa.htm" title="Packages in Mandawa">Mandawa</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.travelsupportindia.com/packages-in-guntur.htm" title="Packages in Guntur">Guntur</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.travelsupportindia.com/packages-in-gonda.htm" title="Packages in Gonda">Gonda</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.travelsupportindia.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(28)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travelsupportindia.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</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 Allahabad, Lucknow, Mirzapur, Varanasi, Ayodhya</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.travelsupportindia.com/tour-packages/varanasi-gaya-allahabad-chitrakoot-ayodhya-lucknow-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/122031.jpg"  alt="Varanasi - Gaya - Allahabad - Chitrakoot - Ayodhya - Lucknow Tour" title="Varanasi - Gaya - Allahabad - Chitrakoot - Ayodhya - Lucknow Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/varanasi-gaya-allahabad-chitrakoot-ayodhya-lucknow-tour.htm" title="Varanasi - Gaya - Allahabad - Chitrakoot - Ayodhya - Lucknow Tour"><h3>Varanasi - Gaya - Allahabad - Chitrakoot -..</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> :  Allahabad, Lucknow, Varanasi, Gaya, Ayod..</p>
															<div class="mt10px small">
							<form name="pkg_55395" id="pkg_55395" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/varanasi-gaya-allahabad-chitrakoot-ayodhya-lucknow-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Varanasi - Gaya - Allahabad - Chitrakoot - Ayodhya - Lucknow 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="55395"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travelsupportindia.com/tour-packages/kashi-prayag-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/122045.jpg"  alt="Kashi Prayag Tour" title="Kashi Prayag Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/kashi-prayag-tour.htm" title="Kashi Prayag Tour"><h3>Kashi Prayag 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> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Allahabad, Varanasi, Sarnath</p>
															<div class="mt10px small">
							<form name="pkg_7341" id="pkg_7341" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/kashi-prayag-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kashi Prayag 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="7341"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travelsupportindia.com/tour-packages/buddha-pilgrimage-with-taj-mahal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/113892.jpg"  alt="Bodhgaya" title="Bodhgaya"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/buddha-pilgrimage-with-taj-mahal-tour.htm" title="Buddha Pilgrimage With Taj Mahal Tour"><h3>Buddha Pilgrimage With Taj Mahal 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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Agra, Lucknow, Sravasti, Vara..</p>
															<div class="mt10px small">
							<form name="pkg_50592" id="pkg_50592" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/buddha-pilgrimage-with-taj-mahal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Buddha Pilgrimage With Taj Mahal 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="50592"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travelsupportindia.com/tour-packages/shradh-and-pind-daan-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/27964.jpg"  alt="Shradh and Pind Daan Package" title="Shradh and Pind Daan Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/shradh-and-pind-daan-package.htm" title="Shradh and Pind Daan Package"><h3>Shradh And Pind Daan Package</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> :  Allahabad, Varanasi, Bodhgaya, Gaya, Ayo..</p>
															<div class="mt10px small">
							<form name="pkg_16768" id="pkg_16768" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/shradh-and-pind-daan-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Shradh and Pind Daan Package - 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="16768"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travelsupportindia.com/tour-packages/uttar-pradesh-jain-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/113886.jpg"  alt="Uttar Pradesh Jain Tour" title="Uttar Pradesh Jain Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/uttar-pradesh-jain-tour.htm" title="Uttar Pradesh Jain Tour"><h3>Uttar Pradesh Jain 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> :  Allahabad, Varanasi, Ayodhya, Kushinagar..</p>
															<div class="mt10px small">
							<form name="pkg_60502" id="pkg_60502" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/uttar-pradesh-jain-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Uttar Pradesh Jain 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="60502"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travelsupportindia.com/tour-packages/heritage-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_1/7390/11452.jpg"  alt="Heritage Tour" title="Heritage Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travelsupportindia.com/tour-packages/heritage-tour.htm" title="Heritage Tour"><h3>Heritage 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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra, Jhansi, Varanas..</p>
															<div class="mt10px small">
							<form name="pkg_10406" id="pkg_10406" method="post" action="http://www.travelsupportindia.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travelsupportindia.com/tour-packages/heritage-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Heritage 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="10406"/>
							</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:92:"Book Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour - 5 Nights / 6 Days Tour Packages";i:2;s:193:"book mahaprabhuji vallabhacharya bethak ji pilgrimage tour - 5 nights / 6 days tour packages, religious & pilgrimage tour packages, allahabad, lucknow, mirzapur, varanasi, ayodhya tour packages";i:3;s:224:"Travel Support offers Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour - 5 Nights / 6 Days tour package, budget Religious & Pilgrimage tour packages for Allahabad, Lucknow, Mirzapur, Varanasi, Ayodhya at exciting price.";i:4;s:1404:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Allahabad, Lucknow, Mirzapur, Varanasi, Ayodhya"        
		                 },
		      "description": "Chaurasi Bethak, Literally Meaning "84 Seats", Refers To The 84 Places Where Vallabhacharya, A Devotional Philosopher, Gave Discourse Of Bhagavata In The 15Th Century. This Forms One Of The Very Important Concepts In The Pushtimarg Tradition Of Vaishnavites In India, And These Places Are Treated As Sacred Sites By The Followers Of This Sect, For Performing Devotional Rituals.

This Packages Includes The Baithakji Pilgrimage In Eastern Uttar Pradesh. Visiting The Below Baithaji And Temples.

1. Kashi- A. Baithak At Jatanvad. B.Baithak At Hanuman Ghat. C.Baithak At Panchganga. Gopal Mandir Temple, Kashi Vishwanath Temple, Annapurna Temple.

2. Chunar- A. Charnat Baithakji.
3. Allahabad- A. Adel Baithaji.
4. Ayodhaya- A. Ayodhaya Baithakji B. Temples Of Ayodhaya.
5. Shree Naimisharanya Baithakji.Meals: Breakfast, Lunch, Dinner.
Monument Entrance
Guide
Any other expenses apart from Room, and Transport services.",
		      "name": "Mahaprabhuji Vallabhacharya Bethak ji Pilgrimage Tour",
		      "telephone": "+91-9935070007"
		    }
		    </script>
			";i:5;N;}