a:6:{i:0;s:16352:"				<div class="h1"><h1>India Luxury Beaches Tour</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>India Luxury Beaches Tour</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">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Jaipur, Udaipur, Agra, Kochi, Mumbai, Alappuzha/Alleppey</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="India Luxury Beaches Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="99495"/>
						</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/167738.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/167738.jpg"  width="150" height="150"    alt="India Luxury Beaches Tour" title="India Luxury Beaches Tour" /></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> Arrival in Delhi 
								</p>
								<p class="aj">Overnight stay at the Imperial Hotel<br />
On arrival at the international airport in Delhi, our representative will escort you to the hotel. After a traditional Indian welcome at the reception, check in and relax for the day. Enjoy the various hotel facilities and treat yourself to an authentic Indian dinner. Overnight stay at the hotel in Delhi.</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">Overnight stay at the Imperial Hotel<br />
In the morning, after breakfast at the hotel, proceed for a full day sightseeing tour of New and Old Delhi. Drive through the Rajpath and sightsee the Parliament, India Gate, Rashtrapati Bhavan, and Diplomatic Enclave. Later, take a rickshaw ride to Jama Masjid, the largest mosque in India, Chandi Chowk markets, Red Fort, and Rajghat. Return to the hotel for dinner and overnight stay in Delhi.</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">Overnight stay at Amarvilas<br />
Drive to Agra (4 -5 hours journey, 201 km) after breakfast at the hotel. On arrival in Agra, check in at the hotel and proceed for a sightseeing tour. Visit Agra Fort, Itimad-ud-Daulah, Akbar's Tomb and Taj Mahal by twilight on a battery van ride. Visit to the Taj Mahal in the moonlight can be arranged on request. Later in the evening, explore the colorful markets of the city and shop for souvenirs and eat out or return to the hotel for dinner and overnight stay in Agra.</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 - Jaipur 
								</p>
								<p class="aj">Overnight stay at Rajvilas<br />
Drive to Jaipur (6-hour journey, 221 km), after breakfast at the hotel. En route, detour for Fatehpur Sikri, a ruined fort city established by Akbar and take a heritage walk to the palaces, mosques, pavilions, tombs, and Buland Darwaza (the largest gateway in the world). On arrival in the Pink City, check in at the hotel and relax for the day. Explore the colorful ancient markets of the city in the evening or enjoy the hotel facilities. The majestic forts and palaces aligned on the massive city walls are never to far from sight. Dinner and overnight stay at the hotel in Jaipur.</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> Jaipur
								</p>
								<p class="aj">Overnight stay at Rajvilas<br />
In the morning, proceed for a sightseeing tour of Jaipur city. Visit Amber Fort (the former capital of Jaipur that can be approached by treks or elephant rides), City Palace (famous for its Mughal-Rajasthani architectural blend, Chandra Mahal, Shri Govind Dev Temple and the City Palace Museum), Jantar Mantar Observatory (the finest of the 5 astronomical observatories built by Maharaja Jai Singh II), Hawa Mahal (five-storied pink sandstone Palace of Winds'), Birla Temple (white marble Vishnu temple), Jaigarh Fort (famous of the largest cannon-wheel) and Nahargarh Fort (now a heritage hotel). Return to the hotel for an overnight stay in Jaipur.</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 - Udaipur 
								</p>
								<p class="aj">Overnight stay at Udaivilas or Lake Palace<br />
After breakfast at the hotel, drive to the airport to board the flight to Udaipur. On arrival in the city of lakes and palaces and the rising sun, after just one hour after takeoff, check in at the hotel and relax for a while. The day is free for you to enjoy the city at your own pace. Walks to the colorful Udaipur bazaars, boat cruises and other water activities at the picturesque Lake Pichola, or shop at Shilpgram crafts village are sure to get you in the spirit of this desert oasis. Return to the hotel for dinner and overnight stay in Udaipur.</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> Udaipur
								</p>
								<p class="aj">Overnight stay at Udaivilas or Lake Palace<br />
In the morning, after breakfast at the hotel, proceed for a half day sightseeing tour of Udaipur that includes visits to City Palace, Lake (Jag Mandir) Palace, Saheliyon-Ki-Bari, Museum, and Jagdish Temple. Post lunch proceed for an excursion to the 15th century Kumbhalgarh fort and the temples of Eklingi and Nagada. Rest of the evening is free for you to spend it on leisure activities. Return to the hotel for dinner and overnight stay in Udaipur.</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 - Mumbai
								</p>
								<p class="aj">Overnight stay at Hotel Taj Mahal<br />
After breakfast at the hotel, drive to the airport to board the Jet Airways flight back to Mumbai. On arrival, 1½ hours after takeoff, proceed for a half day sightseeing tour of the city of dreams. Visit St John's Church at Mumbai Fort; drive on the classic Marine Drive, click a photograph at the Gateway of India, and snack at the Chowpatty Beach. Later visit Flora Fountain at the Hutama Chowk, 18 km Juhu Beach, and see the sunset as the Mumbai comes to life in the night from the famous 1880's Hanging Gardens in Malabar Hills. After some shopping and eating, drive to the airport for a flight back home or to your onward destination.</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> Mumbai
								</p>
								<p class="aj">Overnight stay at Hotel Taj Mahal<br />
After breakfast at the hotel, proceed for a day trip to the Elephanta Caves on a jetty. After one and half hours of sea travel that in itself an exhilarating experience, land on the island that has been distinguished as a World Heritage Site for its 9th - 12th century caves. After lunch return to the hotel for a refreshing siesta. The rest of the day is free for leisure activities such as beach walks, shopping, and eating out. Return to the hotel for overnight stay in Mumbai.</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> Mumbai - Cochin - Marari 
								</p>
								<p class="aj">Overnight stay at Marari Beach Resort<br />
After breakfast at the resort, drive to the airport for a flight to Cochin, Kerala. On arrival, 2 ½ hours after takeoff, drive to Marari, a famous and exclusive beach resort destination in Kerala. Check in at the resort for dinner and overnight stay in Marari.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Marari 
									</p>
									<p class="aj">Overnight stay at Marari Beach Resort<br />
After breakfast at the resort, the day is free for you to relax on the pristine beaches and enjoy the morning sun. Indulge in the many beach and water activities that are available at the resort or take a much deserving break at the Ayurveda Center. The evening is reserved for a sunset cruise to the Kochi Harbor. Return to the resort for dinner and overnight stay in Marari.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 12:</b> Marari 
									</p>
									<p class="aj">Overnight stay at Marari Beach Resort<br />
Breakfast at the resort and enjoy the hospitality extended by it at the spa and authentic Ayurveda center. The rest of the day is free for you to laze on the beach and enjoy swimming and snorkeling in the crystal clear waters of the Andaman Sea.</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 13:</b> Marari - Backwaters Cruise - Marari
									</p>
									<p class="aj">Overnight stay at Marari Beach Resort<br />
After breakfast at the resort, drive to Alapuzzha and aboard the traditional houseboat for a backwater cruise. Drift through the backwaters of Kerala that are as timeless as the coconut groves and small Kerala villages that flank them on both sides. As you cruise past the many lakes, lagoons, canals, and rivulets that form the backwater system in Alapuzzha, Kerala, keep an eye open for the passing paddy fields, duck farms, mussel divers, Mangalam, Chithira, R-block and C block villages. Return to the resort in the evening for dinner and overnight stay in Marari.</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 14:</b> Cochin - Delhi
									</p>
									<p class="aj">Stay at Leela Kempinski or Radisson Hotel<br />
After breakfast at the hotel, drive to the airport to board the Jet Airways flight to Delhi. On arrival, check in at the hotel and spend the day on leisure activities such as shopping, and other recreational activities. After a farewell dinner, proceed to the airport to board the flight heading back home or to your onward destination.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<br />
												 <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="India Luxury Beaches Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="99495"/>
						</form>
						</div>
						
						";i:1;s:68:"Book India Luxury Beaches Tour - 13 Nights / 14 Days Tour Packages";i:2;s:184:"book india luxury beaches tour - 13 nights / 14 days tour packages, beach and islands tour packages, new delhi, jaipur, udaipur, agra, kochi, mumbai, alappuzha/alleppey tour packages";i:3;s:230:"Book India Luxury Beaches Tour - 13 Nights / 14 Days tour packages from Journey Asia - Get attractive 13 Nights / 14 Days Beach and Islands  tour packages for  New Delhi, Jaipur, Udaipur, Agra, Kochi, Mumbai, Alappuzha/Alleppey.";i:4;s:466:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Jaipur, Udaipur, Agra, Kochi, Mumbai, Alappuzha/Alleppey"        
		                 },
		      "description": "",
		      "name": "India Luxury Beaches Tour",
		      "telephone": "+91-9910078863"
		    }
		    </script>
			";i:5;N;}