a:6:{i:0;s:48078:"				<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="http://www.kanaiyatoursandtravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://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="http://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"  height="150"  width="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="http://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="http://www.kanaiyatoursandtravels.in/packages-in-dwarka.htm" title="Packages in Dwarka">Dwarka</a> <b class="alpha50 bn small">(64)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kanaiyatoursandtravels.in/packages-in-somnath.htm" title="Packages in Somnath">Somnath</a> <b class="alpha50 bn small">(59)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kanaiyatoursandtravels.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(56)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kanaiyatoursandtravels.in/packages-in-rajkot.htm" title="Packages in Rajkot">Rajkot</a> <b class="alpha50 bn small">(56)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.kanaiyatoursandtravels.in/packages-in-jamnagar.htm" title="Packages in Jamnagar">Jamnagar</a> <b class="alpha50 bn small">(47)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://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="http://www.kanaiyatoursandtravels.in/packages-in-porbandar.htm" title="Packages in Porbandar">Porbandar</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://www.kanaiyatoursandtravels.in/packages-in-chhatarpur.htm" title="Packages in Chhatarpur">Chhatarpur</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.kanaiyatoursandtravels.in/packages-in-gandhinagar.htm" title="Packages in Gandhinagar">Gandhinagar</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.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="http://www.kanaiyatoursandtravels.in/packages-in-lothal.htm" title="Packages in Lothal">Lothal</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="http://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="http://www.kanaiyatoursandtravels.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(93)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://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="http://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="http://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="http://www.kanaiyatoursandtravels.in/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.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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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='http://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"  height="100"  width="100"    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="http://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="http://www.kanaiyatoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://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;}