a:6:{i:0;s:32886:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Rajasthan Standard Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.skylinetravel.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.skylinetravel.co.in/holiday-packages.htm" title="Packages">Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Rajasthan Standard Package</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-->				
									<div class="fo">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_18/527492/260006.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/527492/260006.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/527492/260006.jpg"  height=""  width=""    alt="Rajasthan Standard Package" title="Rajasthan Standard Package"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">Rajasthan Standard Package 
					
											<span class="fw3 xsmall yellow">(
						6 Nights / 7 Days 
						)</span>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Bikaner, Jaipur, Jaisalmer, Jodhpur</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="db ttu xsmall mt5px">Price On Request</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.skylinetravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Standard Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="172799"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Hotel Details<br />
jaipur, 2 Night(s)<br />
royal View Hotel<br />
 <br />
 trip Advisor Rating   (based On 63 Reviews)<br />
overview<br />
hotel Royal View, Jaipur, Justifies the Essence of the Royal City Where Traditional Hospitality and Care are of Paramount Importance. this Stylish and Contemporary Business Hotel Offers a Stay Full of Fond Memories with Its Elegant Guest Rooms, Banqueting and Business Facilities, Culinary Delicacies and Basic Services.<br />
<br />
bikaner, 1 Night(s)<br />
hotel Desert Winds<br />
 <br />
 trip Advisor Rating  (based On 188 Reviews)<br />
overview<br />
hotel Overview Rajasthan Offers Everything to a Tourist, Be It Heritage, Culture, Religions, Wild Life, Adventure, Wellness, Business. It is Known as One of the World?s Richest Centre for Art and Craft. No Itinerary is Complete Without Rajasthan as Its One of the Destination. Lying in the North of the Desert State, Bikaner the Heritage City is Deep in the Desert On the Ancient Caravan Routes. Bikaner is Renowned for Its Rich Tradition, Culture, Fort & Palaces. the Hotel Desert Winds is a Unique Way to Experience Bikaner, Where Hospitality is Redefined. the Architecture of Hotel Desert Winds is a Blend of Ancient and Modern Times. It Has Articulately Made Stone Jharokhas and Todis. the Hotel Desert Winds is Ideally Located in Peaceful and Serene Environs. It is Only 1 Km. from the Junagarh Fort, Which is One of the Precious Gem of Indian Architecture in the Midst of Thar Desert. from the Hotel Roof Top One Can have a Splendid View of the Unassaible Fortress Junagarh and the Bikaner City. the Hotel Provides Accommodation of Super Deluxe Rooms. the Hotel Has 22 Well Furnished, Double Bedded, Air Conditioned Rooms. to Ensure Warm Service & other Hospitality Requirements, Attention to Detail is Given to Even the Smallest Activity. the Hotel Desert Winds is Owned and Managed By Sh. Arjun Singh, Dy. Dir.(retd) Rajasthan Tourism, Who is the Son of the Late Rao Bahadur Colonel, Thakur Jeoraj Singh of Harasar Thikana (adc to Maharaja Ganga Singh Ji the 21st Ruler of Bikaner). Late Rao Bahadur Colonel, Thakur Jeoraj Singh Was also the Army Minister and the Home Minister in the Erstwhile Princely State of Bikaner.<br />
<br />
jaisalmer, 1 Night(s)<br />
hotel Sohan Deep Palace<br />
 <br />
 trip Advisor Rating  (based On 94 Reviews)<br />
overview<br />
hotel Sohan Deep Palace Located in Jaisalmer Offers Comfortable Accommodation and Good Services. the Rooms are Spacious, Clean and Well-maintained Offering a Television Set, Attached Bathroom with Hot/cold Water and Many More Comforts. It Provides Amenities like Front Desk, Internet Access (wi-fi) and Many More Facilities. - See More At: Http://www.travelguru.com/hotels/india/jaisalmer/hotel-sohan-deep-palace-00020297#sthash.zhnuaiam.dpuf<br />
<br />
jaisalmer, 1 Night(s)<br />
shiv Tara Desert Camp<br />
or<br />
the Sultan, Jaislamer<br />
 <br />
overview<br />
we Take this Opportunity to Introduce You the One and Only Luxury Commercial Converted Camp Cum Resort, Which Emerges like a Golden Mirage, Which Unfolds the Charming Romance of the “thar” Desert. the Camp is like a Jewel in the Midst of the Soft Golden Sand. the Camp Has Recreated the Magic & Adventure of the Silk Route, that Was the Great Trading Center Between 8th & 12th Century. the Camp Combines the Modern Facilities and Conveniences with the Warmth & Personal Attention that Correctives the Traditional Indian Hospitality. the Location of the Shiv Tara Desert Camp is Arguably Its Greatest Asset, 38 Km from Jaisalmer At Sam, the Camp is Surrounded By Natural Sand Dunes, Wilderness of Unique Tranquility and Offering Visual Treat of Spectacular and Heavenly Sunrise and Amazing Sunset as if Emerging Itself in the Vast Expanse of Sand. It is a Memorable Experience to Be At the Shiv Tara Desert Camp. Surrounded By Golden Sand, as the Magic and Beauty of the Desert Overtakes You and Offer An Astonishing Ambience. Our Camps Provides Rustie Yet Comfortable Accommodation in Specious Twin Baded Luxury & Deluxe Swiss Cottage Tents Complete Draped in Crisp Clean Cotton Linen. Every Tent Has Attached Toilets(tiled & Fabricated) with Proper Facilities like Running Hot & Cold Water, a Sitout Varandah. Silenced Generater, Candles, Laltern & Mashals are Used for Lighting to Mention the Serence Atmosphere. Life Here Vibrates with Folk Music and Trible Dances Around the Bonfire in the Center of the Camp. We Served Veried Buffet Meal and Bar-be-que of Indian, Continentel, Local Rajasthan Delicious. Special Desert Evening Every Evening is Special and Each Evening is Different and They are Tailor-made with Different Theme. the Evening are Livened Up By Campfire, Music and Folk Dances. Our Camps Offers You Safaris for the Exotic Encounter with Nout Doors. Visires Can Choose Between Camel or Jeep or Can Combine Them as Well. Elaborate Customized Safari Itineraries Can Be Made to Suit Your Individual Requirements. Visitors Can Visit the City of Jaisalmer to See the Intricately Latticed Havelies. Visit to the Lodharwa and the Pasharwanath Temple It is An Important Center for Jain Pilgrimage. Aakal Wood Fossil Park, Ruins of Deserted City Kuldhara. Our Camp is a Treat for Wild Life Lovers and the Bird Watchers as the Desert National Park is Situated Just Across the Road, You are as Good as Living in Park. An Extensive Verity of the Desert Biour like Ranging from Biour of Pray to Sand Grouse, Doves, Shrikes, Bee-eaters, Warbler and Desert Coursers Can Be Seen. the Most Remarkable Bird of the Desert is the Great Indian Bustard. among the Animal Found are the Desert Fox, Black Buck, Chinkaras, Nilgais and Crusted Porcupine. Our Camp is a Paradise for Film Units and Photographers. the Myriad Faces of the Desert Offers Beautiful and Compelling View, from the Star Rays of the Sun Cutting Across the Desert to the Nights When the Star Shine Bright. We Offered all Facilities and Program to Suit Your Requirements. We Can Arrange all Kind of Safaris Any Where in Rajasthan. May You Require Any Further Information Please Feel Free to Get in Touch with Us.<br />
<br />
jodhpur, 1 Night(s)<br />
hotel Jain Excellency<br />
 <br />
 trip Advisor Rating  (based On 13 Reviews)<br />
overview<br />
hotal Jain Excellency is a 24-bedroom Hotel Comprising Delux and Semi-delux Rooms.. It is Situated in the Very Heart of Jodhpur But Has the Added Bonus of Being Located in a Kalptru Shopping Complex with No Through Traffic, Therefore, Our Guests Can Enjoy the Best of Both Worlds - a Quiet Hotel Which is At the Same Time Just a Stones Throw from all the Most Popular Tourist Attractions. Pon Arrival all Our Guests are Given Their Own Front Door Key and Bedroom Key. Therefore Security At the Hotel is Never Compromised, Something for Which Those Traveling Alone are Very Grateful. in Addition to this Our Reception Staff have Instructions Never to Accept Anyone Who Might Indulge in Anti-social Behavior<br />
<br />
<br />
additional Info<br />
for Travel Between monday, 1 October 2018 , Sunday, 31 March 2019<br />
black Out Dates<br />
from : friday, 21 December 2018 to : saturday, 5 January 2019<br />
surcharge Dates<br />
per Person per Night<br />
from : monday, 5 November 2018 to : thursday, 15 November 2018 surcharge : inr 350</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Jaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Welcome to Jaipur City. On Your Arrival to the Charming Pink City of India Check in At Your Hotel. in the Evening Visit Birla Temple and Enjoy Dinner At Rajasthani Theme Restaurant. Where You Will Enjoy Various Traditional Rajasthani Dances, Puppet Show and Various other Interesting Activities (optional) Entry At Own Cost). Overnight in Your Hotel.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Jaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Take a Full Day Long Sightseeing Tour of Jaipur City that Includes the Jaigarh Fort, City Palace, Jantar Mantar Observatory, Hawa Mahal (palace of Winds) and Excursion to the Old Capital Amber. Here At Amber Fort, Youâ€™ll Ascend Till the Gates of Majestic Amber Fort On Elephant Back. the Fort Displays a Beautiful Mix of Mughal and Raj Put Styles of Architecture. Overnight in Your Hotel.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Jaipur - Bikaner (7 hrs drive)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast Drive to Bikaner On Arrival Bikaner Check in Hotel Visiting Well Preserved Junagarh Fort Built of Red Sand Stone Give the Impression of Rich Inlay of Pietra Dura and Apartments are Merely Richly Painted. Lalgarh Museum the Architectural Masterpiece in Red Sand Stone Its Facade is Almost Entirely Composed of the Pierced Stone Screens Called Jails. Palace Has Beautiful Lattice Work and Filigree Work. also Visit Asia's Biggest Camel Breeding Farm to Watch Different Breeds of Camels. Over Night At Hotel			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Bikaner- Jaisalmer										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast transfer for Jaisalmer, move out for exclusive sightseeing of one of the oldest forts of Rajasthan "Golden Fort", Gadisar Lake followed by a walking tour to admire the excellent stone carving work on Havelies in the town. Jaisalmer which Include fort of Jaisalmer, Gadisar Lake. Jain Temple, Patwon Ki Haveli. Overnight in Jaisalmer.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Jaisalmer - Tent										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												(famous Thar Desert Town of Rajasthan): On Your Arrival, Transfer On Camels to Desert Place in a Village Outside Jaisalmer to Spend Your Day in Rustic Desert Atmosphere, also Visit Sam Sand Dunes Here You Enjoy the Camel Ride and Witness the Sun Set Against the Sand Dunes and Enjoy Dance and Some Cultural Activities Under the Tinkling Stars. Night Stay in Non Ac Tented Accommodation.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Jaisalmer- Jodhpur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												(Famous Thar Desert Town of Rajasthan): On your arrival, transfer on camels to desert Place in a village outside Jaisalmer to spend your day in rustic desert atmosphere, Also visit Sam sand Dunes here you enjoy the Camel Ride and witness the Sun Set against the sand dunes and enjoy dance and some cultural activities under the tinkling stars. Night stay in Tented Accommodation			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Jodhpur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast, proceed for onward Journey to Airport or Railway Station			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Stay in Jaipur for 2 Nights , Stay in Bikaner for 1 Nights , Stay in Jaisalmer for 1 Nights , Stay in Jaisalmer for 1 Nights , Stay in Jodhpur for 1 Nights</li><li>
Jaipur: Breakfast, Bikaner: Breakfast, Jaisalmer: Breakfast, Jaisalmer: Breakfast and Dinner, Jodhpur: Breakfast</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">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.skylinetravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Standard 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="172799"/>
						</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.skylinetravel.co.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/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.skylinetravel.co.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/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.skylinetravel.co.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.skylinetravel.co.in/packages-in-zirakpur.htm" title="Packages in Zirakpur">Zirakpur</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.skylinetravel.co.in/packages-in-munnar.htm" title="Packages in Munnar">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.skylinetravel.co.in/packages-in-berlin.htm" title="Packages in Berlin">Berlin</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.skylinetravel.co.in/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.skylinetravel.co.in/packages-in-south-andaman.htm" title="Packages in South Andaman">South Andaman</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.skylinetravel.co.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</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.skylinetravel.co.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai</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.skylinetravel.co.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.skylinetravel.co.in/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.skylinetravel.co.in/packages-in-genting.htm" title="Packages in Genting">Genting</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.skylinetravel.co.in/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</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.skylinetravel.co.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.skylinetravel.co.in/packages-in-dresden.htm" title="Packages in Dresden">Dresden</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.skylinetravel.co.in/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.skylinetravel.co.in/packages-in-prague.htm" title="Packages in Prague">Prague</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.skylinetravel.co.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</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.skylinetravel.co.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.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.skylinetravel.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.skylinetravel.co.in/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.skylinetravel.co.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 spanlist dn"><a class="dif" href="http://www.skylinetravel.co.in/family-holidays-catid.htm" title="Family Packages">Family</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.skylinetravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</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.skylinetravel.co.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Bikaner, Jaipur, Jaisalmer, Jodhpur</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.skylinetravel.co.in/tour-packages/udaipur-jodhpur-and-jaisalmer-deluxe-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/527492/260012.jpg"  height="100"  width="100"    alt="Udaipur, Jodhpur and Jaisalmer Deluxe Package" title="Udaipur, Jodhpur and Jaisalmer Deluxe Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.skylinetravel.co.in/tour-packages/udaipur-jodhpur-and-jaisalmer-deluxe-package.htm" title="Udaipur, Jodhpur and Jaisalmer Deluxe Package"><h3>Udaipur, Jodhpur And Jaisalmer Deluxe Pack..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jaisalmer, Jodhpur, Udaipur</p>
															<div class="mt10px small">
							<form name="pkg_172800" id="pkg_172800" method="post" action="http://www.skylinetravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.skylinetravel.co.in/tour-packages/udaipur-jodhpur-and-jaisalmer-deluxe-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Udaipur, Jodhpur and Jaisalmer Deluxe Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="172800"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:65:"Book Rajasthan Standard Package - 6 Nights / 7 Days Tour Packages";i:2;s:140:"book rajasthan standard package - 6 nights / 7 days tour packages, heritage tour packages, bikaner, jaipur, jaisalmer, jodhpur tour packages";i:3;s:193:"Book Rajasthan Standard Package - 6 Nights / 7 Days tour packages from Skyline Tour & Travel - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Bikaner, Jaipur, Jaisalmer, Jodhpur.";i:4;s:7543:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bikaner, Jaipur, Jaisalmer, Jodhpur"        
		                 },
		      "description": "Hotel Details
jaipur, 2 Night(s)
royal View Hotel
 
 trip Advisor Rating   (based On 63 Reviews)
overview
hotel Royal View, Jaipur, Justifies the Essence of the Royal City Where Traditional Hospitality and Care are of Paramount Importance. this Stylish and Contemporary Business Hotel Offers a Stay Full of Fond Memories with Its Elegant Guest Rooms, Banqueting and Business Facilities, Culinary Delicacies and Basic Services.

bikaner, 1 Night(s)
hotel Desert Winds
 
 trip Advisor Rating  (based On 188 Reviews)
overview
hotel Overview Rajasthan Offers Everything to a Tourist, Be It Heritage, Culture, Religions, Wild Life, Adventure, Wellness, Business. It is Known as One of the World?s Richest Centre for Art and Craft. No Itinerary is Complete Without Rajasthan as Its One of the Destination. Lying in the North of the Desert State, Bikaner the Heritage City is Deep in the Desert On the Ancient Caravan Routes. Bikaner is Renowned for Its Rich Tradition, Culture, Fort & Palaces. the Hotel Desert Winds is a Unique Way to Experience Bikaner, Where Hospitality is Redefined. the Architecture of Hotel Desert Winds is a Blend of Ancient and Modern Times. It Has Articulately Made Stone Jharokhas and Todis. the Hotel Desert Winds is Ideally Located in Peaceful and Serene Environs. It is Only 1 Km. from the Junagarh Fort, Which is One of the Precious Gem of Indian Architecture in the Midst of Thar Desert. from the Hotel Roof Top One Can have a Splendid View of the Unassaible Fortress Junagarh and the Bikaner City. the Hotel Provides Accommodation of Super Deluxe Rooms. the Hotel Has 22 Well Furnished, Double Bedded, Air Conditioned Rooms. to Ensure Warm Service & other Hospitality Requirements, Attention to Detail is Given to Even the Smallest Activity. the Hotel Desert Winds is Owned and Managed By Sh. Arjun Singh, Dy. Dir.(retd) Rajasthan Tourism, Who is the Son of the Late Rao Bahadur Colonel, Thakur Jeoraj Singh of Harasar Thikana (adc to Maharaja Ganga Singh Ji the 21st Ruler of Bikaner). Late Rao Bahadur Colonel, Thakur Jeoraj Singh Was also the Army Minister and the Home Minister in the Erstwhile Princely State of Bikaner.

jaisalmer, 1 Night(s)
hotel Sohan Deep Palace
 
 trip Advisor Rating  (based On 94 Reviews)
overview
hotel Sohan Deep Palace Located in Jaisalmer Offers Comfortable Accommodation and Good Services. the Rooms are Spacious, Clean and Well-maintained Offering a Television Set, Attached Bathroom with Hot/cold Water and Many More Comforts. It Provides Amenities like Front Desk, Internet Access (wi-fi) and Many More Facilities. - See More At: Http://www.travelguru.com/hotels/india/jaisalmer/hotel-sohan-deep-palace-00020297#sthash.zhnuaiam.dpuf

jaisalmer, 1 Night(s)
shiv Tara Desert Camp
or
the Sultan, Jaislamer
 
overview
we Take this Opportunity to Introduce You the One and Only Luxury Commercial Converted Camp Cum Resort, Which Emerges like a Golden Mirage, Which Unfolds the Charming Romance of the “thar” Desert. the Camp is like a Jewel in the Midst of the Soft Golden Sand. the Camp Has Recreated the Magic & Adventure of the Silk Route, that Was the Great Trading Center Between 8th & 12th Century. the Camp Combines the Modern Facilities and Conveniences with the Warmth & Personal Attention that Correctives the Traditional Indian Hospitality. the Location of the Shiv Tara Desert Camp is Arguably Its Greatest Asset, 38 Km from Jaisalmer At Sam, the Camp is Surrounded By Natural Sand Dunes, Wilderness of Unique Tranquility and Offering Visual Treat of Spectacular and Heavenly Sunrise and Amazing Sunset as if Emerging Itself in the Vast Expanse of Sand. It is a Memorable Experience to Be At the Shiv Tara Desert Camp. Surrounded By Golden Sand, as the Magic and Beauty of the Desert Overtakes You and Offer An Astonishing Ambience. Our Camps Provides Rustie Yet Comfortable Accommodation in Specious Twin Baded Luxury & Deluxe Swiss Cottage Tents Complete Draped in Crisp Clean Cotton Linen. Every Tent Has Attached Toilets(tiled & Fabricated) with Proper Facilities like Running Hot & Cold Water, a Sitout Varandah. Silenced Generater, Candles, Laltern & Mashals are Used for Lighting to Mention the Serence Atmosphere. Life Here Vibrates with Folk Music and Trible Dances Around the Bonfire in the Center of the Camp. We Served Veried Buffet Meal and Bar-be-que of Indian, Continentel, Local Rajasthan Delicious. Special Desert Evening Every Evening is Special and Each Evening is Different and They are Tailor-made with Different Theme. the Evening are Livened Up By Campfire, Music and Folk Dances. Our Camps Offers You Safaris for the Exotic Encounter with Nout Doors. Visires Can Choose Between Camel or Jeep or Can Combine Them as Well. Elaborate Customized Safari Itineraries Can Be Made to Suit Your Individual Requirements. Visitors Can Visit the City of Jaisalmer to See the Intricately Latticed Havelies. Visit to the Lodharwa and the Pasharwanath Temple It is An Important Center for Jain Pilgrimage. Aakal Wood Fossil Park, Ruins of Deserted City Kuldhara. Our Camp is a Treat for Wild Life Lovers and the Bird Watchers as the Desert National Park is Situated Just Across the Road, You are as Good as Living in Park. An Extensive Verity of the Desert Biour like Ranging from Biour of Pray to Sand Grouse, Doves, Shrikes, Bee-eaters, Warbler and Desert Coursers Can Be Seen. the Most Remarkable Bird of the Desert is the Great Indian Bustard. among the Animal Found are the Desert Fox, Black Buck, Chinkaras, Nilgais and Crusted Porcupine. Our Camp is a Paradise for Film Units and Photographers. the Myriad Faces of the Desert Offers Beautiful and Compelling View, from the Star Rays of the Sun Cutting Across the Desert to the Nights When the Star Shine Bright. We Offered all Facilities and Program to Suit Your Requirements. We Can Arrange all Kind of Safaris Any Where in Rajasthan. May You Require Any Further Information Please Feel Free to Get in Touch with Us.

jodhpur, 1 Night(s)
hotel Jain Excellency
 
 trip Advisor Rating  (based On 13 Reviews)
overview
hotal Jain Excellency is a 24-bedroom Hotel Comprising Delux and Semi-delux Rooms.. It is Situated in the Very Heart of Jodhpur But Has the Added Bonus of Being Located in a Kalptru Shopping Complex with No Through Traffic, Therefore, Our Guests Can Enjoy the Best of Both Worlds - a Quiet Hotel Which is At the Same Time Just a Stones Throw from all the Most Popular Tourist Attractions. Pon Arrival all Our Guests are Given Their Own Front Door Key and Bedroom Key. Therefore Security At the Hotel is Never Compromised, Something for Which Those Traveling Alone are Very Grateful. in Addition to this Our Reception Staff have Instructions Never to Accept Anyone Who Might Indulge in Anti-social Behavior


additional Info
for Travel Between monday, 1 October 2018 , Sunday, 31 March 2019
black Out Dates
from : friday, 21 December 2018 to : saturday, 5 January 2019
surcharge Dates
per Person per Night
from : monday, 5 November 2018 to : thursday, 15 November 2018 surcharge : inr 350",
		      "name": "Rajasthan Standard Package",
		      "telephone": "91-8930001974"
		    }
		    </script>
			";i:5;N;}