a:6:{i:0;s:26227:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Gujarat 2 Star Package For 6 Days</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.enjoyhappyholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.enjoyhappyholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Gujarat 2 Star Package For 6 Days</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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ahmedabad, Jamnagar, Junagadh, Dwarka, Somnath</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 23414 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gujarat 2 Star Package for 6 Days - 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="188671"/>
						</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_20/597001/295746.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/597001/295746.jpg"  width="150" height="84"    alt="Gujarat 2 Star Package for 6 Days" title="Gujarat 2 Star Package for 6 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<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
										</p>
										<p class="aj">Morning Arrival at Ahmedabad, Meet, Greet & transfer to hotel, check in to hotel. Later Proceed to local City Tour visit of Gandhi Ashram, Hathi Singh Jain Temple,Adalaj Step Well Akshardham Temple rest of the day leisure. Overnight stay Ahmedabad.<br />
Gandhi Ashram : On a quiet peaceful stretch of the Sabarmati river, Mahatma Gandhi set up a simple retreat in 1915. This was his Satyagrah Ashram and for many years it was the nerve centre of Indiaâs freedom movement. It was from here, in 1930, that Mahatma began his famous Dandi March to the sea to protest against the Salt Tax imposed by the<br />
British. Hridaya Kunj, the simple cottage where he lived, is now a national monument and preserved as it was during the Mahatmaâs life-time.<br />
â¢ Hutheesingh Jain Temple : Built outside the Delhi Gate in 1850 by a rich Jain merchant, the Hutheesing Temple is the best known of Ahmedabadâs many ornate Jain temples.<br />
â¢ Adalaj Step-well : It is situated 17kms north of Ahmedabad. The step well at the village of Adalaj is another fine example of this magnificent architectural form. Adalaj Vav is richly carved, every pillar and wall surface covered with leaves and flowers, birds and fishes and friezes of ornamental designs.<br />
â¢ Akshardham : Lord Swaminarayan, born in Chapaya in Uttar Pradesh, took a seven year piligrimage in Gujarat to preach his religion. He built six temples, the first being at Kalupur in Ahmedabad. Akshardham, the Swaminarayan temple of Gandhinagar, is a modern complex, built in traditional Indian architectural style from 6,000 metric tons of pink Rajasthan sandstone, carved by expert artisans from Bansipahadpur. The temple is set in a multi-acre garden called Sahajanand Van, with intricate sculptures of Hindu Gods. There is a gold leaf copper sculpture of Lord Swaminarayan that faces similar sculptures of Gunatinand Swami. The interiors have beautiful columns in rosewood, that rise up to a high dome.<br />
The first floor galleries house a museum portraying the 500 parahansas, a letter to his guru, Ramanand, a piece from an old tree from Chapaya, his pure wool shawl, a replica of his old home, a diorama of the lord on a horse and other displays. The galleries outside have a state-of âthe âart exhibition using Chez Integrovation shows, audio-visuals, multi- media, dioramas fo the life of Lord Swaminarayana and from the Hindu epics to introduce visitors to the concept fo the Akshardham movement, founded in 1907 AD to promote the preachings of Lord Swaminarayan</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> AHMEDABAD â JAMNAGAR (330 Kms/6 hrs)
										</p>
										<p class="aj">After breakfast check out & drive to Jamnagar. Evening visits of Bala hanuman temple. Overnight Jamnagar<br />
<br />
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 />
Overnight stay at Jamnagar.</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> JAMNAGAR - DWARKA (150 KMS / 3 Hours)
										</p>
										<p class="aj">After breakfast check out from the hotel & drive to Dwarka. Upon arrival check in & free till lunch. Thereafter visit Bet Dwarka â Nageshwar Jyotirlingas Gopi Talav Rukhmani Temple. Overnight at Dwarka.<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.<br />
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.<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 />
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<br />
to Nageshwar with the phrase 'Daarukaavane Naagesham'<br />
Rukmani Temple : This temple stands 2 km away from Dwarka City. The local explanation given for this distance is an old legend. They say, once Lord Krishna and his wife Rukmini went to the sage Durvasha to invite him for dinner at Dwarka. He agreed on the condition that Krishna & Rukmini would have to pull his chariot instead of any animal. The couple happily obliged. While pulling the chariot, Rukmini became thirsty so Lord Krishna prodded his toe into the earth to draw a spring of the holy Ganga water. Rukmini took a sip without offering Durvasha. Annoyed by her impoliteness he cursed Rukmini that she would be separated from her beloved husband. Hence Rukmini temple is located 2 kms away from Dwarka's Jagat Mandir. Maybe 2500 years old, but its domed mandapa and stepped sanctuary cannot be older than the 12th century in its present form.<br />
The exterior of the Rukmini Temple is richly carved. It has a panel of sculpted naratharas (human figures) and a panel of sculpted gajatharas (elephants) at the base. The traditional spire of the main shrine contrasts strongly with the hemispherical dome of the pavilion. The garbhagriha (inner sanctum) has a recessed seat on which the present image of Rukmini, wife of Lord Krishna, was consecrated. The usual sculptures of god and goddesses, along with male and female figures, are seen on the exterior of the shrine.<br />
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 4:</b> DWARKA - SOMNATH (240 Kms/5 hrs)
										</p>
										<p class="aj">After breakfast check from the hotel & drive to Somnath. Enroute visits of Porbandar â Kirti Mandir, Sudama Templeâ¦ Later drives to Somnath, Visits of Somnath Temple, and Bhalka Tirthâ¦ O/n Somnath<br />
Kirti Mandir : Mohandas Karamchand Gandhi was born & lived here until he was twelve. It stands in the corner of a large courtyard in the west of town. A Swastika on the floor in a small room marks the actual spot. It houses many collections of Gandhian memorabilia. There is also an exhibit of photographs, some with English captions, and a small workshop.<br />
Somnath: One of the most revered & an important center of culture & nationalism. The legendary temple contains a âjyotirlingaâ. Looted & destroyed, built & rebuilt several times, it represents the eternal beauty & 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 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 5:</b> SOMNATH - GIR (50 Kms/1 Â½ hrs)
										</p>
										<p class="aj">After breakfast drive to Gir .<br />
Countine Drive to Sasan Gir.Sasan Gir, Popularly known as Gir, the most famous loin sanctuary in India. And the one place in the subcontinent where Asiatic Loins can be found in the wild. Sasan Gir on the southwestern border of Surasthtra peninsula in Gujarat and is home to nearly 400 Asiatic loins.<br />
The Santucary was created in 1913 to provide protections to the largest Surviving groups of the Asiatic loins and was given the status of the sanctuary in 1965; the numbers of loins has been steadily on the rise since 1980.This is the only place in the World outside the African continent where the loin can be seen in its natural habitat.<br />
The loin safaris are popular among tourist & jeep are freely available for touring the forest. Though the most famous inhabitants of the park are Asiatic loins it also provides natural habitat to a lot of other species like chital, chinkara (Gazelle) four horned antelope. Leopard .nilgai, spotted deer, wild boar and wild ass.monkeys, parrots and peacocks, and birds etc.,<br />
Afternoon enjoy the Safari to National Park. Overnight at the 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> GIR - AHMEDABAD (385 Kms/ 8 hrs)
										</p>
										<p class="aj">After breakfast drive to Ahmedabad for Onward destination.</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>
																				<li>Accommodation based on the hotels mentioned above or similar category of alternate hotels.</li><li>
Daily breakfast & All meals at Sasan gir</li><li>
Transfer & sightseeing as per the itinerary by A/C Vehicle (AC will switch off in hills)</li><li>
Min 02 pax:- A/C Indigo</li><li>
Min 04 pax:- A/C Innova - Upto 6 person only</li><li>
All toll tax, parking fees & driver allowances</li><li>
All applicable hotel taxes (GST Extra)</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>International or Domestic airfare / Train Fare</li><li>
Monuments Entrance</li><li>
Services of English Speaking Local Guide.</li><li>
Game Drive at Sasan Gir (SASAN GIR National Park will be closed from 16 June to 15 Oct)</li><li>
Expense of personal nature like tipping, laundry, telephone / fax calls, alcoholic beverages, camera/video camera fee at monuments, medical expenses, airport departure tax etc.Any other services not mentioned in the inclusions</li><li>
Any expenses caused by reasons beyond our control such as road blocks, accidents and any medical evacuations. Any train delays, or re-scheduling etc. Any Visa fees, insurance fees, etc. Any tips to hotel staff, local guides, drivers etc. Any meals apart from the ones mentioned above. Any expenses apart from the ones above.</li><li>
Note : Christmas & New Year Gala Dinner is mandatory & will be charged extra</li><li>
Service tax 5.0% extra on total bill</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Package valid only for Indian nationals.</li><li>
Air tickets and hotels are subject to availability.</li><li>
It is mandatory for guests to present valid photo identification at the time of check-in.</li><li>
The identification proofs accepted are Driving License, Voters Card, Passport, Ration Card. Without valid ID the guest will not be allowed to check in. Note- PAN Cards will not be accepted as a valid ID card.</li><li>
All transfers and sightseeing are as per the Itinerary/package and in case of Air Conditioned vehicles, It</li><li>
will be switched off in the hills.</li><li>
The inclusion of extra bed with a booking is facilitated with a folding cot or a mattress as an extra bed.</li><li>
Early check-in or late check-out is subject to availability and may be chargeable by the hotel. The standard check-in time is 1300hrs and the standard check-out time is 1000hrs.</li><li>
Any kind of personal expenses (Laundry, room service etc..) or optional tours/ extra meals are not</li><li>
inclusive in the package cost.</li><li>
The hotel reserves the right of admission. Accommodation can be denied to guests posing as a couple if suitable proof of identification is not presented at check-in. Via.com will not be responsible for any check- in denied by the hotel due to the aforesaid reason.</li><li>
In case of non-availability of above mentioned hotels similar category hotel will be provided.</li><li>
Flight Raja Travels Pvt. Ltd. reserves the right to change/modify or terminate the offer any time at its own discretion and without any prior notice.</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>Please note Cancellation / Amendment request needs to reach us in writing. Any amendment received after booking will be treated as cancellation. The Cancellation policy is as follows:</li><li>
Cancellation Charges per person</li><li>
Up to 30 days prior to date of departure -Initial deposit amount 25% of the tour cost (Non Refundable) per person</li><li>
Between 22 days to 29 days prior to departure - 50% of tour cost ( We need 50% payment as well)</li><li>
Between 16 days to 21 days prior to departure - 75% of tour cost</li><li>
Less than 15 days prior to departure - 100% of tour cost</li><li>
This policy may vary during Apr, May and Jun months, Diwali / Dussehra and New Year period and Long Weekends will go up to 100% cancellation - After confirmation.</li><li>
Bank transaction charges apply on credit card/net banking refunds.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.enjoyhappyholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gujarat 2 Star Package for 6 Days - 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="188671"/>
						</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.enjoyhappyholidays.in/kathmandu-tour-packages.htm" title="Kathmandu Tour Packages">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/puri-tour-packages.htm" title="Puri Tour Packages">Puri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/junagadh-tour-packages.htm" title="Junagadh Tour Packages">Junagadh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/pokhara-tour-packages.htm" title="Pokhara Tour Packages">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/somnath-tour-packages.htm" title="Somnath Tour Packages">Somnath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.in/dwarka-tour-packages.htm" title="Dwarka Tour Packages">Dwarka</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.in/jamnagar-tour-packages.htm" title="Jamnagar Tour Packages">Jamnagar</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="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.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="https://www.enjoyhappyholidays.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.enjoyhappyholidays.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.enjoyhappyholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</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:72:"Book Gujarat 2 Star Package for 6 Days - 5 Nights / 6 Days Tour Packages";i:2;s:167:"book gujarat 2 star package for 6 days - 5 nights / 6 days tour packages, forts and palaces tour packages, ahmedabad, jamnagar, junagadh, dwarka, somnath tour packages";i:3;s:219:"Book Gujarat 2 Star Package for 6 Days - 5 Nights / 6 Days tour packages from Enjoy Happy Holidays - Get attractive 5 Nights / 6 Days Forts and Palaces  tour packages for  Ahmedabad, Jamnagar, Junagadh, Dwarka, Somnath.";i:4;s:451:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ahmedabad, Jamnagar, Junagadh, Dwarka, Somnath"        
		                 },
		      "description": "",
		      "name": "Gujarat 2 Star Package for 6 Days",
		      "telephone": "+91-9775769250"
		    }
		    </script>
			";i:5;N;}