a:6:{i:0;s:47959:"				<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>Tour of Ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.kanaiyatoursandtravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.kanaiyatoursandtravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Tour of Ahmedabad</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> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ahmedabad</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="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tour of Ahmedabad - 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="100979"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<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_14/401111/169583.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401111/169583.jpg"  width="150" height="150"    alt="Tour of Ahmedabad" title="Tour of Ahmedabad" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Ahmedabad - Udaipur
										</p>
										<p class="aj">Arrival in Ahmedabad and transfer to Udaipur 250 kms. Udaipur, the 'City of Sunrise'. On the banks of the shimmering lake Pichola, is one of the most romantic cities of Rajasthan. Nestled among the lush hills of the Aravali, it has inevitably been dubbed the 'Venice of the East'. It is a kaleidoscope of fairy-tale palaces, lakes, temples, gardens and narrow lanes strewn with stalls, carries the flavor of the heroic past, epitomizing valor and chivalry. Udaipur Founded in 1568 A.D by Maharana Udai Singh, the city is a harmonious Indian blend of whitewashed buildings, marble palaces, lakeside gardens, temples and Havelis.<br />
<br />
In the evening you will enjoy a leisurely boat ride on Lake Pichola with its main attractions the beautiful stretch of water surrounding the two marvelous structures the Jag Niwas and Jag Mandir, is the life line of Udaipur city. Lake Pichola is about 4 kms in length and 3 kms wide. Jagniwas was earlier the summer retreat of the prince of Mewar and now a five-star hotel Lake Palace. All the palaces in the city are constructed to have a magnificent reflection in this lake. This lake was created in the 15th century and widened later and a dam across was also created in that period. It was Maharana Udai Singh II who strengthened the Dam and widened the lake, as he was building his capital on the shore of the beautiful Lake. The lake was surrounded by many exquisite palaces, temples, hilly terrains, bathing ghats and many gardens. The city palace extends along the eastern shore of the lake and you can go for a boat ride from Bansi Ghat. (Subject to water level in the lake).<br />
<br />
Over night stay at your 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> Udaipur
										</p>
										<p class="aj">Enjoy your breakfast this morning at the hotel, and proceed for a tour of Udaipur, Visit Jagdish Temple, and Built in 1651 A.D. by Maharana Jagat Singh, this Indo-Aryan Temple is dedicated to Lord Jagannath, a manifestation of Vishnu. The largest and the most beautiful temple of Udaipur, it is always seething with constant activity and noted for its beautiful sculpted images and towering shikhara.<br />
<br />
Later Visit City Palace. 'Udaipur' fascinating City Palace is the largest royal complex in Rajasthan. Standing on a rocky promontory the palace has balconies, towers and cupolas and presents a wonderful view of the lake and the city. The complex has eleven constituent mahals (palaces), constructed by successive maharanas during the three hundred years that followed the foundation of Udaipur in 1559. Added to this, Crystal Gallery and Durbar Hall within the complex is spectacular. Explore them for their mosaics, miniatures, mirror work and motifs. SHALION KI BARI Later visit Saheli Ki Bari that is a small ornamental garden built in the honor of Royal Ladies for recreational purpose. Next is the visit to Bhartiya Lok Kala Museum. Bharatiya Lok Kala Mandir is home to an attractive collection of folk dresses, puppets, ornaments, dolls, masks, folk musical instruments, folk deities and paintings. The museum is the best place for those interested in puppetry. Short amusing puppet shows are staged throughout the day. In addition, the museum runs short courses in puppet making and theatre.<br />
<br />
Over night stay at your 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> Udaipur - Eklingji - Nagda - Nathdawara - Kankroli - Udaipur
										</p>
										<p class="aj">After breakfast drive to visit to Eklingji and Nagda. Drive 22 km through the Aravalli Hills to visit Eklingji temple. This beautiful white marble temple dating from AD 734is dedicated to Siva, the family diety of the Mewars. (Rulers of Udaipur) No photography is allowed. Continue onwards to the Drive a short while to visit the Nagda's cluster of temples that have intricate stone carvings and are in close proximity to a lotus pond. Today, Nagda remains famous for the ruins of three temples all that are left of this ancient city. One of the best ones is the 11th century twin Sas-bahu (Mother and Daughter-in-law) Temple.<br />
<br />
After visiting the both the places drive to Nathdwara. It is located in the Aravalli hills on the banks of the Banas River, 48 kilometers north-east of Udaipur This town is famous for its temple of Krishna which houses the idol of Shrinathji, a 14th century, The idol was originally worshipped at Mathura and was shifted in the 1672 from Govardhan Hills, near Mathura along holy river Yamuna after being retained at Agra for almost six months, in order to protect it. Literally, Nathdwara means 'Gateway to Shrinathji'. As per the religious myths, the shrine at Nathdwara was built in the 17th century at the spot as exactly ordained by Shrinathji himself. The idol of the Lord Krishna was being transferred to a safer place from Vrindaban to protect it from the anti-Hindu, When the idol reached the spot at village Sihad or Sinhad, the wheels of bullock cart in which the idol was being transported sank axle-deep in mud and could not be moved any farther. The accompanying priests realised that the particular place was the Lord's chosen spot and accordingly, a temple was built there under the rule and protection of the then Maharana Raj Singh of Mewar. Shrinathji Temple is also known as 'Haveli of Shrinathji'.Nathdwara town is also famous as the Apollo of Mewar. In the town of Nathdwara, Shrinathji temple is the centre of attraction, but the town is also famous for its 'pichhwai' paintings, (Large paintings on cloth depicting legends from the life of Lord Krishna ) handmade terracottas, ivory articles and milk-made sweets. During the times of Holi, Diwali and Janmashtmi, people throng in large numbers and the place gets overcrowded. Apart from festivals like Holi and Janmashtmi, Annakutta (Linked to Krishna lifting Govardhana Hill) is a major festival that is celebrated in the temple with full gusto and fervor.<br />
The idol of Lord Dwarikadhish was brought in 1671 A.D., during the rule of Maharana Raj Singh. The idol was placed in the present temple, which was constructed at the time of the inaugural ceremony of the Rajsamand Lake in 1676 A.D. Shri Bal Krishna ji, the grand son of Vallabhacharya, took the initiative to care for the deity. Dwarikadhish Temple has a very quiet and soothing ambience. It really carries away all the tensions at once and bestows a heavenly bliss. In the complex of the Temple, there is a small garden where you can sit and enjoy the beauty of nature.<br />
<br />
Return back to Udaipur. Over night stay at your 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 4:</b> Udaipur - Mount Abu
										</p>
										<p class="aj">After breakfast drive to Mount Abu. You'll drive through valleys in the remote and peaceful Aravalli Range to Mount Abu. In the Aravalli Hills of Rajasthan has a range of natural and cultural bounties which makes it an excellent destination. The biggest draw of this charming hill town is the famous Dilwara Temples, worth a visit for their outstanding architecture, intricate white marble carvings and elegant sculptures. This ancient temple complex captures the cultural heritage of the region in all its glory.<br />
Nakki Lake: Legend has it that this lake was carved out by the Gods. Set picturesquely amidst hills, it is the only artificial lake in India that is 1200 meters above sea level. The Nakki Lake, set amidst the misty hills, makes for a pretty picture with colorful tourist boats gliding past. Toad Rock, a uniquely-shaped rock, adds to the charm of the picturesque lake. The Natural beauty and breathtakingly beautiful temple architecture make this sightseeing tour in Mount Abu memorable.<br />
<br />
Over night stay at your 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> : Mount Abu - Ambaji - Ahmedabad
										</p>
										<p class="aj">Drive to Ahmedabad, enroute visiting Ambaji. Ambaji: 94 kms from Ahmedabad is one of the major Shakti-piths of India, situated in the Arasur hills. The Ambaji Temple contains no idol, but an inscribed Yantra in the niche. Ambaji is essentially a temple town-with a temple dedicated to Goddess Ambaji at the center. The Ambaji Temple and the front court 'Chachar no Chowk' are aligned in the same axis of the cave at Gabbar hill-the original abode of Goddess Ambaji. The present temple was constructed a few years ago, maintaining the original architectural style. Millions of piligrims visit the temple every year-especially during Navratri to seek the blessing of Goddess Ambaji.<br />
<br />
Over night stay at your 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 6:</b> Mount Abu - Ambaji
										</p>
										<p class="aj">Drive to Ahmedabad, enroute visiting Ambaji.<br />
<br />
Ambaji: 94 kms from Ahmedabad is one of the major Shakti-piths of India, situated in the Arasur hills. The Ambaji Temple contains no idol, but an inscribed Yantra in the niche. Ambaji is essentially a temple town-with a temple dedicated to Goddess Ambaji at the center. The Ambaji Temple and the front court 'Chachar no Chowk' are aligned in the same axis of the cave at Gabbar hill-the original abode of Goddess Ambaji. The present temple was constructed a few years ago, maintaining the original architectural style. Millions of piligrims visit the temple every year-especially during Navratri to seek the blessing of Goddess Ambaji.<br />
<br />
Over night stay at your 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 7:</b> Ahmedabad - Somnath
										</p>
										<p class="aj">Today, after breakfast, drive to Somnath.<br />
<br />
Somnath: One of the most revered and an important center of culture and nationalism. The legendary temple contains a 'jyotirlinga'. Looted and destroyed, built and rebuilt several times, it represents the eternal beauty and strength of the Indian society. The present splendid structure was rebuilt about five decades ago, at the exact spot where the original shrine was located. The iron man of India Sardar Vallabhbhai Patel was instrumental in the construction of the present temple. Overnight at Safari Hotel and Resort located at walking distance from Somnath temple near Veraval.<br />
<br />
Over night stay at your 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> Somnath - Dwarka
										</p>
										<p class="aj">Today morning after having the pleasure to attend the morning aarti at Somnath temple, drive to Dwarka.<br />
<br />
Dwarka: An ancient city, housing one of the principal pilgrimages - 'Dwarkadhish temple' of Hindus. According to the legend, Lord Krishna moved to this coastal town to set up a capital. Marine excavations of the Dwarka coast have revealed important evidences of ancient city, which probably include the 'Dwarawati' of the 'Krishna Lila'. Today, it is not only a major pilgrimage site but a pleasant spot for a beach holiday. Another popular place in Dwarka, part of the Dwarkadhish Temple is Sabha Mandap. It is a 60-pillared hall, which houses almost 2500 years old scriptures. The hall has 'jharokhas', offering a nice view of the nearby flowing Gomti River. Attend evening aarti at Dwarkadhish Temple.<br />
<br />
Over night stay at your 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> Dwarka - Bet Dwarka
										</p>
										<p class="aj">Today we visit Bet Dwarka and Nageshwar Temple.<br />
<br />
Bet Dwarka : Bet is situated at 30kms from Dwarka and is surrounded by sea from all sides. One can reach Bet from Dwarka through Okha by road. On reaching Okha port jetty, one can reach Bet through a little sea journey in a launch or in a small boat.<br />
<br />
Nageshwar Temple or Nagnath Temple is located on the route between Gomati Dwarka and the Bait Dwarka Island on the coast of Saurashtra in Gujarat. The Jyotirlinga enshrined in the Temple of Nagnath is known as Nageshwar Mahadev and attracts thousands of pilgrims all round the year. This powerful Jyotirlinga symbolizes protection from all poisons. It is said that those who pray to the Nageshwar Linga become free of poison. The Rudra Samhita sloka refers to Nageshwar with the phrase 'Daarukaavane Naagesham'.<br />
<br />
Return to hotel at Dwarka Over night stay at your 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 10:</b> Dwarka - Balahanuman Jamnagar
										</p>
										<p class="aj">Today we drive to Rajkot visiting Balahanuman temple at Jamnagar.Bala Hanuman Temple : Bala Hanuman Temple is a pilgrim place venerated by the devotees of Lord Rama. It is a world famous temple, known for the continous chanting of Jai Ram, Shri Ram. The chanting is going on since 1964 and has found a place for it in the Guinness Book of World Records. People chant the name of the Lord in shifts, 24hours a day.<br />
<br />
Jalaram Bapa Temple : Bhakta's full name was Jalaram Pradhan Thakkar. He was born in the town of Virpur near Rajkot, Gujarat state of India. His mother was Rajbai Thakkar who was very religious and was told by saint Raghuvirdasji, that her second son Jalaram would be a famous advocate of duty and become a preacher of love and peace. Jalaram got his early education from his mother. From her he learnt respect, patience, self respect, duty, and grace. When he was young he was divinely inspired and constantly chanted 'Sita Ram' and wanted to devote his life to God. At the age of eighteen Jalaram along with is guru had starded 'Sadavrat' a place where all people, sadhus and poor could go for food anytime and nobody was let out without food. Later Jalaram and his wife worked in the fields to grow their own grain. Jalaram bapa and Virbai then opened a charity house and used the grain to provide food for passing pilgrims. At times when the grain ran out Virbai was willingly ready to give away her jewellery which she had received at the time of her marriage.It is said that once Lord Rama dressed as an old man in the guise of a sadhu came before Jalaram bapa. Jalaram invited him in for a meal. The old man complained that he was old and infirm and he needed someone to look after him. Jalaram sent his wife along the old man. She went willingly. the pair of travellers eventually came near a river. The old man gave Virbai his stick and a bag to hold. He then disappeared. At the same time a voice came to Jalarambapa at his home, saying that it was Lord Rama himself who had came to see if he was as good as the people said. He had proved he was sincere and could now fetch his wife. The stick and the bag are still on display at Jalaram bapa ashram in Virpur.People believe that food given by Jalaram bapa to the sadhus and other pilgrims will reach the doors of heaven. For that reason even today the Jalaram bapa ashram in Virpur continues to deed thousands of pilgrims at a time and the kitchen never runs out of food, no matter how many people are there. Not only the ashram of Virpur but all the temples of Jalaram bapa are blessed by Himself that thousands of people take their food in these temples.Jalaram bapa's life he devoted to the charity and duty towards human being and praying.<br />
<br />
Over night stay at your hotel.</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> Rajkot - Chotila - Ahmedabad
											</p>
											<p class="aj">Today we drive to Ahmedabad visiting Chotila. Chotila : On Ahmedabad-Rajkot Main Highway, Chotila town is situated at the foot of the Chamunda hill which is surmounted by the temple of the Goddess Chamunda at a height of 1173 feet. Originally a holding of the Sodha Parmar clan, Chotila was conquered from Jagasio Parmar by the Khachar Kathis in 1566 AD. Most of the Khachar Kathi's trace their origin to the Chotila house. According to a legend, Jagasio Parmar of nearby town Muli was murdered by the Kathis of Khachar Kuman and Vala clans. These Kathis took possession of Chotila and then divided it into four parts (char tilas), The village thereafter came to be known as Chotila.<br />
<br />
Over night stay at your 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 12:</b> Ahmedabad - Pavagadh
											</p>
											<p class="aj">Today we do a full day excursion to Pavagadh and Dakor temple. Pavagadh : Most of the Hindus in India have faith in goddess Mahakali, particularly from the western region covering the states of Gujarat, Rajasthan and Maharashtra. The famous and the oldest temple of Mahakaili is situated at Pavagadh, near Vadodara, one of the main cities of Gujarat. The temple has become the place of the piligrimage for almost all Hindus in India. This temple is among the three main Shaktipeeths in Gujarat. It has been said in Hindu Shastras that after the famous Tandava dance of Lord Shiva, the various parts of the body of Sati fell at many places. These places are called Shaktipeets. It is said that the left breast of the Sati had fallen here at Pavagadh. As the name suggests, the temple is located on a mountain, near to the Champaner town.<br />
<br />
Dakor : An interesting legend relates how Lord Krishna came to reveal himself at Dakor (Kaira District) leaving his Dwarka abode. In olden times a Krishna devotee named Bholanath used to walk all the way to Dwarka from Dakor on every full moon night to worship his beloved Krishna. The all-knowing God noticed the difficulties which his devotee was undergoing. The god told Bholanath when he was visiting Dwarka that he need not walk all the way to distant Dwarka as he had decided to stay at Dakor (Dhankpuri of olden times). So God accompanied him to Dakor. The priests at Dwarka temple were naturally upset at the turn of events. They somehow or other wanted to get backthe stone-idol of Ranchhodrai (Krishna). Both at Dwarka and Dakor Krishna is known Ranchhodrai. It is said that he ran away from battle when Kalyavan attacked him as an ally of Jarasandh. So Krishna is called Ranchhodrai - one who ran away from the battle. The priest of Dwarka knew that Bholanath was a poor man. So they told him that he should either pay for the stone idol in gold or return it. The only golden ornament the poor devotee had was his wife's nose ring. When the idol and the nose ring were placed in the scales they were found to be equal in weight. That is how Krishna changed his residence from Dwarka to Dakor for the convenience of a devotee. The belief is the Krishna idol of Dakor was originally from Dwarka. On every Sharad Purnima a big fair Is held at Dakor. Gujarat People venerate Krishna and Dakor provides an important link in this.<br />
<br />
Over night stay at your hotel.</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																						<li>Transport</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="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tour of Ahmedabad - 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="100979"/>
						</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="https://www.kanaiyatoursandtravels.in/packages-in-dwarka.htm" title="Packages in Dwarka">Dwarka</a> <b class="alpha50 bn small">(66)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-somnath.htm" title="Packages in Somnath">Somnath</a> <b class="alpha50 bn small">(61)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(58)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-rajkot.htm" title="Packages in Rajkot">Rajkot</a> <b class="alpha50 bn small">(58)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-jamnagar.htm" title="Packages in Jamnagar">Jamnagar</a> <b class="alpha50 bn small">(49)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-junagadh.htm" title="Packages in Junagadh">Junagadh</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-porbandar.htm" title="Packages in Porbandar">Porbandar</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-diu.htm" title="Packages in Diu">Diu</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-bhavnagar.htm" title="Packages in Bhavnagar">Bhavnagar</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-gondal.htm" title="Packages in Gondal">Gondal</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-bhuj.htm" title="Packages in Bhuj">Bhuj</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-palitana.htm" title="Packages in Palitana">Palitana</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-kutch.htm" title="Packages in Kutch">Kutch</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-mandvi.htm" title="Packages in Mandvi">Mandvi</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.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="https://www.kanaiyatoursandtravels.in/packages-in-patan.htm" title="Packages in Patan">Patan</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-veraval.htm" title="Packages in Veraval">Veraval</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-champaner.htm" title="Packages in Champaner">Champaner</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-chennai.htm" title="Packages in Chennai">Chennai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-vadodara-baroda.htm" title="Packages in Vadodara (Baroda)">Vadodara (Baroda)</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.kanaiyatoursandtravels.in/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(2)</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="https://www.kanaiyatoursandtravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(95)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.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="https://www.kanaiyatoursandtravels.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.kanaiyatoursandtravels.in/bird-watching-holidays-catid.htm" title="Birdwatching Packages">Birdwatching</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 Ahmedabad</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='https://www.kanaiyatoursandtravels.in/tour-packages/tourto-ahmedabad.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/169386.jpg"  alt="Tour to Ahmedabad" title="Tour to Ahmedabad"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/tourto-ahmedabad.htm" title="Tour to Ahmedabad"><h3>Tour To Ahmedabad</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> :  Ahmedabad, Jamnagar, Porbandar, Dwarka, ..</p>
															<div class="mt10px small">
							<form name="pkg_100827" id="pkg_100827" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/tourto-ahmedabad.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tour to Ahmedabad - 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="100827"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.kanaiyatoursandtravels.in/tour-packages/garvi-gujarat-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/169369.jpg"  alt="Garvi Gujarat Tour" title="Garvi Gujarat Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/garvi-gujarat-tour.htm" title="Garvi Gujarat Tour"><h3>Garvi Gujarat 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> :  Ahmedabad, Bhavnagar, Bhuj, Jamnagar, Ra..</p>
															<div class="mt10px small">
							<form name="pkg_100810" id="pkg_100810" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/garvi-gujarat-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Garvi Gujarat 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="100810"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.kanaiyatoursandtravels.in/tour-packages/somnath-honeymoon-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/168834.jpg"  alt="Somnath Honeymoon Tour" title="Somnath Honeymoon Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/somnath-honeymoon-tour.htm" title="Somnath Honeymoon Tour"><h3>Somnath Honeymoon 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> :  Ahmedabad, Jamnagar, Dwarka</p>
															<div class="mt10px small">
							<form name="pkg_100361" id="pkg_100361" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/somnath-honeymoon-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Somnath Honeymoon 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="100361"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-textile-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/169587.jpg"  alt="Gujarat Textile Tour" title="Gujarat Textile Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-textile-tour.htm" title="Gujarat Textile Tour"><h3>Gujarat Textile 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> :  Ahmedabad, Bhuj, Junagadh, Rajkot, Patan..</p>
															<div class="mt10px small">
							<form name="pkg_100983" id="pkg_100983" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-textile-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gujarat Textile 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="100983"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-tour8-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/169372.jpg"  alt="Gujarat Tour 8 Days" title="Gujarat Tour 8 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-tour8-days.htm" title="Gujarat Tour 8 Days"><h3>Gujarat Tour 8 Days</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> :  Ahmedabad, Jamnagar, Dwarka, Somnath, Di..</p>
															<div class="mt10px small">
							<form name="pkg_100813" id="pkg_100813" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-tour8-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gujarat Tour 8 Days - 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="100813"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-with-wildlife-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/401111/169379.jpg"  alt="Gujarat With Wildlife Tour" title="Gujarat With Wildlife Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-with-wildlife-tour.htm" title="Gujarat With Wildlife Tour"><h3>Gujarat With Wildlife 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> :  Ahmedabad, Bhavnagar, Bhuj, Jamnagar, Ju..</p>
															<div class="mt10px small">
							<form name="pkg_100820" id="pkg_100820" method="post" action="https://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.kanaiyatoursandtravels.in/tour-packages/gujarat-with-wildlife-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gujarat With Wildlife 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="100820"/>
							</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:58:"Book Tour of Ahmedabad - 11 Nights / 12 Days Tour Packages";i:2;s:107:"book tour of ahmedabad - 11 nights / 12 days tour packages, heritage tour packages, ahmedabad tour packages";i:3;s:166:"Book Tour of Ahmedabad - 11 Nights / 12 Days tour packages from Kanaiya Tours and Travels - Get attractive 11 Nights / 12 Days Heritage  tour packages for  Ahmedabad.";i:4;s:398:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ahmedabad"        
		                 },
		      "description": "",
		      "name": "Tour of Ahmedabad",
		      "telephone": "+91-9979877911"
		    }
		    </script>
			";i:5;N;}