a:6:{i:0;s:11826:"				<div class="h1"><h1>Agra Delhi Manali Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.fourstoursandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.fourstoursandtravels.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Agra Delhi Manali 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">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, Manali, Agra</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.fourstoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Agra Delhi Manali 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="91307"/>
						</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_16/460853/157369.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/460853/157369.jpg"  width="150" height="150"    alt="Agra Delhi Manali Package" title="Agra Delhi Manali Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Cab For Sightseeing And Cabs For Pickup/ Drops<br />
All Hotel Check In Will Be 12.00 Noon To 12.00 Noon, Early Check In Is Promoted With Adjustments.<br />
One Super Delux / Delux Non Ac Rooms In 3 Star Category Hotels/ Resorts On Twin Sharing.<br />
All Volvo Tickets Are Booked Via Portals And Any Cancellation Regarding/ Change In Timings/ Behavior Of Staff Of Bus Is Not Concern To Our Company.<br />
We Will Not Provide Food.<br />
The Bus/Cab Will Ply Only To Enterance/Parking Lot Provided, Any Hire Of Extra Vehicles Excludes.<br />
Package Excludes Expences For Hire Of Any Other Vehicles/ Cart<br />
Breakage Of Any Bus Components/ Hotel Amenities Will Be Charged In Extra.<br />
We Assure Best Package.<br />
No Compromise In Quality.<br />
A Perfect Travel Partner<br />
Note: Book The Package Minimum 15 Days Before departure.<br />
Because We Always Assure You The Best And Kindly Allow Us To Do So By<br />
Avoiding Late BookingsAny increase the train fare/ Any other Fare like tickets etc…<br />
Evening tea/snacks.<br />
Manali Room Heaters.<br />
Any personal expenses/ extra like telephone, laundry, drinks, portage etc.<br />
Special jackets and adventure sports activities.<br />
Any services not mentioned in the above list of inclusions will be additional.<br />
Metro Train Tickets.<br />
GST 3.14% on the total package cost<br />
Personal expenses<br />
Airfares / Ship fare to mainland India<br />
Activity charges, Rafting, Paragliding, Jet Ski, scuba diving etc<br />
Expenses occurred due to bad weather, flight or ferry cancellation , strike or political unrest .<br />
Any dispute regarding child age to be settled directly with hotels<br />
Room Services, Laundry, Telephone charges.<br />
Additional usage of vehicle<br />
Cost of services which is not mentioned in the “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> Arrival
								</p>
								<p class="aj">Pickup From Agra Airport/Railway Station<br />
Sight Seeing Agra<br />
Fresh up At Hotel, 11.00 Am Visit To Taj Mahal, 12.30 Pm Lunch,<br />
1:00 Pm Visit To Agra fort,Shopping At Sadar Bazaar.<br />
9:30 Pm dinner<br />
[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 2:</b> Delhi
								</p>
								<p class="aj">7.30 Am Breakfast, 8.00 Am Departure To Delhi<br />
Sight Seeing Delhi<br />
12.00 Pm Visit To Akshardham Temple, 1.00 Pm Lunch, Visit To Raj Ghat, 3.00 Pm Departure To Manali<br />
Over Night Journey To Manali, Dinner On The Way At Dhaba</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> Manali
								</p>
								<p class="aj">8.30 Am Freshup-Breakfast<br />
Sight Seeing Manali<br />
Enjoy The Free Day& Awesome Climate In Manali As All The Spot Is Very Near And At A Walking From Our Resort<br />
11.00 Am Visit To Manali-Hadimba Temple, 12.00 Pm Lunch, 1.00 Pm Visit To Tibetan Monetary<br />
6.00 Pm Enjoy Good Time In The Markets Of Manali – Visit Mall Road<br />
[Stay At Resort]</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> Kullu
								</p>
								<p class="aj">7.00 Am Fresh Up At Hotel, 7.30 Am Breakfast<br />
Sight Seeing Manali<br />
8.50 Am Rohtang Pass [If Open], Where You Will Have A Senic View Of Shivallic Range And Have Fun In Snow<br />
[100 Km Round Tour],<br />
Return Way Visit Rahala Falls, Also Visit To Vashist Temple-Hot Water Spring<br />
Departure To Kullu<br />
White Water River Rafting<br />
Can Be Enjoyed In The River Beas (Excluded In Package),<br />
Rafting Is Done On The Stretches Of The River Beas, Where Rapids Of High Grades<br />
Rafted Safely, Providing An Exhilarating Experience For Enthusiasts.<br />
Overnight Journey To 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 5:</b> Delhi
								</p>
								<p class="aj">9.30 Am Breakfast<br />
Sight Seeing Delhi<br />
9.30 Am Visit To Qutqb Minar, 11.30 Pm Visit To Parliament House, 12.30 Pm Visit To Rashtrapathi Bhavan, 1.00 Pm Lunch,<br />
Visit To India Gate<br />
Evening Enjoy The Speedy Metro Journey/Life Style Of Capital City<br />
Shopping At Cannot Place/ Palika Bazaar.........<br />
[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 6:</b> Departure
								</p>
								<p class="aj">Drop At Delhi Railway Station/ Airport</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 increase the train fare/ Any other Fare like tickets etc…</li><li>
Evening tea/snacks.</li><li>
Manali Room Heaters.</li><li>
Any personal expenses/ extra like telephone, laundry, drinks, portage etc.</li><li>
Special jackets and adventure sports activities.</li><li>
Any services not mentioned in the above list of inclusions will be additional.</li><li>
Metro Train Tickets.</li><li>
GST 3.14% on the total package cost</li><li>
Personal expenses</li><li>
Airfares / Ship fare to mainland India</li><li>
Activity charges, Rafting, Paragliding, Jet Ski, scuba diving etc</li><li>
Expenses occurred due to bad weather, flight or ferry cancellation , strike or political unrest .</li><li>
Any dispute regarding child age to be settled directly with hotels</li><li>
Room Services, Laundry, Telephone charges.</li><li>
Additional usage of vehicle</li><li>
Cost of services which is not mentioned in the “Inclusions”</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Please submit correct name, PHOTOS and age - to avoid the penalties at the time of checking.</li>
	<li>Tour Members should be carried any valid school/college identity card.</li>
	<li>Escorting staff&rsquo;s should be carried school/college identity card and any other identity card.</li>
	<li>80% amount to be remitted in advance while booking the tour and balance amount remitted before the commencement of the journey.</li>
	<li>Company representative as tour manager accompanies the journey from beginning to end.</li>
	<li>There may be slight changes in the time schedule and itinerary if needed.</li>
	<li>If the trip is cancelled due to any problem by the clients, the advance amount will not be refundable.</li>
	<li>Please Note to collect and keep payment bills with cash received/ company seal at least for 6 months after journey.</li>
	<li>Please collect respected tour Itinerary both printed and Mailed.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.fourstoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Agra Delhi Manali 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="91307"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Agra Delhi Manali Package - 5 Nights / 6 Days Tour Packages";i:2;s:125:"book agra delhi manali package - 5 nights / 6 days tour packages, valley tour packages, new delhi, manali, agra tour packages";i:3;s:164:"Four S Tours & Travels offers Agra Delhi Manali Package - 5 Nights / 6 Days tour package, budget Valley tour packages for New Delhi, Manali, Agra at exciting price.";i:4;s:2102:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Manali, Agra"        
		                 },
		      "description": "Cab For Sightseeing And Cabs For Pickup/ Drops
All Hotel Check In Will Be 12.00 Noon To 12.00 Noon, Early Check In Is Promoted With Adjustments.
One Super Delux / Delux Non Ac Rooms In 3 Star Category Hotels/ Resorts On Twin Sharing.
All Volvo Tickets Are Booked Via Portals And Any Cancellation Regarding/ Change In Timings/ Behavior Of Staff Of Bus Is Not Concern To Our Company.
We Will Not Provide Food.
The Bus/Cab Will Ply Only To Enterance/Parking Lot Provided, Any Hire Of Extra Vehicles Excludes.
Package Excludes Expences For Hire Of Any Other Vehicles/ Cart
Breakage Of Any Bus Components/ Hotel Amenities Will Be Charged In Extra.
We Assure Best Package.
No Compromise In Quality.
A Perfect Travel Partner
Note: Book The Package Minimum 15 Days Before departure.
Because We Always Assure You The Best And Kindly Allow Us To Do So By
Avoiding Late BookingsAny increase the train fare/ Any other Fare like tickets etc…
Evening tea/snacks.
Manali Room Heaters.
Any personal expenses/ extra like telephone, laundry, drinks, portage etc.
Special jackets and adventure sports activities.
Any services not mentioned in the above list of inclusions will be additional.
Metro Train Tickets.
GST 3.14% on the total package cost
Personal expenses
Airfares / Ship fare to mainland India
Activity charges, Rafting, Paragliding, Jet Ski, scuba diving etc
Expenses occurred due to bad weather, flight or ferry cancellation , strike or political unrest .
Any dispute regarding child age to be settled directly with hotels
Room Services, Laundry, Telephone charges.
Additional usage of vehicle
Cost of services which is not mentioned in the “Inclusions”",
		      "name": "Agra Delhi Manali Package",
		      "telephone": "+91-8089895191"
		    }
		    </script>
			";i:5;N;}