a:6:{i:0;s:9326:"				<div class="h1"><h1>Udaipur Mount Abu Rajasthan Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grabyourholidays.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grabyourholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Udaipur Mount Abu Rajasthan Tour Package</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Mount Abu, Udaipur</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grabyourholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Udaipur Mount Abu Rajasthan Tour Package - 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="83314"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<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_16/457916/147481.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/457916/147481.jpg"  width="150" height="150"    alt="Udaipur Mount Abu Rajasthan Tour Package" title="Udaipur Mount Abu Rajasthan Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Meals except given in inclusions<br />
Monuments Entrances Fee.<br />
Any domestic or international airfare<br />
Medical and insurance of any kind. Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities<br />
Personal nature Expenses i.e. Telephone Calls, Laundry, Soft / Hard Drinks Meals, Tipping etc. Camera Fee at.<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> Udaipur: Arrival
								</p>
								<p class="aj">Greet the beautiful City of Lakes to begin your vacation.<br />
Launch your exclusive Rajasthan tourism package with a comfortable drive to the enchanting city of Udaipur. Upon arrival, check in to your hotel and freshen up for the exciting day ahead.<br />
On the first day of your Rajasthan package, you will visit some of the major attractions of Rajasthan like the Lake Palace, Jagmandir Island, Vintage car museum and Shilpgram. After this, you will get a chance to take in the breathtaking sunset at the Monsoon Palace. Return to the hotel at night for an overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Udaipur: Explore the Exquisite Land
								</p>
								<p class="aj">Experience the city with a day spent in sightseeing<br />
Enjoy a sumptuous breakfast before heading out for an incredible day of visiting other attractions of Udaipur as a part of your Rajasthan tour itinerary. Today you will visit the City Palace, Jagdish Temple and Bhartiya Lok Kala Mandir to marvel the contrasting culture and extraordinary history.<br />
Later, you will also be taken to the Pratap Memorial, an 18th-century monument which is perched on the top of Pearl Hill in Udaipur. End the day with a comfortable stay 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 3:</b> Mount Abu: Arrival 160 Km
								</p>
								<p class="aj">Explore the beauties of the only hill station Rajasthan.<br />
After a filling breakfast, checkout from your hotel to embark on the next leg of your Rajasthan holiday package. Enjoy a comfortable drive to Mount Abu and check in the hotel to relax and freshen up. Post lunch, visit the 11th century Dilwara Jain Temple which is famous for its extraordinary architecture and marvellous stone carvings.<br />
After marvelling at the amazing carvings, relax on your cruise through the Nakki Lake at Sunset. The scenic beauty on the cruise will surely take you to another world. Return to hotel for a comfortable overnight stay.</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> Departure from Mount Abu
								</p>
								<p class="aj">Head home with beautiful memories from this Rajasthan package tour.<br />
As per your Rajasthan tour itinerary, end your magical vacation with a hearty breakfast at the hotel. Drive back home with fond memories of magnificence and splendour.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Meals except given in inclusions</li><li>
Monuments Entrances Fee.</li><li>
Any domestic or international airfare</li><li>
Medical and insurance of any kind. Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities</li><li>
Personal nature Expenses i.e. Telephone Calls, Laundry, Soft / Hard Drinks Meals, Tipping etc. Camera Fee at.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>* Rates are subject to availability.&nbsp;<br />
* Rates can change without prior notice.&nbsp;<br />
*&nbsp;Peak Season / Weekend Surcharges may be applicable at the time of confirmation

<p>note:&nbsp;&quot;Each clients travelling in India or abroad has to ensure they carry all the related travel documents like valid passports, visa or other valid ID and address proof. Due to lack of any of these documents no hotels will allow check-in. We will not be responsible for any such kind of lose in services and full retention will be charged&quot;.												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grabyourholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Udaipur Mount Abu Rajasthan Tour Package - 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="83314"/>
						</form>
						</div>
						
						";i:1;s:79:"Book Udaipur Mount Abu Rajasthan Tour Package - 3 Nights / 4 Days Tour Packages";i:2;s:137:"book udaipur mount abu rajasthan tour package - 3 nights / 4 days tour packages, heritage tour packages, mount abu, udaipur tour packages";i:3;s:172:"Grab Your Holidays offers Udaipur Mount Abu Rajasthan Tour Package - 3 Nights / 4 Days tour package, budget Heritage tour packages for Mount Abu, Udaipur at exciting price.";i:4;s:811:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mount Abu, Udaipur"        
		                 },
		      "description": "Meals except given in inclusions
Monuments Entrances Fee.
Any domestic or international airfare
Medical and insurance of any kind. Any expenses arising out of unforeseen circumstances like flight delay/cancellation/hike in fare, strike or any other natural calamities
Personal nature Expenses i.e. Telephone Calls, Laundry, Soft / Hard Drinks Meals, Tipping etc. Camera Fee at.",
		      "name": "Udaipur Mount Abu Rajasthan Tour Package",
		      "telephone": "+91-8888872247"
		    }
		    </script>
			";i:5;N;}