a:6:{i:0;s:16530:"				<div class="h1"><h1>Rajasthan Budget Tours</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journeyasia.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journeyasia.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Rajasthan Budget Tours</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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Udaipur, Agra, Chomu</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Budget Tours - 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="107038"/>
						</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_1/7828/177380.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/177380.jpg"  width="150" height="150"    alt="Rajasthan Budget Tours" title="Rajasthan Budget Tours" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Abroad / Delhi
								</p>
								<p class="aj">Arrive late night at New Delhi International airport.<br />
On arrival, the guest will be met by our representative and transferred to hotel.<br />
Upon arrival at hotel the guests will be provided with the traditional Indian welcome consisting of aarti-tikka and garlands with non-alcoholic welcome drink. Overnight at 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 2:</b> : Delhi
								</p>
								<p class="aj">Morning sightseeing tour of Old Delhi.<br />
This morning you will be taken to visit Old Delhi - Former centre of Moghul Power, Old Delhi offers ancient monuments, narrow streets and bustling bazaars. Visit the vast Red Fort, built in 1648, the Jama Masjid, the greatest mosque in India and completed in 1658 by Shah Jahan who also built the Taj Mahal, and the Raj Ghat, the simple memorial to Mahatma Gandhi.<br />
Afternoon sightseeing tour of New Delhi.<br />
New Delhi - drive past the stately government buildings of the British Era designed by Lutyens, including the India Gate & the Presidential Palace. Continue onto the beautiful Humayuns tomb of the Mughal era & predecessor of the world famous Taj Mahal. End the tour at the towering minaret of Qutab Minar.<br />
Exclusive dinner at 'Chor Bizarre' - a "one of its kind" restaurant where each corner beckons you with old memorabilia and bric-a-brac handpicked from various Chor Bazaars (Thieves' Market) all over India. Apart from the Old World ambience and unique setting, it is the only restaurant that serves the most authentic Kashmiri food from the south of the valley.<br />
Overnight at 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> Delhi - Agra 
								</p>
								<p class="aj">After a leisurely breakfast the guest drive to Agra (203 kms / 4 hours)<br />
Upon arrival check in at hotel.<br />
Late Afternoon you will be board on a decorated tongas (horse carriage) for a journey from your hotel to the Taj Mahal this white marble memorial built by Shah Jahan for his beautiful wife.…… Little needs to be said about this architectural wonder which is always the soul raison-de-etre for every tourist's visit to Agra.<br />
This monument took 22 years to be completed and was designed and planned by Persian architect Ustad Isa. Apart from it's stunning design balance and perfect symmetry, the Taj is also noted particularly for its elegant domes, intricately carved screens and some of the best inlay work ever seen. The guest will stay at the Taj Mahal till sunset to see this true wonder of the world in gentle late afternoon light.<br />
In the evening witness magic show. Magic show - There is nothing that captures the magical spirit of the lad as much as the conjuror who enthralls his audience with sleights of had and a range of tricks. Only the adventurous can volunteer to be sawed in half.<br />
Overnight at 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 4:</b> Agra - Samode 
								</p>
								<p class="aj">After breakfast visit the Red Fort.<br />
Red Fort - lies on the bend of the river Yamuna, almost in the heart of the town. Akbar built it as his citadel over the years 1563-73 in the finest architectural style. It has imposing gates and walls of red sandstone and a moat.<br />
Drive to Samode enroute visit Fatehpur Sikri.<br />
Fatehpur Sikri - drive to the impressive sandstone fortress of Fatehpur Sikri. The fort was built in the 16th century and only occupied for a few years before being abandoned, leaving the buildings in virtually perfect conditions.<br />
Continue drive to Samode. Upon arrival - check-in at the hotel.<br />
Samode - the small principality of Samode lies 50 kms northwest of the city of Jaipur and dates back to the 16th Century. The 7th ruler of Amber, the ancient capital of the Rajput Empire, had twelve sons, one of whom was awarded the feudatory seat of Samode for his gallantry and outstanding service. The construction of the fort began 400 years ago and each successive ruler added to the fort and the palace.<br />
Samode Palace - The comfortable palace is today full of architectural delights with stately corridors, frescoed walls ethereal audience halls, harmoniously reflecting the skill of master craftsmen. An evening at Samode is a magical experience of former princely India and part of an ongoing tradition.<br />
This evening we shall organise for a candle light dinner at the Sam dunes……The guests will board Camel Cart in the evening and shall be taken for about an hour to the Sam dunes. There you will witness Rajathani dance and music performance (you may just get carried away and start dancing yourself with them), While you enjoy the dance performance, our barman shall make drink of your choice…… which will be followed by a bar-be-que dinner. This will be a low seating candle light dinner on the Sand dunes in Samode (An experience of a lifetime). Return to hotel for an 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> Samode - Jaipur
								</p>
								<p class="aj">Morning explore the surroundings of Samode villages. Later drive to Jaipur. Afternoon city tour of Jaipur.<br />
Tour of the Pink City - Surrounded on three sides by the rugged Aravali hills, Jaipur is the picturesque capital of Rajasthan. It takes its name from the prince, soldier and astronomer Jai Singh II who moved his capital here in 1727. Jaipur is notable for its distinctive pink-orange coloring. The whole of the old city, including many fine palaces and buildings, was constructed from solid blocks of Sandstone or faced with the same stone. But it was only in 1853 that it gained its famous title, the "Pink City"- it was painted pink for the first time in honour of a visit from Prince Albert. You will also visit the 'Hawa Mahal' , the open air Jantar Mantar Observatory to see the vast astronomical instruments. Enjoy a stroll through the colorful bazaar before returning to your hotel. Overnight at 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> Jaipur
								</p>
								<p class="aj">After breakfast tour of Amber Fort.<br />
Tour of the impressive Amber Fort, situated on a ridge just outside Jaipur City. At the foot of the hill you will mount your caparisoned elephant for the slow but steady climb up to the main gate, making your entrance in the time honoured fashion. The Fort, completed in the early 18th century, took over 100 years to build and now, although deserted, offers a fascinating insight into the lifestyle of the Moghul ruling families.<br />
Enjoy a cycle rickshaw ride through the bustling bazaars. Jaipur is renowned for textile block printing, blue pottery, carpet weaving, semi-precious stones and local crafts which still thrive from the day of Maharaja Jai Singh's patronage when he designed special areas in the city for the 'bandhanas', the 'cheepas' and the 'meenakari' workers.<br />
Dinner and an overnight at 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 7:</b> Jaipur - Udaipur
								</p>
								<p class="aj">Transfer to the Airport or flight Jaipur/Udaipur (0720/0910 hrs).<br />
Upon arrival at Udaipur, the guests will be met and transferred to hotel. Morning sightseeing tour of City Palace,<br />
Visit the magnificent City Palace, which is simply enormous - an assemblance of not one but four separate palaces covering some four acres of area and exceeding all other palaces for colossal grandeur. Here you will marvel at rooms with mirrored walls and ivory doors, colored glass windows and inlaid marble balconies; and the Peacock Courtyard.<br />
Late afternoon boat cruise on Lake Pichola.<br />
Enjoy a boat cruise on Lake Pichola at sunset visiting the Jagmandir Island - in the middle of the romantic Lake Pichola. It commands a magnificent view of the City Palace, Lake Palace and Sajjangarh Fort, on its own island, and it is where Prince Khurram was given refuge in the 17th century<br />
Dinner at the Crystal Gallery at Fateh Prakash Palace hotel is a part of the City Palace Complex which was built in early 20th century during the reign of Maharana Fateh Singhji. It is situated on the shore of Lake Pichola and while eating at the Crystal Gallery you will witness the lit up Lake Palace in the middle of the lake which is such a romantic site. <br />
Overnight at 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 8:</b> Udaipur 
								</p>
								<p class="aj">Morning city tour of Udaipur.<br />
City tour of Udaipur - the romantic Lake City in Southern Rajasthan, famous for the stunning white marble Palace built on an island in the Lake Pichola. It was the former Palace of the Maharana and now converted to one of the most glamorous hotels in India. The tour will cover the magnificent City Palace, the Jagdish temple, and a drive around the other nearby lakes. then continue on to the Garden of Maidens "Sahelion-ki-bari' and the Folk Art Museum, to view the interesting collection of puppets & paintings.<br />
Afternoon free for own activities and to enjoy the facilities at the hotel.<br />
This evening an exclusive dinner will be arranged on floating platoon on the Lake Pichola.Most romantic dinner on the Lake Pichola with Lake Palace lit up at the backdrop. Overnight at 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 9:</b> Udaipur - Delhi
								</p>
								<p class="aj">Morning transfer from hotel to the airport for fight Udaipur/Delhi (0810/1045 hrs).<br />
Upon arrival the guest will be met and transferred to hotel. Overnight at 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> Delhi - Abroad
								</p>
								<p class="aj">Transfer from hotel to the airport for flight back home.</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>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Budget Tours - 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="107038"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Rajasthan Budget Tours - 9 Nights / 10 Days Tour Packages";i:2;s:143:"book rajasthan budget tours - 9 nights / 10 days tour packages, heritage tour packages, new delhi, jaipur, udaipur, agra, chomu tour packages";i:3;s:188:"Book Rajasthan Budget Tours - 9 Nights / 10 Days tour packages from Journey Asia - Get attractive 9 Nights / 10 Days Heritage  tour packages for  New Delhi, Jaipur, Udaipur, Agra, Chomu.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Udaipur, Agra, Chomu"        
		                 },
		      "description": "",
		      "name": "Rajasthan Budget Tours",
		      "telephone": "+91-9910078863"
		    }
		    </script>
			";i:5;N;}