a:6:{i:0;s:8745:"				<div class="h1"><h1>Dwarkadhish With Jyotirlings Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Dwarkadhish With Jyotirlings Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<div class="demo-wrap" style="height:225px;">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/22362/55094.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55094.jpg"  width="150" height="150"    alt="" title="" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 112</p>
												<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ahmedabad,Jamnagar,Dwarka,Ahmedabad,Jamnagar,Dwarka</p>
												<p><b>Price (Starting From) :</b> INR 12750 Per Person</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Dwarkadhish With Jyotirlings 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="28081"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
					<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Ahmedabad - Jamnagar - Dwarka (480 Kms / 8 hrs Approx)
									</p>
									<div class="data p10px">Arrival at Ahmadabad, Meet to Greet and continue drive to Dwarka, en-route visit Jamnagar 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. Later Proceed to Dwarka and attend Evening Aarti Darshan at Dwarkadhish Temple - Temple of Lord Krishna. Overnight stay at Dwarka.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Dwarka (480 Kms / 8 hrs Approx)
									</p>
									<div class="data p10px">Attend early morning Aarti at Dwarkadhish temple. Have breakfast & thereafter visit Bet Dwarka & Nageshwar Jyotirling. 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. 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. Rukmani Temple - Temple of Lord Krihsna’s wife. Overnight stay at Dwarka.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Dwarka - Porbandar - Somnath (250 Kms / 5 hrs Approx)
									</p>
									<div class="data p10px">Morning proceed to Porbandar(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 proceed to Somnath, evening Aarti Darshan at Somnath Temple - A lord Shiva temple known as Jyotirling built by Moon God. Enjoy lighting and sounding Show. Overnight stay at Somnath.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Somnath - Junagadh - Ahmedabad (400 Kms / 8 hrs Approx)
									</p>
									<div class="data p10px">Morning proceed for Ahmedabad. Enroute visit Junagadh, visit of UPERKOT FORT, is an ancient fort built by Chandr Gupta. The fort as been rebuilt & extended many times. Later visit of Ashokan Edicts,Mahabat Maqbara. The Ashoka’s Rock edict is on way of Girnar hill temple. The rock engraved with the Buddhist edicts of Ashoka. The edicts impart moral instruction on dharma, harmony,tolerance and peace. Continue drive to Ahmadabad & transfer to airport / railway station for onward journey.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Ahmedabad :-<br />
<br />
Multiplexes (Fun Republic, Wide Angle, City Gold, R-World, etc.), drive-in-movie halls, game parlours, bowling alleys… Ahmedabad offers all modern forms of entertainment to its visitors.The Water Park and Go Karting outlets are extremely popular with children and adults. The Kankaria Lake on the other hand offers a different kind of escape. It is located on the other side of the Sabarmati and is one of the oldest recreation spots in Ahmedabad. It was built in 1451 by Sultan Qutb-Ud-Din and consists of an island garden with a summer palace in the centre of the lake.There is also a children’s park and a zoo nearby making it an ideal picnic spot for adults as well as children. Gujarat is a dry state; alcohol is, therefore, available only to non-Indian passport and permit holders<br />
<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 />
<br />
Somnath :-<br />
<br />
The Somnath Temple located in the Prabhas Kshetra near Veraval in Saurashtra, on the western coast of Gujarat, India, is one of the twelve Jyotirlinga shrines of the god Shiva. It has currently become a tourist spot for pilgrims. The temple is considered sacred due to the various legends connected to it. Somnath means "The Protector of (the) Moon god". The Somnath Temple is known as "the Shrine Eternal", having been destroyed many times by Islamic kings and rulers. Most recently it was rebuilt in November 1947, when Sardar Vallabhbhai Patel visited the area for the integration of Junagadh and mooted a plan for restoration. After Patel's death, the rebuilding continued under K. M. Munshi, another minister of the Government of India. Somnath is famous for Beaches, Pilgrim, Temples and Jyotirlingas.Additional sightseeing or extra usage of vehicle other then mentioned will be charged<br />
Service tax will be extra01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																<li></li>
																		<li>Transport</li>
																</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Additional sightseeing or extra usage of vehicle other then mentioned will be charged</li><li>
Service tax will be extra</li></ul><br />
													<!--DATA4 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:72:"Book Dwarkadhish With Jyotirlings Tour - 3 Nights / 4 Days Tour Packages";i:2;s:172:"book dwarkadhish with jyotirlings tour - 3 nights / 4 days tour packages, forts and palaces tour packages, ahmedabad,jamnagar,dwarka,ahmedabad,jamnagar,dwarka tour packages";i:3;s:218:"Book Dwarkadhish With Jyotirlings Tour - 3 Nights / 4 Days tour packages from Geet & Company - Get attractive 3 Nights / 4 Days Forts and Palaces  tour packages for  Ahmedabad,Jamnagar,Dwarka,Ahmedabad,Jamnagar,Dwarka.";i:4;s:2618:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ahmedabad,Jamnagar,Dwarka,Ahmedabad,Jamnagar,Dwarka"        
		                 },
		      "description": "Ahmedabad :-

Multiplexes (Fun Republic, Wide Angle, City Gold, R-World, etc.), drive-in-movie halls, game parlours, bowling alleys… Ahmedabad offers all modern forms of entertainment to its visitors.The Water Park and Go Karting outlets are extremely popular with children and adults. The Kankaria Lake on the other hand offers a different kind of escape. It is located on the other side of the Sabarmati and is one of the oldest recreation spots in Ahmedabad. It was built in 1451 by Sultan Qutb-Ud-Din and consists of an island garden with a summer palace in the centre of the lake.There is also a children’s park and a zoo nearby making it an ideal picnic spot for adults as well as children. Gujarat is a dry state; alcohol is, therefore, available only to non-Indian passport and permit holders

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.

Somnath :-

The Somnath Temple located in the Prabhas Kshetra near Veraval in Saurashtra, on the western coast of Gujarat, India, is one of the twelve Jyotirlinga shrines of the god Shiva. It has currently become a tourist spot for pilgrims. The temple is considered sacred due to the various legends connected to it. Somnath means "The Protector of (the) Moon god". The Somnath Temple is known as "the Shrine Eternal", having been destroyed many times by Islamic kings and rulers. Most recently it was rebuilt in November 1947, when Sardar Vallabhbhai Patel visited the area for the integration of Junagadh and mooted a plan for restoration. After Patel's death, the rebuilding continued under K. M. Munshi, another minister of the Government of India. Somnath is famous for Beaches, Pilgrim, Temples and Jyotirlingas.Additional sightseeing or extra usage of vehicle other then mentioned will be charged
Service tax will be extra01-1031-03",
		      "name": "Dwarkadhish With Jyotirlings Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}