a:6:{i:0;s:40058:"				<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>America Just For You</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.jaintravelkalka.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>America Just For You</p> 
										<div class="fo">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/68181.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/68181.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/68181.jpg"  alt="America Just For You" title="America Just For You"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">America Just For You 
					
											<span class="fw3 xsmall yellow">(
						6 Nights / 7 Days 
						)</span>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Washington, New York</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="db ttu xsmall mt5px">Price On Request</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.jaintravelkalka.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="America Just For You - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="32998"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</div>
											<p class="mb5px"><b>Attractions :</b> Statue of Liberty</p>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Enjoy Daily Buffet Breakfast.<br />
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners.<br />
Stay 02 Nights In New Jersey.<br />
Visit The Dazzling Times Square By Night.<br />
Enjoy The Action Of New York On Your City Tour.<br />
Enjoy A Boat Cruise To The Statue Of Liberty For A Close-Up View.<br />
Stay 01 Night In Atlantic City- "America'S Favorite Playground".<br />
Enjoy A Memorable Boardwalk Tour.<br />
Stay 01 Night In Washington D.C - The Capital Of Usa.<br />
Enjoy A Guided City Tour Of Washington D.C.<br />
Visit The Famous Smithsonian The National Air And Space Museum, In Washington, D.C.<br />
Visit The Most Popular American Chocolate Outlet - Hershey’S Chocolate World.<br />
Stay 01 Night In Buffalo.<br />
See The Gorgeous Spectacle Of The Niagara Falls Lit-Up At Night.<br />
A Thrilling Boat-Ride Aboard ‘The Maid Of The Mist’.<br />
Stay 01 Night In Philadelphia<br />
Professional, Friendly, Multi-Lingual And Experienced Indian Tour Manager Travelling With You Throughout Your Tour In Usa.<br />
Visit Major Cities In 7 Days: New York, Atlantic City, Washington, D.C. , Niagara And Philadelphia.Taxes As Payable Extra<br />
Usa Visa Fees<br />
Baggage Handling Fees For Check-In Baggage And Additional Sectors For Internal Flights.<br />
The Cost Of The Passport, Poe Charges, Etc.<br />
Tips To Guides, Drivers, Hotel Waiters, Etc. Of Usd 03 Per Person Per Day For The Duration Of The Tour.<br />
The Cost Of The Basic Travel Quota Equivalent To The Amount Of Usd 10,000.<br />
Any Increase In The Airfare Charged By The Airline On Your Air Ticket (Presently Calculated At 30Th<br />
September 2014).<br />
If You Wish To Travel On A Date Other Than The Group’S Ex-India Departure Date For Your Tour And/Or<br />
Wish To Return On A Date Other Than The Day Your Tour Ends And/Or Wish To Fly In/Out Of A City Other Then<br />
The Start/End City Of Your Tour, There Will Be An Additional Charge That Will Be Applicable (Subject To<br />
Availability Of Seats For The Given Dates And Ticket Validity), Which Will Be Advised To You By Your Sales<br />
Staff/Travel Agent. Kindly Note, The Deviation Will Be Actioned Only 30 Days Prior To The Tour Departure<br />
Date.<br />
Any Expenses Of Personal Nature Such As Porterage, Laundry, Wines, Mineral/Bottled Water, Food &<br />
Drink Not In The Regular Menus Provided By Us, Mini Bar And Telephone Calls.<br />
Meals Are Pre-Set And A Choice Of Menu Is Not Available.<br />
Cost Of Excursions, City Sightseeing, Entrance Fees And Local Guides Availed Of By The Passengers, Other<br />
Than That Mentioned In The ‘What Your Tour Price Includes’.<br />
Other Applicable Taxes Will Be Extra. </p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Welcome Aboard Thomas Cook’S Grand And Exciting Tour To The United States Of America. Start Your T										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Your getaway to the United States of America starts in New York - the city that has it all. On arrival you will be greeted by your professional and friendly Thomas Cook Tour Manager outside the baggage hall. Enroute enjoy a delicious dinner at an Indian restaurant. Proceed to check-in at your conveniently located hotel.<br />
Overnight at Hotel Edison / LaQuinta Inn or similar in New Jersey.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Enjoy The Sights Of New York City On An Extensive City Tour Followed By A Visit To The Iconic Struct										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Enjoy a buffet breakfast at the hotel, proceed on an amazing city tour - Visit the 9/11 memorial, see the Theatre district, Chinatown, Wall Street, Central Park and many more highlights of this vibrant city. Great opportunities to see the United Nations’ Global Headquarters and the Trump Tower, the Manhattan and Brooklyn Bridges as you continue on your city tour. Later enjoy a short cruise onboard your scenic boat to the Liberty Island for a close-up view of The Statue of Liberty.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> On to Atlantic City 										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast, check-out of your hotel, board your deluxe air-conditioned coach and proceed to Atlantic City - With a history, rich with firsts and social significance, Atlantic City has always been a<br />
Mecca for top-notch entertainment. From the boardwalk to the bay, this great city has become a worldclass destination and a "must see" attraction for millions. Later we proceed for a walking tour of the<br />
world famous Atlantic City Boardwalk. The first boardwalk in the United States, you'll learn of its origins and success for over a century. Songs have been written about it. Movies have been filmed about it.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Visit The Famous Smithsonian The National Air And Space Museum. Enjoy A Guided Tour Of Washington										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast at your hotel, sit back and relax in your coach as we proceed to Washington D.C.<br />
On arrival, enjoy a guided sightseeing tour of this historic and beautiful city. See the Washington Monument - The Marble Obelisk built in memory of George Washington. Continue on a panoramic drive to Pennsylvania Avenue arriving at The Capitol - the White dome-shaped building which serves as the office of elected members of the Senate. Also see the grand Neo Classical edifice of The White House, the official residence of the President of The United States of America. See the Lincoln Memorial, Korean Memorial and World War II Memorial. We then proceed to the Smithsonian Institution - The World’s Largest Museum Complex, which includes The National Air and Space Museum.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Onto Niagara! Enroute Visit The Famous Hershey’S Chocolate World										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Start your day with a delicious buffet breakfast. Later, sit back and relax in your coach as we drive for a visit to the most popular American Chocolate factory at Hershey’s Chocolate World. Engage your senses at the aroma of the cocoa beans. Here you will see the process of how beans are made into milk chocolate. We then continue our scenic journey to the Niagara Falls - one of the natural wonders of the world. On arrival, check-in to the hotel. This evening, we will take you to view the unmatched beauty of the falls in its entire splendor which is illuminated with bright colours of the rainbow - a sight not to be missed. Enjoy a hot delicious dinner at a local Indian restaurant.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Today, Ride Aboard The ‘Maid Of The Mist’ And See The Spectacular Niagara Falls From Close Quart										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast at your hotel, we take you to Niagara Falls to enjoy a thrilling boat ride aboard the ‘Maid of The Mist’ which gives you a breathtaking view of the cascading waters of this majestic<br />
waterfall that has no comparison anywhere in the world! (Due to weather conditions, this ride operates only after the 2nd week of May. We offer the ‘View Mobile Tram Ride’ instead, for all tourists visiting the falls prior to the commencement of this ride).			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Bid Farewell To All The Friends You Made And Return Home With Truly Wonderful Memories From Your Ame										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast at the hotel, proceed to the New York airport as your memorable tour with Thomas Cook comes to an end. Please do spare a few moments of your valuable time to write and share<br />
with us your wonderful experience.<br />
			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Taxes As Payable Extra</li><li>
Usa Visa Fees</li><li>
Baggage Handling Fees For Check-In Baggage And Additional Sectors For Internal Flights.</li><li>
The Cost Of The Passport, Poe Charges, Etc.</li><li>
Tips To Guides, Drivers, Hotel Waiters, Etc. Of Usd 03 Per Person Per Day For The Duration Of The Tour.</li><li>
The Cost Of The Basic Travel Quota Equivalent To The Amount Of Usd 10,000.</li><li>
Any Increase In The Airfare Charged By The Airline On Your Air Ticket (Presently Calculated At 30Th</li><li>
September 2014).</li><li>
If You Wish To Travel On A Date Other Than The Group’S Ex-India Departure Date For Your Tour And/Or</li><li>
Wish To Return On A Date Other Than The Day Your Tour Ends And/Or Wish To Fly In/Out Of A City Other Then</li><li>
The Start/End City Of Your Tour, There Will Be An Additional Charge That Will Be Applicable (Subject To</li><li>
Availability Of Seats For The Given Dates And Ticket Validity), Which Will Be Advised To You By Your Sales</li><li>
Staff/Travel Agent. Kindly Note, The Deviation Will Be Actioned Only 30 Days Prior To The Tour Departure</li><li>
Date.</li><li>
Any Expenses Of Personal Nature Such As Porterage, Laundry, Wines, Mineral/Bottled Water, Food &</li><li>
Drink Not In The Regular Menus Provided By Us, Mini Bar And Telephone Calls.</li><li>
Meals Are Pre-Set And A Choice Of Menu Is Not Available.</li><li>
Cost Of Excursions, City Sightseeing, Entrance Fees And Local Guides Availed Of By The Passengers, Other</li><li>
Than That Mentioned In The ‘What Your Tour Price Includes’.</li><li>
Other Applicable Taxes Will Be Extra.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								EX-MUMBAI<br />
April : 24<br />
May : 01								</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">Mumbai - Delhi Prices:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Type</td>
				<td class="headHr p5px b">INS</td>
				<td class="headHr p5px b">VISA (USA)</td>
				<td class="headHr p5px b">INR Ex Mumabai</td>
				<td class="headHr p5px b">INR Ex Delhi</td>
				<td class="headHr p5px b">USD</td>
			</tr>
			<tr>
				<td class="headVr p5px">SA</td>
				<td class="data p5px">1300</td>
				<td class="data p5px">0</td>
				<td class="data p5px">64100</td>
				<td class="data p5px">69100</td>
				<td class="data p5px">850</td>
			</tr>
			<tr>
				<td class="headVr p5px">DA</td>
				<td class="data p5px">1300</td>
				<td class="data p5px">0</td>
				<td class="data p5px">64100</td>
				<td class="data p5px">69100</td>
				<td class="data p5px">575</td>
			</tr>
			<tr>
				<td class="headVr p5px">TA</td>
				<td class="data p5px">1300</td>
				<td class="data p5px">0</td>
				<td class="data p5px">64100</td>
				<td class="data p5px">69100</td>
				<td class="data p5px">575</td>
			</tr>
			<tr>
				<td class="headVr p5px">DC</td>
				<td class="data p5px">1300</td>
				<td class="data p5px">0</td>
				<td class="data p5px">63100</td>
				<td class="data p5px">68100</td>
				<td class="data p5px">375</td>
			</tr>
			<tr>
				<td class="headVr p5px">INF</td>
				<td class="data p5px">1300</td>
				<td class="data p5px">0</td>
				<td class="data p5px">42700</td>
				<td class="data p5px">47700</td>
				<td class="data p5px">10</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Total Tour Cost</p>
    	<div class="otherDetails aj">Note - Government service tax is not included in the tour cost. Trip Protection NOT available on this tour.</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">INR Ex Mumbai</td>
				<td class="headHr p5px b">INR Ex Delhi</td>
				<td class="headHr p5px b">USD</td>
			</tr>
			<tr>
				<td class="data p5px">65400</td>
				<td class="data p5px">70400</td>
				<td class="data p5px">850</td>
			</tr>
			<tr>
				<td class="data p5px">65400</td>
				<td class="data p5px">70400</td>
				<td class="data p5px">575</td>
			</tr>
			<tr>
				<td class="data p5px">65400</td>
				<td class="data p5px">70400</td>
				<td class="data p5px">575</td>
			</tr>
			<tr>
				<td class="data p5px">64400</td>
				<td class="data p5px">69400</td>
				<td class="data p5px">375</td>
			</tr>
			<tr>
				<td class="data p5px">44000</td>
				<td class="data p5px">49000</td>
				<td class="data p5px">10</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Booking Amount</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Adult</td>
				<td class="headHr p5px b">Child</td>
			</tr>
			<tr>
				<td class="data p5px">60000</td>
				<td class="data p5px">60000</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>Important The Tour Will Be Operated Subject To A Minimum Of 25 Full Paying Passengers Travelling Together. In The Event That The Group Size Is Less Than 25 Passengers You Will Be Given An Option Of Travelling On Another Departure Date. Note All Transfers And Extensive Sightseeing With Entrance Fees (As Specified In The Itinerary) By A Deluxe Airconditioned Coach. Services Of Our Thomas Cook Tour Manager Or Local Representatives, While On Tour. On Some Occasions, You May Have To Join Another Group In Case Your Group Does Not Have Adequate Members. A Local Representative Or Your Coach Driver May Only Be There To Assist You During Your Initial Part Of The Tour. All Local Taxes And Services (Presently Calculated As Prevailing On 30 September 2014). A Person Below 12 Years Of Age On Date Of Return Flight Will Be Considered A Child. A Baby Below 24 Months Of Age On Date Of Return Flight Will Be Considered An Infant. As A 3Rd Person In A Triple Room, No Extra Bed Or Cot Will Be Provided. Land Surcharges Applicable On Certain Departure Dates. on Certain Departure Dates The Tour Routing Could Change. In Some Tours, There Is Also A Possibility That The Tour Could Operate In Reverse Itinerary. However You Will Not Miss Any Sightseeing Or Excursions That Are Mentioned In The Itinerary. Please Check With Your Sales Representative For Final Details. Certain Sightseeing And Excursions May Not Operate On Public Holidays. In Some Cities, There Is A Possibility That You May Have To Wait At The Airport (In The Terminal As Would Have Been Informed To You Before Departure By Your Booking Office) For Multiple Flight Arrivals/Departures Of Different Groups. Visa Requirements Single-Entry Usa Visa (Not Included)<br />
Points To Be Noted It Is Advisable To Book More Than 45 Days Prior To The Tour Departure Date As The Internal Ticket Rate Might Increase Closer To The Departure Date, Resulting In An Increase In The Tour Cost The Airfare Is Based On The Existing Fare Structure (Presently Calculated As Prevailing On 30Th September 2014). Any Further Increase In The Airfare Due To An Increase In Fuel Price, Change In Government Regulations, Ticket Taxes Etc. Charged By The Airline Will Have To Be Borne By The Passenger. Thomas Cook (I) Ltd Will Not Be Held Responsible For The Same Any Damage Caused To The Hotel Rooms Or Coach During Your Stay Shall Be Payable By The Passengers. Thomas Cook (I) Ltd Will Not Be Liable For The Same The Management Reserves The Right To Claim From The Passengers, Any Additional Expenses Incurred Due To Delay Or Changes In The Schedule Of Trains, Flights, Coach, Cruise Or Other Services We Reserve The Right To Amend, Alter, Vary Or Withdraw Any Particular Departure, Excursions Advertised Or Substitute A Hotel Of Similar Class If Deemed Necessary We Reserve The Right To Use Alternate Cruise Liners For Any Particular Departure, Excursions Advertised Or Substitute A Cruise Of Similar Class If Deemed Necessary The Images Used In This Brochure Are For Representation Purposes Only A Date Change Fee, As Applicable, Will Be Levied On Passengers Who Change Their Date Of Travel For The Convenience Of Our Passengers, We May Sometimes Will Have To Amend The Itinerary. However All Services Will Remain The Same The Company Reserves The Right To Alter The Order Of The Itinerary. The Same Will Be Informed To The Client Before Departure Due To Trade Fairs And Conventions In The Cities, It Is Possible That The Hotel Accommodation Provided Would Be Outside The City. The Same Will Be Informed In Advance Passengers Can Board The Tour From The Hub City. Those Boarding From Any Other City Can Do So, However All Expenses To/From The Hub City Is To Be Borne By The Passengers Other Applicable Taxes Will Be Extra The Company Shall Not Accept Any Liability Or Responsibility For Any Damages, Loss, Injury, Accident, Death, Delay, Breakdown Or Irregularity, Which May Occur In Carrying Out Of The Tour Arrangement Due To Weather Conditions, Strikes, War, Quarantine And Any Other Cause Whatsoever And All Such Loss Or Expenses Must Be Borne By The Passenger For All Joining Direct/Deviating Clients, There Would Be No Airport Transfers. The Transfer Cost Could Be Approximately Between Usd 150 - Usd 200 Per Person Per Way Tours Operated Subject To Rbi/Goi Regulations Part Of The Tour Cost Is Payable In Usd Out Of Your Btq. The Foreign Exchange Component Will Be Payable As Per The Rate Of Exchange Prevailing On The Date Of Payment Of Foreign Exchange When The Outbound Sector Of An Ex-India Ticket Is Not Utilized, The Return Segment Cannot Be Utilized For One-Way Travel And There Will Be No Refund For Non-Utilisation Please Refer To The Booking Form For Detailed Terms &amp; Conditions.								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.jaintravelkalka.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="America Just For You - 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="32998"/>
						</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.jaintravelkalka.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-panchkula.htm" title="Packages in Panchkula">Panchkula</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/packages-in-las-vegas.htm" title="Packages in Las Vegas">Las Vegas</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.jaintravelkalka.com/packages-in-new-york.htm" title="Packages in New York">New York</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.jaintravelkalka.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</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.jaintravelkalka.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</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.jaintravelkalka.com/packages-in-los-angeles.htm" title="Packages in Los Angeles">Los Angeles</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.jaintravelkalka.com/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</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.jaintravelkalka.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa 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.jaintravelkalka.com/packages-in-san-francisco.htm" title="Packages in San Francisco">San Francisco</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.jaintravelkalka.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</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.jaintravelkalka.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</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.jaintravelkalka.com/packages-in-pennsylvania.htm" title="Packages in Pennsylvania">Pennsylvania</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.jaintravelkalka.com/packages-in-engelberg.htm" title="Packages in Engelberg">Engelberg</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.jaintravelkalka.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.jaintravelkalka.com/packages-in-abu-dhabi.htm" title="Packages in Abu Dhabi">Abu Dhabi</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.jaintravelkalka.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</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.jaintravelkalka.com/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg</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.jaintravelkalka.com/packages-in-bern.htm" title="Packages in Bern">Bern</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.jaintravelkalka.com/packages-in-washington.htm" title="Packages in Washington">Washington</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.jaintravelkalka.com/packages-in-geneva.htm" title="Packages in Geneva">Geneva</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.jaintravelkalka.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.jaintravelkalka.com/packages-in-seattle-usa.htm" title="Packages in Seattle">Seattle</a> <b class="alpha50 bn small">(1)</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.jaintravelkalka.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.jaintravelkalka.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</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 Washington, New York</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.jaintravelkalka.com/tour-packages/classique-america-with-seattle-alaska-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/64142.jpg"  alt="Classique America with Seattle & Alaska Tour" title="Classique America with Seattle & Alaska Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.jaintravelkalka.com/tour-packages/classique-america-with-seattle-alaska-tour.htm" title="Classique America with Seattle & Alaska Tour"><h3>Classique America With Seattle & Alaska To..</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> : 
								19 Nights / 20 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New York, Pennsylvania, Las Vegas, Los A..</p>
															<div class="mt10px small">
							<form name="pkg_31140" id="pkg_31140" method="post" action="http://www.jaintravelkalka.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.jaintravelkalka.com/tour-packages/classique-america-with-seattle-alaska-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Classique America with Seattle & Alaska Tour - 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="31140"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.jaintravelkalka.com/tour-packages/american-memories1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/63019.jpg"  alt="American Memories" title="American Memories"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.jaintravelkalka.com/tour-packages/american-memories1.htm" title="American Memories"><h3>American Memories</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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Washington, New York, Pennsylvania, Las ..</p>
															<div class="mt10px small">
							<form name="pkg_30772" id="pkg_30772" method="post" action="http://www.jaintravelkalka.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.jaintravelkalka.com/tour-packages/american-memories1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="American Memories - 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="30772"/>
							</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:59:"Book America Just For You - 6 Nights / 7 Days Tour Packages";i:2;s:119:"book america just for you - 6 nights / 7 days tour packages, heritage tour packages, washington, new york tour packages";i:3;s:155:"Jain Tour & Travels offers America Just For You - 6 Nights / 7 Days tour package, budget Heritage tour packages for Washington, New York at exciting price.";i:4;s:2915:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Washington, New York"        
		                 },
		      "description": "Enjoy Daily Buffet Breakfast.
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners.
Stay 02 Nights In New Jersey.
Visit The Dazzling Times Square By Night.
Enjoy The Action Of New York On Your City Tour.
Enjoy A Boat Cruise To The Statue Of Liberty For A Close-Up View.
Stay 01 Night In Atlantic City- "America'S Favorite Playground".
Enjoy A Memorable Boardwalk Tour.
Stay 01 Night In Washington D.C - The Capital Of Usa.
Enjoy A Guided City Tour Of Washington D.C.
Visit The Famous Smithsonian The National Air And Space Museum, In Washington, D.C.
Visit The Most Popular American Chocolate Outlet - Hershey’S Chocolate World.
Stay 01 Night In Buffalo.
See The Gorgeous Spectacle Of The Niagara Falls Lit-Up At Night.
A Thrilling Boat-Ride Aboard ‘The Maid Of The Mist’.
Stay 01 Night In Philadelphia
Professional, Friendly, Multi-Lingual And Experienced Indian Tour Manager Travelling With You Throughout Your Tour In Usa.
Visit Major Cities In 7 Days: New York, Atlantic City, Washington, D.C. , Niagara And Philadelphia.Taxes As Payable Extra
Usa Visa Fees
Baggage Handling Fees For Check-In Baggage And Additional Sectors For Internal Flights.
The Cost Of The Passport, Poe Charges, Etc.
Tips To Guides, Drivers, Hotel Waiters, Etc. Of Usd 03 Per Person Per Day For The Duration Of The Tour.
The Cost Of The Basic Travel Quota Equivalent To The Amount Of Usd 10,000.
Any Increase In The Airfare Charged By The Airline On Your Air Ticket (Presently Calculated At 30Th
September 2014).
If You Wish To Travel On A Date Other Than The Group’S Ex-India Departure Date For Your Tour And/Or
Wish To Return On A Date Other Than The Day Your Tour Ends And/Or Wish To Fly In/Out Of A City Other Then
The Start/End City Of Your Tour, There Will Be An Additional Charge That Will Be Applicable (Subject To
Availability Of Seats For The Given Dates And Ticket Validity), Which Will Be Advised To You By Your Sales
Staff/Travel Agent. Kindly Note, The Deviation Will Be Actioned Only 30 Days Prior To The Tour Departure
Date.
Any Expenses Of Personal Nature Such As Porterage, Laundry, Wines, Mineral/Bottled Water, Food &
Drink Not In The Regular Menus Provided By Us, Mini Bar And Telephone Calls.
Meals Are Pre-Set And A Choice Of Menu Is Not Available.
Cost Of Excursions, City Sightseeing, Entrance Fees And Local Guides Availed Of By The Passengers, Other
Than That Mentioned In The ‘What Your Tour Price Includes’.
Other Applicable Taxes Will Be Extra. ",
		      "name": "America Just For You",
		      "telephone": "+91-9896317894"
		    }
		    </script>
			";i:5;N;}