a:6:{i:0;s:12905:"				<div class="h1"><h1>Delhi - Goa Rail Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delhi - Goa Rail Tour Package</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">Tour Code </td>
						<td class="p5px pl0px vat">GOA ON WHEEL</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Goa City</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 12435 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delhi - Goa Rail Tour 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="58658"/>
						</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_9/257644/110909.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/110909.jpg"  width="150" height="150"    alt="Delhi - Goa Rail Tour Package" title="Delhi - Goa Rail Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Grand India Tours Is Proud To Announce Goa Rail Package, Commencing Its First Tour On 17Th November 2015. The Tour Package Will Be Covered By Trivandrum Rajdhani Having The Options Of Travelling In 2Ac As Well As 3Ac. Come And Explore The Perfect Holiday Destination - Goa<br />
Traveling Mode - Train<br />
Station/Departure Time - Nzm/ 10:55 Hrs<br />
Class - 2A & 3A<br />
Frequency - Tuesday<br />
Meal Plan - 3Ac (Comfort Package) - Cpai 2Ac (Deluxe Package) - Mapai<br />
Hotel Name - The Pride Sun Village Resort And Spa Or Similar<br />
<br />
Package Tariff Valid From 01-Mar-16 To 31-Mar-16:- (Persons Travelling In 3Ac/2Ac)Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature<br />
Any Still / Video Camera fees, entrance fees for monuments except for Amber Fort and any activities suggested in the itinerary are chargeable direct.<br />
Any additional meals / en route meals, sightseeing and activities other than those mentioned in the itinerary<br />
Any service not specified in inclusions<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> Delhi
								</p>
								<p class="aj">Departure from Hazrat Nizamuddin Railway Station by Train No-12432 Trivandrum Rajdhani at 10:55 hrs, Overnight on train.</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> Madgoan
								</p>
								<p class="aj">Arrival at Madgoan Railway Station at 12:32 hrs. transfer to hotel by AC vehicle. Check in at hotel. Evening at leisure. Overnight stay at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Madgoan
								</p>
								<p class="aj">After breakfast day at leisure. Overnight stay at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Madgoan
								</p>
								<p class="aj">After breakfast day at leisure. Overnight stay at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Madgoan
								</p>
								<p class="aj">After breakfast, in time transfer to Madgaon Railway Station to board 12431 Rajdhani Express at 10:10 hrs. Overnight train 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 6:</b> Delhi
								</p>
								<p class="aj">Arrival at Hazrat Nizamuddin Railway Station at 12:40 hrs.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature</li><li>
Any Still / Video Camera fees, entrance fees for monuments except for Amber Fort and any activities suggested in the itinerary are chargeable direct.</li><li>
Any additional meals / en route meals, sightseeing and activities other than those mentioned in the itinerary</li><li>
Any service not specified in inclusions</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Train Details:<br />
<br />
Onward Journey:- Train no. 12432 Trivandrum Rajdhani, Dep Time - Nizammudin Station at 10:55 hrs Arrival at Madgaon on 12:32 hrs <br />
<br />
Return Journey:- Train no. 12431 Trivandrum Rajdhani, Departure time - Madgaon station at 10:10 hrs Arrival time 12:40 hrs at Nizammudin Station<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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Rate Card</p>
    	<div class="otherDetails aj">Occupancy	Prices(Per Person)</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Occupancy/Prices</td>
				<td class="headHr p5px b">Comfort Class</td>
				<td class="headHr p5px b">Deluxe Class</td>
			</tr>
			<tr>
				<td class="headVr p5px">Single Occupancy</td>
				<td class="data p5px">Rs. 19665/-</td>
				<td class="data p5px">Rs. 24771/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Double Occupancy</td>
				<td class="data p5px">Rs. 14157/-</td>
				<td class="data p5px">Rs. 19263/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Triple Occupancy</td>
				<td class="data p5px">Rs. 12435/-</td>
				<td class="data p5px">Rs. 17541/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child(05-11yrs) with bed</td>
				<td class="data p5px">Rs. 9407/-</td>
				<td class="data p5px">Rs. 13109/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child (05-11yrs) without bed</td>
				<td class="data p5px">Rs. 7686/-</td>
				<td class="data p5px">Rs. 11388/-</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Rate Card</p>
    	<div class="otherDetails aj">Occupancy	Prices(Per Person)<br>
Package Tariff valid from 19-Apr-2016:- (Persons travelling in 3AC/2AC).</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Occupancy / Prices</td>
				<td class="headHr p5px b">Comfort Class</td>
				<td class="headHr p5px b">Deluxe Class</td>
			</tr>
			<tr>
				<td class="headVr p5px">Single Occupancy</td>
				<td class="data p5px">Rs. 18890/-</td>
				<td class="data p5px">Rs. 23996/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Double Occupancy</td>
				<td class="data p5px">Rs. 13726/-</td>
				<td class="data p5px">Rs. 18832/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Triple Occupancy</td>
				<td class="data p5px">Rs. 12113/-</td>
				<td class="data p5px">Rs. 17219/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child(05-11yrs) with bed</td>
				<td class="data p5px">Rs. 9085/-</td>
				<td class="data p5px">Rs. 12787/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child (05-11yrs) without bed</td>
				<td class="data p5px">Rs. 7471/-</td>
				<td class="data p5px">Rs. 11173/-</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Rate Card</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Occupancy / Prices</td>
				<td class="headHr p5px b">Comfort Class</td>
				<td class="headHr p5px b">Deluxe Class</td>
			</tr>
			<tr>
				<td class="headVr p5px">Single Occupancy</td>
				<td class="data p5px">Rs. 18890/-</td>
				<td class="data p5px">Rs. 23996/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Double Occupancy</td>
				<td class="data p5px">Rs. 13726/-</td>
				<td class="data p5px">Rs. 18832/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Triple Occupancy</td>
				<td class="data p5px">Rs. 12113/-</td>
				<td class="data p5px">Rs. 17219/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child(05-11yrs) with bed</td>
				<td class="data p5px">Rs. 12113/-</td>
				<td class="data p5px">Rs. 17219/-</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child (05-11yrs) without bed</td>
				<td class="data p5px">Rs. 10499/-</td>
				<td class="data p5px">Rs. 15605/-</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delhi - Goa Rail Tour 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="58658"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Delhi - Goa Rail Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:136:"book delhi - goa rail tour package - 5 nights / 6 days tour packages, beach and islands tour packages, new delhi, goa city tour packages";i:3;s:180:"Grand India Tours & Travels offers Delhi - Goa Rail Tour Package - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for New Delhi, Goa City at exciting price.";i:4;s:1431:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Goa City"        
		                 },
		      "description": "Grand India Tours Is Proud To Announce Goa Rail Package, Commencing Its First Tour On 17Th November 2015. The Tour Package Will Be Covered By Trivandrum Rajdhani Having The Options Of Travelling In 2Ac As Well As 3Ac. Come And Explore The Perfect Holiday Destination - Goa
Traveling Mode - Train
Station/Departure Time - Nzm/ 10:55 Hrs
Class - 2A & 3A
Frequency - Tuesday
Meal Plan - 3Ac (Comfort Package) - Cpai 2Ac (Deluxe Package) - Mapai
Hotel Name - The Pride Sun Village Resort And Spa Or Similar

Package Tariff Valid From 01-Mar-16 To 31-Mar-16:- (Persons Travelling In 3Ac/2Ac)Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature
Any Still / Video Camera fees, entrance fees for monuments except for Amber Fort and any activities suggested in the itinerary are chargeable direct.
Any additional meals / en route meals, sightseeing and activities other than those mentioned in the itinerary
Any service not specified in inclusions",
		      "name": "Delhi - Goa Rail Tour Package",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}