a:6:{i:0;s:30673:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>The Golden Chariot Tour - Pride of South</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.abhaytoursandtravels.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.abhaytoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>The Golden Chariot Tour - Pride of South</p> 
									
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Badami, Bangalore, Hassan, Mysore, Goa City, Hospet</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.abhaytoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Golden Chariot Tour - Pride of South - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="11406"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/237500/13407.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/237500/13407.jpg"  width="150" height="150"    alt="The Golden Chariot Tour - Pride of South" title="The Golden Chariot Tour - Pride of South" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/237500/13408.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/237500/13408.jpg"  width="150" height="150"    alt="The Golden Chariot Tour - Pride of South" title="The Golden Chariot Tour - Pride of South" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/237500/46424.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/237500/46424.jpg"  width="150" height="150"    alt="The Golden Chariot Tour - Pride of South" title="The Golden Chariot Tour - Pride of South" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Welcome aboard The Golden Chariot. South India's first and only luxury tourist train. An exotic journey through Karnataka awaits you. One that stretches across time. And heritage, wildlife and beach destinations. Get ready to experience the wonders of the state in regal splendour. In the comfort of your very own kingdom, The Golden Chariot.Room Service<br />
Drinks<br />
Tips<br />
Laundry<br />
Telephone Calls<br />
Video Camera Fees<br />
Spa Car<br />
Business Car Facilities<br />
Liquor And Other Items Of Personal Nature								</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> Bangalore
										</p>
										<p class="aj">City Visit Option<br />
<br />
03:00 pm Check-in at Taj West End<br />
04:00 pm High-tea at Banquet Hall<br />
05:00 pm Briefing on The Golden Chariot<br />
05:30 pm Visit to Chitrakala Parishad / art gallery<br />
06:30 pm Cultural show<br />
07:00 pm Departure to Yeshwanthpur Railway Station<br />
<br />
Eco-resort Experience Option<br />
11 am onwards Check-in at Our Native Village<br />
<br />
12:00 noon Lunch<br />
02:30 pm Briefing on The Golden Chariot<br />
03:00 pm Eco-resort tour<br />
03:30 pm Art and culture tour – The Revivalist Movement<br />
04:00 pm Organic farm and herb garden tour<br />
04:30 pm Pottery session, Indian village games & bullock cart rides<br />
<br />
Golf Itinerary<br />
<br />
01:00 pm Departure to Karnataka Golf Association<br />
01:30 pm Tee off<br />
06:00 pm Snacks/Tea at the Golf course<br />
06:30 pm Departure to Yeswantpur Railway Station<br />
08:00 pm Arrival at Yeshwantpur Railway Station, Platform No. 6 Traditional Indian welcome Dinner onboard The Golden Chariot<br />
09:00 pm Departure to Mysore<br />
11:00 pm Arrival at Mysore<br />
<br />
* Travellers can choose any one option.</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> Mysore/ Kabini
										</p>
										<p class="aj">10:00 am Visit to the Mysore Palace after breakfast**<br />
11:00 am Departure to Kabini<br />
01:00 pm Arrival and lunch at Jungle Lodges & Resorts<br />
03:00 pm Jungle/ boat safari<br />
07:40 pm Screening of wildlife film. Dinner and overnight stay at Jungle Lodges & Resorts.</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> Kabini/ Mysore
										</p>
										<p class="aj">City Visit Option<br />
<br />
06:30 am Boat Safari<br />
09:30 am Departure to Mysore post breakfast<br />
11:30 am Back onboard The Golden Chariot<br />
01:00 pm Lunch onboard The Golden Chariot<br />
03:00 pm Mysore sightseeing: Srirangapatna**<br />
07:00 pm Arrival at Lalitha Mahal Palace Hotel. Cultural show followed by dinner.<br />
10:00 pm Back onboard The Golden Chariot<br />
<br />
Golf Itinerary<br />
<br />
08:30 am Departure to Mysore post breakfast<br />
11:30 am Back onboard The Golden Chariot<br />
01:00 pm Lunch onboard The Golden Chariot<br />
02:00 pm A round of Golf at Hotel Lalitha Mahal Palace<br />
07:00 pm Cultural show followed by dinner<br />
10:00 pm Back onboard The Golden Chariot<br />
<br />
* Travelers can choose any one option. ** Coach journey</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> Hassan
										</p>
										<p class="aj">Heritage Tour Option<br />
<br />
06:00 am Departure to Hassan<br />
08:15 am Arrival at Hassan<br />
09:00 am Departure to Shravanabelagola for sightseeing#**<br />
01:00 pm Lunch onboard The Golden Chariot<br />
02:45 pm Departure to Belur and Halebeedu for sightseeing**<br />
07:15 pm Back onboard The Golden Chariot<br />
<br />
Golf Itinerary<br />
<br />
06:00 am Departure to Hassan<br />
08:15 am Arrival at Hassan<br />
09:30 am Departure to Chikmagalur Golf course<br />
11:30 am Tee off<br />
02:30 pm Lunch at Taj Garden Retreat, Chikmagalur<br />
04:00 pm Departure to Hassan<br />
06:00 pm Back onboard The Golden Chariot<br />
07:45 pm Departure to Hospet. Dinner onboard The Golden Chariot.<br />
<br />
* Travellers can choose any one option. ** Coach journey<br />
#Note: Please note that you would have to climb close to 700 steps to experience the architectural marvel. Only those who can undertake this are advised to do so. Guests unwilling to climb can stay back on board The Golden Chariot.</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> Hospet
										</p>
										<p class="aj">06:00 am Arrival at Hospet<br />
08:30 am Departure to Hampi** post breakfast Sightseeing tour: Virupaksha Temple, Queens's bath, Elephant stables, local crafts bazaar, Royal enclosure, Hazara Rama Temple,<br />
01:00 pm Back onboard The Golden Chariot for lunch<br />
04:30 pm Sightseeing tour: Vittala Temple (The Stone Chariot)<br />
08:00 pm Back onboard The Golden Chariot Dinner onboard The Golden Chariot</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> Badami
										</p>
										<p class="aj">05:00 am Departure to Badami<br />
07:30 am Breakfast onboard The Golden Chariot<br />
08:30 am Arrival at Badami<br />
08:40 am Sightseeing tour: Badami Caves and Pattadakal<br />
01:30 pm Back onboard The Golden Chariot for lunch<br />
02:00 pm Departure to Goa Dinner onboard The Golden Chariot<br />
<br />
** Coach journey</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> Goa
										</p>
										<p class="aj">Heritage Tour Option<br />
<br />
09:30 am Breakfast onboard The Golden Chariot<br />
10:00 am Sightseeing tour<br />
11:00 am Visit to the churches of old Goa<br />
12:15 pm Tea/coffee at Solar Souto Maior Shopping at the emporium<br />
02:00 pm Reach Majorda Beach Resort for lunch<br />
03:00 pm onwards Avail of facilities like spa treatments, casino, swimming pool, beach etc.<br />
<br />
Golf Itinerary<br />
<br />
08:00 am Breakfast onboard The Golden Chariot<br />
09:30 am Departure to Intercontinental The Lalit Goa Resort Golf Course<br />
11:30 am Tee off<br />
02:30 pm Lunch at the hotel<br />
04:00 pm Departure from the resort<br />
05:30 pm Back onboard The Golden Chariot<br />
07:00 pm Dinner onboard The Golden Chariot Departure to Bangalore</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> Bangalore
										</p>
										<p class="aj">09:30 am Breakfast onboard The Golden Chariot<br />
11:00 am Reach Yeswanthpur Railway Station Farewell by the entire crew<br />
<br />
*Travellers can choose any one option.<br />
Terms and Conditions Golf Itinerary<br />
Pricing: An additional charge of USD 125 per person per round of Golf is applicable.<br />
Conditions: Golf can be included only when a minimum of four guests choose the option.<br />
Golf itinerary is subject to change without prior notice. Itinerary, destination and scheduled departure may change without prior notice.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Meals</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Room Service</li><li>
Drinks</li><li>
Tips</li><li>
Laundry</li><li>
Telephone Calls</li><li>
Video Camera Fees</li><li>
Spa Car</li><li>
Business Car Facilities</li><li>
Liquor And Other Items Of Personal Nature</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								(Half fare for children between 5 and 12 years)
10% Surcharge shall be levied on departures during Christmas / New Year. Service Tax @ 3.09% shall be levied on the prevalent tariff of The Golden Chariot as per Govt. of India norms Above Tariff is Subject to change without notice.								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">The Golden Chariot - Tariff Card (October 2012 - March2013)</p>
    	<div class="otherDetails aj">PRIDE OF SOUTH<br>
<br>
October 2012 - March 2013 (For International travellers)</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Occupancy Type 	</td>
				<td class="headHr p5px b">Per person / night (USD) </td>
				<td class="headHr p5px b">Total for 7 nights per person (USD) </td>
			</tr>
			<tr>
				<td class="data p5px">Single 	</td>
				<td class="data p5px">754 </td>
				<td class="data p5px">5278 </td>
			</tr>
			<tr>
				<td class="data p5px">Double </td>
				<td class="data p5px">545 	</td>
				<td class="data p5px">3815 </td>
			</tr>
			<tr>
				<td class="data p5px">Triple </td>
				<td class="data p5px">440 </td>
				<td class="data p5px">3080</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><b>Reservation Policy</b><br />
<b>In case of FITs :</b> 20% of ticket value at the time of confirming the booking. Remaining 80% of ticket value 30 days prior to departure.<br />
<b>In case of Group:</b> 50% of ticket value at the time of confirming the booking. Remaining 50% of ticket value 45 days prior to departure.<br />
<br />
<b>Cancellation Policy:</b><br />
<b>In case of FITs:</b> 5% of the ticket value if cancellation is made until 60 days prior to departure. 20% of the ticket value if cancellation is made between 30-59 days prior to departure. 50% of the ticket value if cancellation is made between 15-29 days prior to departure. 100% of the ticket value if the cancellation is made 14 days prior to departure.<br />
<b>In case of Group:</b> 10% of the ticket value if cancellation is made until 60 days prior to departure. 25% of the ticket value if cancellation is made between 30-59 days prior to departure. 75% of the ticket value if cancellation is made between 15-29 days prior to departure. 100% of the ticket value if the cancellation is made 14 days prior to departure.<br />
<br />
<b>No show/ En route termination of tour/amendment:</b> No Show - In case of No Show / Non-arrival of the guest, no refund or adjustment in future travel will be possible. The whole amount shall be treated as forfeited. En route termination of tour - In case of termination of tour by the guest, for any reasons, no refund or adjustment for future travel will be possible. The amount for unused portion of the tour shall be treated as forfeited. Amendment - Is only possible under the circumstances like Natural Disaster / Natural Calamity or Serious Health Problem&#39;s (this needs to be supported by doctor&#39;s certificate) and is subject to availability. No refunds are possible and every case will be decided on merits on a case to case basis.								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.abhaytoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="The Golden Chariot Tour - Pride of South - 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="11406"/>
						</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.abhaytoursandtravels.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(45)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(37)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(37)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(35)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(35)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(35)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-jammu.htm" title="Packages in Jammu">Jammu</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-katra.htm" title="Packages in Katra">Katra</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-patnitop.htm" title="Packages in Patnitop">Patnitop</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/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 spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</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.abhaytoursandtravels.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.abhaytoursandtravels.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.abhaytoursandtravels.com/packages-in-orchha.htm" title="Packages in Orchha">Orchha</a> <b class="alpha50 bn small">(2)</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.abhaytoursandtravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(37)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.abhaytoursandtravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(14)</b></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 Badami, Bangalore, Hassan, Mysore, Goa City</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.abhaytoursandtravels.com/tour-packages/the-golden-chariot-tour-southern-splendor.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/237500/13405.jpg"  alt="The Golden Chariot Tour - Southern Splendor" title="The Golden Chariot Tour - Southern Splendor"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.abhaytoursandtravels.com/tour-packages/the-golden-chariot-tour-southern-splendor.htm" title="The Golden Chariot Tour - Southern Splendor"><h3>The Golden Chariot Tour - Southern Splendo..</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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bangalore, Alleppey, Chennai, Kanyakumar..</p>
															<div class="mt10px small">
							<form name="pkg_11405" id="pkg_11405" method="post" action="http://www.abhaytoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.abhaytoursandtravels.com/tour-packages/the-golden-chariot-tour-southern-splendor.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="The Golden Chariot Tour - Southern Splendor - 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="11405"/>
							</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:79:"Book The Golden Chariot Tour - Pride of South - 7 Nights / 8 Days Tour Packages";i:2;s:168:"book the golden chariot tour - pride of south - 7 nights / 8 days tour packages, valley tour packages, badami, bangalore, hassan, mysore, goa city, hospet tour packages";i:3;s:221:"Book The Golden Chariot Tour - Pride of South - 7 Nights / 8 Days tour packages from Abhay Tours & Travels - Get attractive 7 Nights / 8 Days Valley  tour packages for  Badami, Bangalore, Hassan, Mysore, Goa City, Hospet.";i:4;s:953:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Badami, Bangalore, Hassan, Mysore, Goa City, Hospet"        
		                 },
		      "description": "Welcome aboard The Golden Chariot. South India's first and only luxury tourist train. An exotic journey through Karnataka awaits you. One that stretches across time. And heritage, wildlife and beach destinations. Get ready to experience the wonders of the state in regal splendour. In the comfort of your very own kingdom, The Golden Chariot.Room Service
Drinks
Tips
Laundry
Telephone Calls
Video Camera Fees
Spa Car
Business Car Facilities
Liquor And Other Items Of Personal Nature",
		      "name": "The Golden Chariot Tour - Pride of South",
		      "telephone": "+91-9871629998"
		    }
		    </script>
			";i:5;N;}