a:6:{i:0;s:14326:"				<div class="h1"><h1>Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New York</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 140400 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017 - 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="85334"/>
						</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_14/393874/149981.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/149981.jpg"  width="150" height="150"    alt="Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017" title="Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					.All Hotels As Mentioned Below<br />
Airport Transfers On Private Basis (From Jfk & To Buf Airport)<br />
6 Dinners At Indian Restaurant (Choice Of Veg, Non Veg & Jain)<br />
6 American Buffet Breakfast<br />
Hindi Speaking Tour Director (Will Meet At 6 Pm On Day 1 & Be With The Group Till End Of Day 6)<br />
Tour Will Be Conducted In A 55 Seater/22 Seater/15 Seater/Van Based On The Number Of People Signed For The Tour<br />
Wifi At All Hotels As Well As 55 Seater Coach. N/A For Smaller Vans/Coaches.<br />
Sightseeing:<br />
Statue Of Liberty<br />
Wall St Bull<br />
Freedom Tower<br />
Doubledecker City Tour In Ny<br />
Philadelphia Doubledecker <br />
Uss Constellation<br />
Paddle Boat Tour<br />
City Tour Of Dc (Guided)<br />
Air & Space Museum<br />
Capitol Tour In Dc (If Open For Tours) For Wednesday Departures Only<br />
Museum Of Natural History (For Thursday Departures Only)<br />
Hershey’S Chocolate World <br />
Pennsylvania State Capitol (If Open)<br />
Corning Glass Museum<br />
Illumination Of Falls<br />
Imax Movie In Niagara<br />
Cave Of The Winds<br />
Maid Of The MistLunches<br />
Domestic Flights Arriving Into Jfk & Departing Out Of Buf (For Wednesday Departure, Your Flight Will Be Arriving On Wed At Jfk & Departing Out Of Buffalo, Ny On Tuesday.<br />
Visa & Processing Fees<br />
Porterage<br />
Mandatory Tips ($12 Per Person) To Be Given To The Tour Director. This Cannot Be Pre Paid.<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">Welcome to NY!!!! Your pick up will be done by our airport representative. Representative will be at Baggage claim for Domestic passengers & Currency exchange for International arrivals. (in order for us to coordinate the pick-up, we need a valid contact number for the passengers. Wait time will vary anywhere from 30 minutes to 1 hour for International passengers).  Check into Hotel Hilton (Check in time 3 PM). ****Please note that the hotel may take your Credit card at the time of check in towards Incidentals. The hold on the card will be released once the guests check out if no charges are incurred**********<br />
Meet your tour manager at 6 pm in the hotel lobby to start the tour. Enjoy a wonderful buffet dinner at Indian restaurant. After dinner, get one hour of free time at Times Square to see the city in action at night. Overnight at Hotel (HILTON JFK OR SIMILAR). For passengers wising to stay longer, please take cab on own to get to the 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> New York
								</p>
								<p class="aj">Enjoy a Hearty buffet breakfast at the hotel & depart at 7:45 am to get on to the Statue of Liberty Ferry from Battery park. View the world famous iconic Statue symbolizing the country’s freedom. Lunch on own. Make a pit stop to see the “NY BULL” on Wall St. This bronze statue weighs 3200 kgs & is a symbol of financial optimism & prosperity. Enjoy a scenic view from the top of Freedom tower. This is now the tallest building on the Western Hemisphere and stands in place of Twin towers. After an early dinner at the Indian restaurant, see New York at its best from a double-decker bus. In “The City that Never Sleeps,” the best sightseeing happens after the sun goes down. Discover the brilliant lights, stunning views and vibrant nightlife with double-decker Night Tour! Overnight at Hilton JFK or similar</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> Philadelphia
								</p>
								<p class="aj">Get an early start to your day & drive to Philadelphia (approximately 2 hours’ drive without traffic. Enjoy an entertaining tour of the largest city in Pennsylvania state in a double-decker bus.  Our entertaining tour guide is a history buff, and he will relate the love of the city and a real sense of Philadelphia’s place in history to the group. Lunch on own. Drive to the beautiful city of Baltimore (2 hours’ drive approximately) to view one of its Historic ships – USS Constellation which carried an important diplomatic role in Civil war. The sloop was launched on 26 August 1854 and commissioned on 28 July 1855 with Captain Charles H. Bell in command. She remained in service for close to a century before finally being retired in 1954, and preserved as a museum ship. Enjoy a ride in self-driven paddleboat (that holds 4 passengers)  on the Baltimore’s inner harbor. Drive to outskirts of DC to check into your hotel (approximately one hour’ drive). Dinner enroute. Check into Marriott Crystal city or Similar)</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> Pennsylvania
								</p>
								<p class="aj">Today after breakfast, enjoy a tour of the Capitol building-if open for tours (seat of United States Congress) & learn a little bit more in detail about the Nation’s legislature. Enjoy city tour with a specialized guide in DC covering all the major landmarks. See all the key attractions DC has to offer and learn about the history and trivia that surrounds Washington on this interactive tour of the capital city. You will visit the major monuments on this quick and efficient tour and see the best attractions<br />
At the end of the city tour, you will be given time at Air & space museum to view all the different exhibits related to space & Aeronautics. Lunch on own. Proceed to Hershey’s Chocolate world & enjoy a ride depicting the various stages of chocolate making. Dinner at Indian restaurant & check into Hotel (Hilton Harrisburg or Similar).<br />
********Please note that for Thursday departures, Capitol tour in DC is not included. We will instead do a city tour of DC in the morning followed by two museums- AIR & SPACE MUSEUM & MUESEUM OF NATURAL HISTORY. Rest of the itinerary remains the same.</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> Pennsylvania
								</p>
								<p class="aj">After breakfast, proceed to do the Pennsylvania Capitol tour (if open for tours) & drive to Corning Glass museum (approximately 3 hours) to view over 40,000 objects representing more than 3500 years’ of glass making. Lunch on own. Proceed to Niagara Falls (approximately 2 hours of drive). Dinner at Indian restaurant. View the illumination of falls at night. This illumination includes a range of colors that alternate throughout the evening and shine over all of Niagara Falls & stay overnight at hotel (Sheraton at the falls or similar)</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> Niagara
								</p>
								<p class="aj">Today after breakfast, enjoy a 45 minute IMAX movie at the Niagara adventure theatre. To view you next attraction, Cave of the Winds, you will take an elevator ride- 175 feet below to get to a feel the power of Falls first hand. Geared-up in a souvenir rain poncho and specially designed sandals, guests follow wooden walkways along Niagara River to the Hurricane Deck. Do not forget to take extra pair of clothes as you will definitely get wet. You will also take a closer look at the Bridal veil falls in a boat ride abroad Maid of the mist. Lunch on own. Evening Free on own. Dinner at Indian restaurant & overnight 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 7:</b> Departure.
								</p>
								<p class="aj">After breakfast, our representative will pick you up from the hotel for airport transfer based on your individual flights (please note that check out time is 3 pm). Packed breakfast option is not available for passengers taking early flight.</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>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Lunches</li><li>
Domestic Flights Arriving Into Jfk & Departing Out Of Buf (For Wednesday Departure, Your Flight Will Be Arriving On Wed At Jfk & Departing Out Of Buffalo, Ny On Tuesday.</li><li>
Visa & Processing Fees</li><li>
Porterage</li><li>
Mandatory Tips ($12 Per Person) To Be Given To The Tour Director. This Cannot Be Pre Paid.</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017 - 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="85334"/>
						</form>
						</div>
						
						";i:1;s:106:"Book Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017 - 6 Nights / 7 Days Tour Packages";i:2;s:154:"book tl001: gala east coast (wednesday & thursday departures)- gale 2017 - 6 nights / 7 days tour packages, heritage tour packages, new york tour packages";i:3;s:190:"Sanskruti Vacations offers Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017 - 6 Nights / 7 Days tour package, budget Heritage tour packages for New York at exciting price.";i:4;s:1731:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New York"        
		                 },
		      "description": ".All Hotels As Mentioned Below
Airport Transfers On Private Basis (From Jfk & To Buf Airport)
6 Dinners At Indian Restaurant (Choice Of Veg, Non Veg & Jain)
6 American Buffet Breakfast
Hindi Speaking Tour Director (Will Meet At 6 Pm On Day 1 & Be With The Group Till End Of Day 6)
Tour Will Be Conducted In A 55 Seater/22 Seater/15 Seater/Van Based On The Number Of People Signed For The Tour
Wifi At All Hotels As Well As 55 Seater Coach. N/A For Smaller Vans/Coaches.
Sightseeing:
Statue Of Liberty
Wall St Bull
Freedom Tower
Doubledecker City Tour In Ny
Philadelphia Doubledecker 
Uss Constellation
Paddle Boat Tour
City Tour Of Dc (Guided)
Air & Space Museum
Capitol Tour In Dc (If Open For Tours) For Wednesday Departures Only
Museum Of Natural History (For Thursday Departures Only)
Hershey’S Chocolate World 
Pennsylvania State Capitol (If Open)
Corning Glass Museum
Illumination Of Falls
Imax Movie In Niagara
Cave Of The Winds
Maid Of The MistLunches
Domestic Flights Arriving Into Jfk & Departing Out Of Buf (For Wednesday Departure, Your Flight Will Be Arriving On Wed At Jfk & Departing Out Of Buffalo, Ny On Tuesday.
Visa & Processing Fees
Porterage
Mandatory Tips ($12 Per Person) To Be Given To The Tour Director. This Cannot Be Pre Paid.",
		      "name": "Tl001: Gala East Coast (Wednesday & Thursday Departures)- Gale 2017",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}