a:6:{i:0;s:32834:"						<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"  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-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-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-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 "><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-pattaya.htm" title="Packages in Pattaya">Pattaya</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"  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;}