a:6:{i:0;s:35275:"				<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="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="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-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-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-kangra.htm" title="Packages in Kangra">Kangra</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-kolkata.htm" title="Packages in Kolkata">Kolkata</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;}