a:6:{i:0;s:30888:"				<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-->				
									<div class="h1"><h1>Rajasthan Incredible Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.arihanttravellam.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.arihanttravellam.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Rajasthan Incredible Tour</p> 
									
						<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> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Ajmer, Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Mount Abu, Pushkar, Udaipur</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.arihanttravellam.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Incredible 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="50798"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_13/379830/99832.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/99832.jpg"  width="150" height="150"    alt="Rajasthan Incredible Tour" title="Rajasthan Incredible Tour" /></a></p></div></li>
																		<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_13/379830/99833.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/99833.jpg"  width="150" height="150"    alt="Rajasthan Incredible Tour" title="Rajasthan Incredible Tour" /></a></p></div></li>
																		<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_13/379830/99834.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/99834.jpg"  width="150" height="150"    alt="Rajasthan Incredible Tour" title="Rajasthan Incredible Tour" /></a></p></div></li>
																		<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_13/379830/99835.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/99835.jpg"  width="150" height="150"    alt="Rajasthan Incredible Tour" title="Rajasthan Incredible Tour" /></a></p></div></li>
																		<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_13/379830/99836.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/379830/99836.jpg"  width="150" height="150"    alt="Rajasthan Incredible Tour" title="Rajasthan Incredible Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								RAJASTHAN INCREDIBLE<br />
<br />
Is the package in which you will cover all most all the beauty of Rajasthan, here you will get so much enough time to create all the memorable moments and also get enough time for relaxation.<br />
<br />
In this package you will be able to cover all the beautiful place of Rajasthan like, JAIPUR - AJMER - PUSHKAR - BIKANER - JAISALMER - JODHPUR - MOUNT ABU - NATHDWARA - CHITTORGARH - UDAIPUR , after cover all this place you will definitely find the most memorable days of your life,<br />
<br />
Here we will design & operate your package in such a way that you will complete your journey very comfortably, at the time of your arrival our expert will be there to pick you,<br />
<br />
Here you will get a private vehicle to cover all the things, which is in very good condition and also with well known driver who help you to cover all the things.<br />
<br />
Apart from this you will get accommodation facility at all the place. a very well luxurious hotel will be provided to you as per your budget in which you will find good comfort, also with very good quality food and very well mannered staff.<br />
<br />
Also the one more beauty of this package is that we can customize this package as per your budget, your time and as per your requirement. <br />
<br />
Just contact us once for more details & if any query.								</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> Jaipur
										</p>
										<p class="aj">Jaipur is remarkable for its marvelous architecture and town planning as it is for the lively spirit of the people who inhabit it. The city presents a unique synthesis of culture that has to be experienced in order to be appreciated. The old Jaipur painted in Pink, the lively spirit of fanfare, festivity and celebration of the people adequately match the colorful and intricately carved monuments.<br />
<br />
after arriving jaipur airport/railway station our expert is there to pick you. and help you to transfer to the hotel. just take a rest for while and then refresh to go towards jaipur interesting place. After taking some rest, head out to Chowki Dhani, a mock Rajasthani village that offers great food and great display of real Rajasthani culture. It is an ideal place for family outings. Enjoy the traditional side of Rajasthan in the form of music, dance and food. Later, return to the hotel for 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> Jaipur
										</p>
										<p class="aj">After a scrumptious breakfast, head out for a sightseeing tour of Jaipur. Visit its historical monuments like Hawa Mahal, City Palace, Jantar Mantar and Amer Fort. Hawa Mahal is one of the most sought after landmarks of Jaipur and beckons tourists from all over the world. City Palace stands at the heart of the city and highlights a synthesis of Mughal and Rajput architectural grandeur. Jantar Mantar is yet another masterpiece. It was built to study astronomy and the movement of the stars. Amer Palace is a beautiful fort that sits atop a hill and overlooks the entire city. Other tourist attractions that you will see are Jaigarh Fort, Govind Deoji Mandir, Rambagh Palace, Nahargarh Fort, Kanak Valley and Laxmi Narayan Temple. Overnight 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> JAIPUR TO AJMER - PUSHKAR
										</p>
										<p class="aj">Enjoy your breakfast and drive toward Pushkar. Enroute, visit Ajmer, which is known for the tomb of Khwaja Moinuddin Chishti, an eminent Sufi saint. Later, go for sightseeing in Pushkar and visit the famous Brahma Temple. Spend the night at a hotel in Pushkar.</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> Pushkar To Bikaner
										</p>
										<p class="aj">After a break fast check our from the hotel and Thereafter, embark on a journey towards Bikaner, which is surrounded by the desert from all sides. This region was discovered by Rao Bikaji – a Rathore prince in the year 1486.<br />
<br />
On arrival at this destination, check-in at the hotel and rest for sometime. Later, go for a sightseeing trip of this destination and visit its prominent, historic sites. Pay a visit to the Junagarh Fort, which has interiors decorated with paintings, carvings and mosaic work. A museum within the fort exhibits a huge collection of weapons and arms belonging to the bygone era. Thereafter, proceed towards Bhandasar Jain Temple, which is dedicated to Sumatinath – 5th Jain Tirthankara.<br />
<br />
Later, enjoy picturesque views of the desert and proceed towards the Camel Breeding Farm, where you can taste camel's milk and take a camel ride. Close to this farm lies a museum, which is also worth a visit.<br />
<br />
Later, return to the hotel and stay overnight.</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> Bikaner To Jaisalmer
										</p>
										<p class="aj">after break fast Check-out from the hotel and embark on a road journey to Jaisalmer. This place has been given the sobriquet – the Golden City as many of its buildings have been made using yellow sandstone. Home to numerous historical edifices, this destination witnesses a huge influx of tourists all year-round.<br />
<br />
On arrival at Jaisalmer, check-in at the hotel and unpack. Spend a peaceful night 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> Jaisalmer
										</p>
										<p class="aj">Embark on a sightseeing tour of this destination. Visit the world-renowned Jaisalmer Fort, which is also referred to as the Crown of the City. This fort, constructed using sandstones, is 250 feet tall and is a prominent tourist attraction. There are 99 bastions in the fort, 92 of which were constructed between 1633 and 1647. Amalgamation of Rajput and Islamic architecture in the construction of this fort is sure to catch the attention of visitors. Patwon ki Haveli is another prominent site to visit at this destination. This haveli was constructed in the year 1805 by Guman Chand Patwa – a rich merchant of that time.<br />
<br />
Do not forget a visit to the sparkling Gadsisar Lake. In the evening, visit the famous Sam Sand Dunes (direct payment basis) and enjoy a camel cart ride to the Sunset Point (direct payment basis).<br />
<br />
Later, return to the hotel and stay overnight.</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 7:</b> Jaisalmer To Jodhpur
										</p>
										<p class="aj">In the morning, after check-out from the hotel and drive towards Jodhpur. The city is referred to as the Blue City as there are a large number of blue-painted houses dotted across the region. There is a plethora of temples, forts and palaces in this city that deserve a visit. One of the most prominent attractions of the place is the Mehrangarh Fort, which is situated at a hill top.<br />
<br />
On arrival at this destination, check-in at the hotel and rest. You can spend the evening at leisure or can go out for sightseeing. Spend the night at the hotel in Jodhpur.</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 8:</b> Jodhpur To Mount Abu
										</p>
										<p class="aj">in the morning after break fast check our from the hotel and move towards one of the most beautiful and hot favorite tourist destination mount abu<br />
<br />
just arrive at the mount abu, check in to the hotel and just take a rest for a while and then refresh and Spend a leisurely evening and spend the night at Mount Abu.</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 9:</b> Mount Abu
										</p>
										<p class="aj">After a refreshing breakfast, visit Shankar Math, Achalgarh, Guru Shikhar, Brahmakumari Peace Park, Delwara temple and Gaumukh Temple. In the evening, at around 4.30 pm, visit the Sunset Point and witness a beautiful sunset. Later, enjoy boating on Nakki Lake and then return to the hotel. Spend a comfortable night 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 10:</b> Mount Abu To Udaipur Via Nathdwara & Chittorgarh
										</p>
										<p class="aj">After break fast check out from the hotel and go ahead.<br />
On the route to Mount Abu from Chittorgarh, explore the town of Nathdwara. Located on the banks of the Banas River, this town in Rajsamand is popular for the Shrinathji Temple dedicated to Lord Krishna.<br />
<br />
after visited Temple go ahead towards Chittorgarh. You can plan a visit to the Chittorgarh Fort, known for its palaces, two towers and temples. This structure is around 180 metres high, spread across an area of over 619 acres. It was built in 8th century AD, and has survived a number of attacks and wars since then. Of all the structures here, the palaces belonging to Rani Padmini and Maharana Kumbha are the most exquisite ones. Vijay Stambh with its intricate carvings is another attraction of this place. This nine-storey tower was built to celebrate the victory of Maharana Kumbha over this fort. There is another tower named Kirti Stambh in the premises that was built in the 12th century by a Jain merchant, in the honour of Adinatha – the first Tirthankara.<br />
The Kalika Mata Temple, dedicated to Goddess Kali, is another important attraction of this place. It was built in the 8th century, and is considered as a symbol of valour and power by many people.<br />
Later in the evening, come back to udaipur and check in to hotel and relax and refresh and over night stay at hotel.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Udaipur
											</p>
											<p class="aj">On this day, pack your luggage and move ahead to the next destination - Udaipur, which is one of the most-visited places in India.<br />
Udaipur is also called the City of Lakes, and is popular among tourists for its beautiful palaces giving stunning views of tarns and the city. It was named after its founder - Maharana Udai Singh II. He was the 53rd ruler of the Mewar Dynasty, and found this city in the year 1559 as the capital of the Kingdom of Mewar.<br />
As you reach here, check-in at the designated hotel and take rest. Later, step out of the hotel for a sightseeing trip of Udaipur.<br />
During this excursion, you can visit tow beautiful lakes situated here, namely Lake Pichola and Fateh Sagar Lake. While the first is an artificial freshwater lake known for its two beautiful islands – Jag Mandir and Jag Niwas, the latter is located to its north and is famous for the observatory and park on its islands. Other two main lakes in the city are Udai Sagar Lake and Dhebar Lake.<br />
One of the most popular attractions in Udaipur is the majestic City Palace, which is a huge palace complex known for its grandeur and flamboyance. It has been featured prominently in several international movies, which have added more to its fame. You can also see Gulab Bagh - the largest garden in the city. It gets such as name because of the abundance of colourful roses.<br />
After a sightseeing tour of Udaipur, return to the hotel for 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 12:</b> Udaipur - Finish Journey
											</p>
											<p class="aj">At Morning after break fast check out from the hotel and  Transfer to Udaipur Airport / Railway Station and board your flight or train to go back to your sweet home. have a great and safe journey.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.</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>* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.arihanttravellam.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Incredible 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="50798"/>
						</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.arihanttravellam.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</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.arihanttravellam.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.arihanttravellam.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.arihanttravellam.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</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.arihanttravellam.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</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.arihanttravellam.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</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.arihanttravellam.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.arihanttravellam.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</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.arihanttravellam.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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.arihanttravellam.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</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.arihanttravellam.com/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</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.arihanttravellam.com/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</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.arihanttravellam.com/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari</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.arihanttravellam.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.arihanttravellam.com/packages-in-chittorgarh.htm" title="Packages in Chittorgarh">Chittorgarh</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.arihanttravellam.com/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</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.arihanttravellam.com/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</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.arihanttravellam.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.arihanttravellam.com/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.arihanttravellam.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arihanttravellam.com/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.arihanttravellam.com/valley-holidays-catid.htm" title="Valley Packages">Valley</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:66:"Book Rajasthan Incredible Tour - 11 Nights / 12 Days Tour Packages";i:2;s:190:"book rajasthan incredible tour - 11 nights / 12 days tour packages, heritage tour packages, ajmer, bikaner, chittorgarh, jaipur, jaisalmer, jodhpur, mount abu, pushkar, udaipur tour packages";i:3;s:241:"Book Rajasthan Incredible Tour - 11 Nights / 12 Days tour packages from Arihant Travellam - Get attractive 11 Nights / 12 Days Heritage  tour packages for  Ajmer, Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Mount Abu, Pushkar, Udaipur.";i:4;s:1770:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Ajmer, Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Mount Abu, Pushkar, Udaipur"        
		                 },
		      "description": "RAJASTHAN INCREDIBLE

Is the package in which you will cover all most all the beauty of Rajasthan, here you will get so much enough time to create all the memorable moments and also get enough time for relaxation.

In this package you will be able to cover all the beautiful place of Rajasthan like, JAIPUR - AJMER - PUSHKAR - BIKANER - JAISALMER - JODHPUR - MOUNT ABU - NATHDWARA - CHITTORGARH - UDAIPUR , after cover all this place you will definitely find the most memorable days of your life,

Here we will design & operate your package in such a way that you will complete your journey very comfortably, at the time of your arrival our expert will be there to pick you,

Here you will get a private vehicle to cover all the things, which is in very good condition and also with well known driver who help you to cover all the things.

Apart from this you will get accommodation facility at all the place. a very well luxurious hotel will be provided to you as per your budget in which you will find good comfort, also with very good quality food and very well mannered staff.

Also the one more beauty of this package is that we can customize this package as per your budget, your time and as per your requirement. 

Just contact us once for more details & if any query.",
		      "name": "Rajasthan Incredible Tour",
		      "telephone": "+91-9033481665"
		    }
		    </script>
			";i:5;N;}