a:6:{i:0;s:34814:"				<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>Australian Wonders 06 Nights / 07 Days Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.jaintravelkalka.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Australian Wonders 06 Nights / 07 Days Tour</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/172660.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/172660.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/290674/172660.jpg"  alt="Australian Wonders 06 Nights / 07 Days Tour" title="Australian Wonders 06 Nights / 07 Days Tour" 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">Australian Wonders 06 Nights / 07 Days Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Sydney, Gold Coast</p>
												<p class="mb5px"><b>Attractions :</b> Bondi Beach, Location</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="Australian Wonders 06 Nights / 07 Days Tour - 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="103224"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Highlights<br />
Gold Coast:<br />
Jet Boat Ride<br />
Dreamworld<br />
Sea World<br />
Helicopter Ride At Sea World<br />
Coffs Harbour:<br />
Stay At The Amazing Novotel Coffs Harbour<br />
Panoramic City Tour Of Coffs Harbour<br />
Port Stephens:<br />
Dolphin Watch Cruise<br />
Enjoy Boom Netting On The Cruise (Swim Wear Required)<br />
Sydney:<br />
Sydney City Tour With Visit To Bondi Beach<br />
Guided Tour Of Opera House<br />
Enjoy Sydney Aquarium<br />
Visit The Madame Tussauds Sydney<br />
Go Atop The Sydney Tower<br />
Enjoywildlifeworld Sydney<br />
Enjoy Sydney Showboat Dinner Cruise And View Sydney Illuminated<br />
<br />
General Info<br />
Currency Used: (Aud) Australian Dollars.<br />
Time Difference: 04 Hours And 30 Minutes Ahead Of Ist.<br />
<br />
Sightseeing, Excursions,Meals And Accommodation As Per Above Mentioned Itinerary<br />
Accommodation<br />
02 Nights’ Accommodation At Hotel Manra Legends Or Mantra Or View (4*) Or Similar In Gold Coast.<br />
01 Nights’ Accommodation At Hotel Novotel (4*) Or Similar In Coffs Harbour<br />
03 Nights’ Accommodation At Hotel Ibis Airport (3*) Or Similar In Sydney<br />
<br />
Meals<br />
Daily American Buffet/Boxed Breakfasts At The Hotel. (Except On Day Of Arrival).<br />
05 Lunches.<br />
05 Indian Jain/Vegetarian/Non-Vegetarian Dinners.<br />
01 Indian Vegetarian/Non-Vegetarian Dinner On The Sydney Showboat Dinner Cruise.<br />
<br />
Optional Tours<br />
All Optional Tours Will Have To Be Booked And Paid To Your Thomas Cook Tour Manager Or Representative<br />
On Day 01 Or Day 02 Of The Tour. All Payments To Be Made In Aud In Australia Only (Credit Cards Not Accepted)<br />
Optional Tours Are Booked & Paid On 100% Non-Refundable & Non Cancellation Policy.<br />
<br />
Airfare<br />
Return Economy Class Airfare To Australia.<br />
Medical Insurance Upto The Age Of 69 Years Included Tips For The Tour Included<br />
Visa Requirements<br />
Single Entry Australian Visa.<br />
<br />
Ticket Taxes<br />
Cost Of Your Ticket Taxes To Australia (Presently Calculated As Prevailing On 1 July, 2017)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 than 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.<br />
GST as payable extra.<br />
Baggage handling fees for additional check-in baggage and any additional sectors for internal flights.<br />
The cost of the Passport, POE charges, etc.</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 ‘AustralianWonders’ tour. Depart for Brisbane.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Bon voyage! Today, you are off to for your exciting tour of Australia. Embark on your overnight flight to the vast island countries which have so much for you to explore, whether you want nature, wildlife, outback adventure, cityscapes, islands & rainforest. It is also a heaven of natural beauty, relaxation, culinary experience, adventure, wonderful sights and great shopping.<br />
Overnight onboard the flight.<br />
DAY 01<br />
Arrive into Brisbane and proceed towards Gold Coast – Australia’s entertainment capital.<br />
On arrival at Brisbane airport, you will be greeted by your friendly and experienced Thomas Cook Tour Manager/ Local Representative outside the baggage hall. Next experience the Gold Coast as you never have before! Enjoy 360° spin, on a high speed drifting Jet Boat ride on backwaters of Gold Coast. It is a great way to see what the glitzy Gold Coast is all about. Post lunch check into your hotel (Standard check in at 1400hr). Enjoy Indian Dinner.<br />
Overnight at Hotel Mantra on View (4*) /Mantra Legends (4*) or similar, in Gold Coast.<br />
Page 2 Valid for Oct 2017-Mar 2018																											   
												<div class="mt10px">
												
																	
													<p>Meals : Lunch, Dinner</p> 
																									</div>	
															
														   
											</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> Today get set to join us on a fun-filled day to Dream world which will provide a one stop shop for t										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after an American breakfast at the hotel, and proceed to Dream World. Enjoy the tallest and fastest thrill rides, interactive shows and unique animal attractions; there’s something for everyone at DreamWorld. Rides that are stomach losing, packed with adrenalin, and give you a big dose of fear such as the Giant Drop, Tower of Terror,Wipe out, Cyclone roller coaster and DreamWorld’s scream machine - The Claw! Today enjoy local Lunch. Experience some more wonderful rides and attractions at Nick CentralWiggle’s World. Enjoy a dinner at a local Indian restaurant.<br />
Overnight at Hotel Mantra on View (4*) /Mantra Legends (4*) or similar, in Gold Coast.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</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> SeaWorld, enjoy a Helicopter Ride. Onto Coffs harbour.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after an American breakfast at the hotel, check out and visit Sea World: Get up close and personal with marine life wonders and experience a whole world of exciting rides, shows, laugh along with the crowd as the clever sea lions solves an environmental crime in a wonderful adventure – Fish detectives.<br />
Experience Affinity, an enchanting interactive Dolphin Show. Also, visit Sea World’s attraction – the Polar Bear shores. Visit the largest viewing gallery at Shark Bay. Enjoy lunch at Sea World and also enjoy a thrilling Helicopter Ride at Sea World.<br />
Next we proceed to Coffs Harbour by coach. Indian Dinner tonight.<br />
Overnight in Coffs Harbour at Novotel Coffs Harbour (4*) or Similar															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</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> Panoramic City tour of Coffs Harbour and onto Port Stephens. Dolphin Watch Cruise at Port Stephens.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after an American breakfast at the hotel, check out and enjoy a panoramic City tour of Coffs Harbour. Next we proceed to Port Stephens. Arrive and enjoy a Dolphin Watch Cruise. Please carry your swimwear and keep it handy if you want to enjoy Boomnet during your Dolphin Watch cruise.<br />
Lunch at a local restaurant and then we proceed to Sydney. Indian Dinner at a Local Indian restaurant and overnight at the hotel in Sydney at Ibis Sydney Airport (3*) or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</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> Explore the landmarks of Sydney - the Rocks area, Harbour Bridge, Bondi Beach on your exciting city										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After an American breakfast at the hotel, we proceed on an exciting and interactive city tour of Sydney which includes highlights like the Darling Harbour, one of the world’s greatest waterfront destinations, experience a slice of the city’s history at the Rocks area, the busy CBD area, Hyde Park, the Harbour Bridge, Mrs. Macquaries Chair, Eastern suburbs – home to the city’s rich and famous and the world <br />
Page 3 Valid for Oct 2017-Mar 2018<br />
renowned Bondi beach. We also take you on a guided tour of one the world’s most spectacular landmark – the Sydney Opera House. Experience this miracle of architecture and engineering. Today enjoy the observation deck atop the Sydney Tower. Later take a journey through the world famous Sydney Aquarium. We later visit the wild life world & find yourself an amazing animal adventure as your journey into Australia’s most famous locations & experience most loved and featured animals that call Australia home. Lunch at a local Indian restaurant. Later experience the world of glamour, glitz, sport, politics and music when you visit the world famous Madame TussaudsWax Museum where you will see the life size wax statues of the famous personalities fromall around the world.<br />
Tonight, get set for a lifetime experience on board the spectacular Showboat dinner cruise. Be captivated by the breath-taking scenery as you sail through the shimmering Sydney Harbour with its mesmerizing panorama of bright city lights, Opera House and the famous Harbour Bridge. Experience fine dining with Indian menu on board followed by a dazzling theatre cabaret featuring professional Australian showgirls in their glamorous costumes!<br />
Overnight at the hotel in Sydney at Ibis Sydney Airport (3*) or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</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> Day free to explore Sydney on your own or visit the world famous Blue Mountains or enjoy Sydney Brid										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a breakfast at the hotel, you have the opportunity to spend time at your own pace. You can shop at the classic Queen Victoria building – the most beautiful shopping centre in southern hemisphere on your own.<br />
OR<br />
You can experience the spectacular blue-hazed beauty, dramatic cliffs and deep canyons of the Blue Mountains on a full day excursion with Rides at Blue Mountains included.<br />
OR<br />
See Sydney from above the most iconic bridge in the world – the Sydney Harbour Bridge. The fully guided climb takes you to the summit of this world famous bridge, 134 meters above Sydney Harbour. You will climb through the inner arch of the Sydney Bridge crossing over catwalks and stairs and make your way to thrilling views that await you at the summit of the bridge. When you reach the top, you will have a sense of achievement that you will remember forever – you have conquered an Australian icon recognized all over the world.<br />
Indian Dinner will be served in a local Indian restaurant.<br />
Overnight at the hotel in Sydney at Ibis Sydney Airport (3*) or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Dinner</p> 
																									</div>	
															
														   
											</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 Aus										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After an American breakfast, proceed to the airport as your memorable tour with Thomas cook comes to an end. Do spare a few minutes to share your feedback with your Tour Manager. Your valued suggestions will be most appreciated. Arrive home with pleasant memories of your Australian tour, which we are sure you will treasure for a lifetime.<br />
Page 4 Valid for Oct 2017-Mar 2018															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</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>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>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 than 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.</li><li>
GST as payable extra.</li><li>
Baggage handling fees for additional check-in baggage and any additional sectors for internal flights.</li><li>
The cost of the Passport, POE charges, etc.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								Departure Dates - Ex-Mumbai / Delhi / Chennai / Hyderabad / Ahmedabad / Bengaluru /<br />
Kolkata / Cochin / Trivandrum<br />
Oct ’17 : 10, 26<br />
Nov ‘17 : Tba<br />
Dec ‘17 : Tba<br />
Jan ‘18 : Tba<br />
Feb ‘18 : Tba								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>IMPORTANT</strong>

<ul>
	<li>The group tour will operate with a Tour Manager subject to a minimum of 20 full-paying passengers travelling together.</li>
</ul>

<p><strong>NOTE</strong>

<ul>
	<li>There is a possibility that your TourManager could change in-between the tour.</li>
	<li>On days when you are taking internal flights, there is a possibility that we might provide packed meal in case the flight timing does not suit the meal time.</li>
	<li>As a third person in a Triple room, in some cities no extra bed or cot will be provided. Instead a room with two queen beds will be provided. OR in some cities a king bed with a roll away bed will be provided. Taxes as applicable extra.</li>
	<li>For certain departures, we may re-route the itinerary. However, all sightseeing &amp; inclusions will remain the same. On some occasions you may have to join another group in case the group does not have adequate members Land surcharges due to Local Events applicable on certain departures.</li>
	<li>All local taxes and services (Presently calculated as prevailing on 1 July 2017).</li>
	<li>Optional tours are booked &amp; paid on 100% non-refundable &amp; non cancellation policy.</li>
	<li>A person below 12 years of age on date of return flight will be considered a child.</li>
	<li>A baby below 24 months of age on date of return flight will be considered an infant.</li>
	<li>Functioning of Air cooling/Air conditioning in hotels is subject to official declaration of summer by the local authority.</li>
	<li>Security alerts and random closures might affect the itinerary.</li>
	<li>All the internal flights will allow one piece of check in bag per person up to 20kg only.</li>
</ul>								</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="Australian Wonders 06 Nights / 07 Days Tour - 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="103224"/>
						</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-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-panchkula.htm" title="Packages in Panchkula">Panchkula</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-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 spanlist dn"><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-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-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-kolkata.htm" title="Packages in Kolkata">Kolkata</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-sydney.htm" title="Packages in Sydney">Sydney</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>
				
								
				</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:82:"Book Australian Wonders 06 Nights / 07 Days Tour - 6 Nights / 7 Days Tour Packages";i:2;s:140:"book australian wonders 06 nights / 07 days tour - 6 nights / 7 days tour packages, heritage tour packages, sydney, gold coast tour packages";i:3;s:191:"Book Australian Wonders 06 Nights / 07 Days Tour - 6 Nights / 7 Days tour packages from Jain Tour & Travels - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Sydney, Gold Coast.";i:4;s:2985:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sydney, Gold Coast"        
		                 },
		      "description": "Highlights
Gold Coast:
Jet Boat Ride
Dreamworld
Sea World
Helicopter Ride At Sea World
Coffs Harbour:
Stay At The Amazing Novotel Coffs Harbour
Panoramic City Tour Of Coffs Harbour
Port Stephens:
Dolphin Watch Cruise
Enjoy Boom Netting On The Cruise (Swim Wear Required)
Sydney:
Sydney City Tour With Visit To Bondi Beach
Guided Tour Of Opera House
Enjoy Sydney Aquarium
Visit The Madame Tussauds Sydney
Go Atop The Sydney Tower
Enjoywildlifeworld Sydney
Enjoy Sydney Showboat Dinner Cruise And View Sydney Illuminated

General Info
Currency Used: (Aud) Australian Dollars.
Time Difference: 04 Hours And 30 Minutes Ahead Of Ist.

Sightseeing, Excursions,Meals And Accommodation As Per Above Mentioned Itinerary
Accommodation
02 Nights’ Accommodation At Hotel Manra Legends Or Mantra Or View (4*) Or Similar In Gold Coast.
01 Nights’ Accommodation At Hotel Novotel (4*) Or Similar In Coffs Harbour
03 Nights’ Accommodation At Hotel Ibis Airport (3*) Or Similar In Sydney

Meals
Daily American Buffet/Boxed Breakfasts At The Hotel. (Except On Day Of Arrival).
05 Lunches.
05 Indian Jain/Vegetarian/Non-Vegetarian Dinners.
01 Indian Vegetarian/Non-Vegetarian Dinner On The Sydney Showboat Dinner Cruise.

Optional Tours
All Optional Tours Will Have To Be Booked And Paid To Your Thomas Cook Tour Manager Or Representative
On Day 01 Or Day 02 Of The Tour. All Payments To Be Made In Aud In Australia Only (Credit Cards Not Accepted)
Optional Tours Are Booked & Paid On 100% Non-Refundable & Non Cancellation Policy.

Airfare
Return Economy Class Airfare To Australia.
Medical Insurance Upto The Age Of 69 Years Included Tips For The Tour Included
Visa Requirements
Single Entry Australian Visa.

Ticket Taxes
Cost Of Your Ticket Taxes To Australia (Presently Calculated As Prevailing On 1 July, 2017)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 than 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.
GST as payable extra.
Baggage handling fees for additional check-in baggage and any additional sectors for internal flights.
The cost of the Passport, POE charges, etc.",
		      "name": "Australian Wonders 06 Nights / 07 Days Tour",
		      "telephone": "+91-9896317894"
		    }
		    </script>
			";i:5;N;}