a:6:{i:0;s:27729:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Ahmedabad Dwarka Somnath Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.truptiholiday.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.truptiholiday.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Ahmedabad Dwarka Somnath Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ahmedabad, Jamnagar, Somnath</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.truptiholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ahmedabad Dwarka Somnath Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="193141"/>
						</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_22/652014/304799.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/652014/304799.jpg"  width="150" height="112"    alt="Ahmedabad Dwarka Somnath Tour" title="Ahmedabad Dwarka Somnath Tour" /></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 – JAMNAGAR – DWARKA (450 KM, APPROX 07 HRS)
										</p>
										<p class="aj">Morning arrivals at Ahmedabad where on arrival you are meet at the airport and drive to Dwarka, en route visit Jamnagar Bala Hanuman Temple.<br />
Bala Hanuman Temple - Bala Hanuman Temple is a pilgrim place venerated by the devotees of Lord Ram. It is a world famous temple, known for the continuous 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, 24 hours a day.<br />
 On arrival at Dwarka check in to the Hotel, Evening attend Aarti Darshan at Dwarkadhish Temple, Overnight stay at Dwarka </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> DWARKA
										</p>
										<p class="aj">Morning visit Dwarkadhish Temple. & thereafter visit Bet Dwarka & Nageshwar Jyotirling.<br />
Bet Dwarka - also known as Bet Shankhoddar, Bet Dwarka is only 5 kms from Okha Junction in sea and Okha is 30 kms from Dwarka. It is said to be the place where Lord Krishna lived with his family when the ruled at Dwarka. It is also the place where Vishnu slew the demon Shankhasura. Visitors make it a point to visit the Krishna temple at this site which holds much of interest to be seen and experienced.  <br />
Nageswar Mahadev - The Puranas mention 12 Jyotirlingas or columns of light representing Lord Shiva, who manifested himself in that form in different parts of India. This shiva shrine near Dwarka is one of these and is there- fore accorded great respect.  <br />
Rukmani Temple – Temple of Lord Krihsna’s wife.Overnight stay at Dwarka</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> DWARKA – PORBANDAR – SOMNATH (250 KMS, APPROX 05 HRS)
										</p>
										<p class="aj">Morning breakfast after proceed to Somnath en route visit to Porabandar(130 Kms) visit of Kirti temple known as house & born place of Mahatma Gandhi. In back side house of Kasturba wife of Gandhi. Also visit of Gandhi museum, study room of Mahatma Gandhi in the Kirti temple. Later visit of Sudama temple & continue procced to Somnath,Evening Aarti Darshan atSomnath Temple - A lord shiva temple known as Jyotirling built by Moon God. Enjoy lighting and sounding Show. stay at Somnath.</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> Somnath – Ahmedabad
										</p>
										<p class="aj">Early morning attend Aarti Darshan at Somnath Temple, after visit Bhalka Tirth and Triveni Ghath<br />
Bhalka Tirth - This sacred teerth is located 5 km on Prabhas Veraval highway. The arrow of the poacher named Jara at this spot hit Bhagvan Shree Krishna. Bhagvan Shree Krishna was resting in meditation pose under a pippal tree when the poacher misread the foot of Bhagvan Shree Krishna as a deer and hit from a distance. This divined leela of Bhagvan Shree Krishna is immortalised by a beautiful temple and an ancient pippal tree. Bhagvan Shree Krishna then walked a small distance and arrived at the holy banks of river Hiran from where he took his last journey to his Neejdham.<br />
Triveni Ghat - Triveni Ghat in Somnath is the meeting point of three holy rivers – Kapil, Hiran and a mystical River Saraswati, which are believed to be flowing to their ultimate destination – Arabian Sea. These stages of rivers where they meet and then flow together to the sea symbolises human birth, life and death.<br />
Later proceed to Ahmedabad, en route visit Junagadh Uparkot Fort<br />
 <br />
Uparkot Fort - An impressive fort, Uparkot, located on a plateau in the middle of town, was originally built during the Mauryan dynasty by Chandragupta in 319 BC. The fort remained in use till the 6th century, and then it was covered over for 300 years. Then it was rediscovered in 976 AD. The fort was inundated 16 times over an 800-year period. One unsuccessful siege lasted twelve years. <br />
Later visit Naulakha Palace in Gondal and Jalaram Temple in virpurThe Naulakha Palace was erected around 1748 AD in the Darbargadh or walled palace complex of the rulers, and since then has been extended by successive rulers. The façade is a festival of stone carving with splendid sculpture, relief, carved columns and ornate jarokha balconies.<br />
The former living quarters of the palace have been converted into a private museum exhibiting textiles, brassware, royal wardrobes, library, silver caskets that carried gifts and messages for Maharaja Bhagwat Sinhji on special occasions like his golden jubilee as ruler of Gondal, the weighing scales on which he was measured against gold on his golden jubilee with proceeds going to charity, trophies won by the Gondal princes at motorsports events, and a collection of toys including 1800s wooden pieces hand-painted with natural colours.<br />
Virpur – Visit Shree Jalarambapa TempleOvernight stay at Ahmedabad</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> Ahmedabad
										</p>
										<p class="aj">Ahmedabad, The city was built in open and spacious plane to the East of Sabarmati. It compromised of smaller known Fort as Bhadra Fort. The city fort wall was enclosed containing 12 Gates. The city of Ahmedabad went on expanding in every direction by the addition of new areas on both the sides of the river. With the well laid out beautiful buildings, lakes and mosques. In 1753 combined armies of Raghunath Rao and Damaji Gaekwad took the fort, which resulted into end of Mughal Rule in Ahmedabad. In 64 years during the rule of Gaekwad and Peshwa, city became worse. In 1818 British took over the administration of Ahmedbad. During this period Ahmedabaddeveloped,After freshening up we will visit the following:<br />
Sidi Sayed Mosque, the mosque of Sidi Sayed is one of the most prominent mosques in the Ahmedabad city. Constructed in the year 1573, the mosque was established by Sidi Sayed, a slave of Sultan Ahmed Shah. Sidi Sayed mosque in Ahmedabad, India consists of ten semi circular windows, the appeal of which is accentuated by the splendid mesh covering them, which is more popularly known as 'Jali'. <br />
Gandhi Ashram In 1915 Mahatma Gandhi came from South Africa and established Ashram on the banks of Sabarmati River. The Ashram was the residence of Mahatma Gandhi.  From this Ashram Gandhi started the Dandi March in 1930. The ashram now has an intereesting museum. The museum building was erected (designed by architect Charles Correa), and memorial activities were then started here<br />
Hathee Singh Jain Temple It was built by Seth Hate Singh in 1850. It is easily distinguished by its high carved column, visible from road. Built entirely of white marble embossed with smooth carvings of dancers, musicians, animals & flowers, this serene temple is dedicated to Dharamnath, whose statue stand in themain temple. It has a paved courtyard surrounded by an imposing row of cloisters containing 52 shrines, each with an image of a tirthankara, profusely decorated with rich carvings, one containing the marble image of the 15th tirthankara. The temple is a two-storied structure with elaborate porches on three sides and front porch crowned by a large dome.<br />
Adalaj Wav Step Well (built 1499) The Adalaj Wav Step Well is located 18 kilometers north of Ahmedabad in the Gandhinagar district. It was built during the reign of Queen Rudabai, a muslim ruler. Though now dry, the well once provided water to weary travellers and pilgrims along the roads outside of Ahmedabad. The four-level well is dug directly into the water table, exposing fresh water that rose and fell according the seasons and the amount of rainfall. Its deep interior provided cool relief from the harsh Indian sun.<br />
Akshardham Temple is one of the largest temples in the Indian state of Gujarat. The temple complex combines devotions, art, architecture, education, exhibitions and research at one place. The monument which is set in a 23-acre plot at Gandhinagar (Gandhinagar district) is built in pink sandstone. It is 108 feet tall and 6000 tonnes of stone has gone into its making. A point worth noting is that this modern monument to Hinduism was built as per the injunctions of Vastu Shastra. Not a bit of steel has been used.After lunch transfer to Ahmedabad airport with wonderful happy memories.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>For confirmation 75% of the Package cost required Rest 25 % before 07 days start to journey.</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Date of booking –</li><li>
Booking day – 30 days – communication charges of Rs. 2000/-per person /as per actual</li><li>
30 -15 Days prior to departure               30% of tour cost</li><li>
14 -07 Days prior to departure               50% of tour cost </li><li>
07- 03 Days prior to departure              75% of tour cost           </li><li>
 02 Days/No show                                   100% of tour cost</li><li>
Rules and Regulations:</li><li>
Rate all inclusive of food & lodging, sightseeing up to the point bus journey is possible.</li><li>
Management has right to alter itinerary according to circumstances.</li><li>
Management is not liable for any type of accident/strike/insurgency during tour period.</li><li>
Management is not liable for any theft or damage of luggage.</li><li>
Management is not liable for any cancellation of flight / Train. Flight / Train missing. In such circumstances if stay will be more or less, we will not answerable for that, and you have to pay the charges for the extra. </li><li>
Payment should be clear before the journey starts</li><li>
Note:-</li><li>
Here it is mentioned that the above quoted Rate is highly based on Minimum No. of Pax Guaranteed Participants, if the No. of Participants is decreased, the Rate may be higher. </li><li>
Do not treat above quotation mail as confirmation of your booking, as we are not holding any booking at the time of quotation. Price and services can be changed at the time of confirmation. Confirmation of bookings is only based on written communications & rooms are subject to availability. </li><li>
Company will not be responsible for any unexpected situations like Strikes, Road Jams, Train Delay, or natural calamities like, landslides, road blockage, political disturbances, etc on  which we do not have control. In such circumstances if stay will be more or less we will not answerable for that, and you have to pay the charges for the Extra.</li><li>
Hope all the details mentioned suits to your requirement. Feel free for further clarification.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.truptiholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ahmedabad Dwarka Somnath Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="193141"/>
						</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.truptiholiday.in/pondicherry-tour-packages.htm" title="Pondicherry Tour Packages">Pondicherry</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/konark-tour-packages.htm" title="Konark Tour Packages">Konark</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/puri-tour-packages.htm" title="Puri Tour Packages">Puri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/chennai-tour-packages.htm" title="Chennai Tour Packages">Chennai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/bhubaneswar-tour-packages.htm" title="Bhubaneswar Tour Packages">Bhubaneswar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/kanyakumari-tour-packages.htm" title="Kanyakumari Tour Packages">Kanyakumari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</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.truptiholiday.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</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.truptiholiday.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</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.truptiholiday.in/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</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.truptiholiday.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</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.truptiholiday.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</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.truptiholiday.in/corbett-tour-packages.htm" title="Corbett Tour Packages">Corbett</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.truptiholiday.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</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.truptiholiday.in/rameswaram-tour-packages.htm" title="Rameswaram Tour Packages">Rameswaram</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.truptiholiday.in/visakhapatnam-tour-packages.htm" title="Visakhapatnam Tour Packages">Visakhapatnam</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.truptiholiday.in/rourkela-tour-packages.htm" title="Rourkela Tour Packages">Rourkela</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.truptiholiday.in/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/mahabaleshwar-tour-packages.htm" title="Mahabaleshwar Tour Packages">Mahabaleshwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/langkawi-tour-packages.htm" title="Langkawi Tour Packages">Langkawi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/lonavala-tour-packages.htm" title="Lonavala Tour Packages">Lonavala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/phuentsholing-tour-packages.htm" title="Phuentsholing Tour Packages">Phuentsholing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/thiruvananthapuram-tour-packages.htm" title="Thiruvananthapuram Tour Packages">Thiruvananthapuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.truptiholiday.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.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.truptiholiday.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.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.truptiholiday.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.truptiholiday.in/boating-holidays-catid.htm" title="Boating Packages">Boating</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:68:"Book Ahmedabad Dwarka Somnath Tour - 4 Nights / 5 Days Tour Packages";i:2;s:150:"book ahmedabad dwarka somnath tour - 4 nights / 5 days tour packages, religious & pilgrimage tour packages, ahmedabad, jamnagar, somnath tour packages";i:3;s:196:"Book Ahmedabad Dwarka Somnath Tour - 4 Nights / 5 Days tour packages from Trupti Holiday - Get attractive 4 Nights / 5 Days Religious & Pilgrimage  tour packages for  Ahmedabad, Jamnagar, Somnath.";i:4;s:429:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ahmedabad, Jamnagar, Somnath"        
		                 },
		      "description": "",
		      "name": "Ahmedabad Dwarka Somnath Tour",
		      "telephone": "+91-8249089958"
		    }
		    </script>
			";i:5;N;}