a:6:{i:0;s:27213:"						<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="http://www.enjoyhappyholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://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="http://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"  height="150"  width="150"    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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>23414</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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="http://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="http://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="http://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="http://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="http://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 "><a class="dif" href="http://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 "><a class="dif" href="http://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 "><a class="dif" href="http://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 "><a class="dif" href="http://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 "><a class="dif" href="http://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 "><a class="dif" href="http://www.enjoyhappyholidays.in/jamnagar-tour-packages.htm" title="Jamnagar Tour Packages">Jamnagar</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.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 spanlist dn"><a class="dif" href="http://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 spanlist dn"><a class="dif" href="http://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 spanlist dn"><a class="dif" href="http://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 spanlist dn"><a class="dif" href="http://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 spanlist dn"><a class="dif" href="http://www.enjoyhappyholidays.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</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.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="http://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="http://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="http://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="http://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="http://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;}