a:6:{i:0;s:42276:"				<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 dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/68181.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/68181.jpg);background-size:cover;background-position:center;"><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" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">America Just For You</p>
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Washington, New York</p>
												<p class="mb5px"><b>Attractions :</b> Statue of Liberty</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<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 p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="32998"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<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="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.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-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-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-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-gangtok.htm" title="Packages in Gangtok">Gangtok</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-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 "><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 "><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 spanlist dn"><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 spanlist dn"><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-panchkula.htm" title="Packages in Panchkula">Panchkula</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-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-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-rotorua.htm" title="Packages in Rotorua">Rotorua</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-kufri.htm" title="Packages in Kufri">Kufri</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;}