a:6:{i:0;s:24073:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Australia Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.hscsmithraservices.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.hscsmithraservices.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Australia Tour</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Sydney, Cairns, Brisbane</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hscsmithraservices.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Australia Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="191471"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/636167/301519.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/636167/301519.jpg"  width="150" height="150"    alt="Australia Tour" title="Australia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival
										</p>
										<p class="aj">The 'Enchanting Australia' tour starts with your arrival at the Brisbane airport. Our tour representative would be escorting you from the airport to the city of Gold Coast in Australia (87 km away). On arrival at Gold Coast, you would be checking-in to a pre-booked hotel. Spend the rest of the day relaxing in your rooms or if you wish, move out to explore the nearby market and surroundings. Dinner would be served at an Indian restaurant. Overnight stay in Gold Coast.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Gold Coast
										</p>
										<p class="aj">A pleasing combination of a metropolis and coastal city, Gold Coast resides on the eastern edge of Australia. The city is highly famed for its sun-kissed beaches, inland waterways, scenic rainforests and amazing theme parks. Post breakfast at the hotel restaurant, guests would be embarking on a trip to the fun and thrilling side of Gold Coast; Dreamworld amusement park. Filled with around 50 fast paced rides and magnificent attractions of 8 different countries, Dreamworld is Australia's biggest. Starting with the rides, guests can indulge in the watery family rides (River rapids, Log ride), special rides for kids and at last the series of thrill rides; they prefer to call the 'BIG 9' (Giant Drop, Buzz Saw, Tower of Terror). Besides these high speed rides, you can get yourself busy in sunset safari, croc feeding, wildlife photography and tiger feeding. Don't forget to meet your favorite animated characters from movies like King Fu Panda, Madagascar and Shrek come alive at the DreamWorks experience section. Lunch and Dinner at Indian restaurant. Overnight in Gold Coast.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Gold Coast
										</p>
										<p class="aj">Right after you would be done with your breakfast at the hotel restaurant, you would be taken on a tour of one of the most popular tourist attraction at Gold Coast-Warner Bros Movie World. Simply known as the Movie World, it is an amusement park that is best known for its motion stimulating movie-themed rides and attractions. Within its complex, the movie world consists of numerous film studios; accredited with the production of movies like House of Wax, Scooby-Do, Peter Pan, The Condemned and Fortress. Talking about rides, the Movie World has got all everything mixed with special effects and motion stimulators in order to impart the best fun to the tourists. While exploring the amusement park, don't forget to click yourself with your favorite costumed animated character (Batman, Superman, Wonder Woman). In the second half of the day, guests would be taken on a tour of the amazing 'Sea World'. This marine Animal Park and theme park is one of the prominent tourist attractions in the city. Besides the thrilling roller coaster rides, the park offers an excellent opportunity to watch fascinating marine creatures like the legendary Kraken, giant Blue whale and Megalodon. By evening, return back to the comforts of your hotel for an overnight stay at Gold Coast. Lunch and dinner at Indian restaurant.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Gold Coast
										</p>
										<p class="aj">Post breakfast guests would be making an early morning check out from the hotel to fly to Cairns from Brisbane airport. Upon your arrival at this major city in the Queensland region of Australia, you would be embarking on a road trip to Kurnada Rainforest (28 km away). Kurnada is an exquisite getaway to the topical beauty of North Australia and is a prime tourist attraction near the city of Cairns. Originally this place is inhabited by tribal people, owing to which you can shop for various artifacts and souvenirs of the community. This tiny paradise is also a home of exotic species of wildlife; especially birds. Right at the foothills of Barron Gorge national park in the rainforest lies the Tjapukai Aborginal Cultural Park. The park offers an excellent opportunity to immerse it in to the traditional culture of the Aborgines. You can even learn throwing boomerang or didgeridoo playing from them. Post this rainforest trip, guests would be transferred to a pre-booked hotel at Cairns for an overnight stay. Lunch and dinner at Indian restaurant.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Cairns
										</p>
										<p class="aj">Your tour of the beautiful city of Cairns will start early in the morning by a Hot Balloon ride. A perfect way to kick start the day, this aerial ride will offer you a breathtaking sight of some of the most panoramic landscapes on the planet. Post that, relish a yummy breakfast at the countryside of Cairns. Cairns in the tropical portion of North Queensland is also famed for being the gateway to one of the seven natural wonders of the world; The Great Barrier Reef. Located off the coast of Queensland, Great Barrier Reef is the world's largest coral reef system. In order to explore the exotic marine life created by the corals, snorkeling is the best. However, guests need to pay an additional cost to try their hand in that watersport and even for swimming. You can also opt for a supervised beginner level scuba dive here. After all this action, call it a day and return to your hotel for an overnight stay in Cairns. Lunch onboard the cruise and dinner at an Indian restaurant.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Cairns-Sydney
										</p>
										<p class="aj">Post an early breakfast, check out from the hotel and leave to catch the flight to Sydney. Upon your arrival at Sydney, you would be transferred to a pre-booked hotel. Relax for some hours as the evenings are booked for a spectacular showboat dinner cruise. Once there, enjoy a three course Indian dinner, which soon would be followed by a world class theatre cabaret featuring professional show girls of Australia. If you feel like you can also join the talented singers in the chorus. In the turnover of these dazzling events, the boat would be cruising along the glistening Sydney harbor, Opera House and Harbor Bridge. Overnight stay in Sydney.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Sydney
										</p>
										<p class="aj">This day is completely booked for the sightseeing tour of Sydney. Settled on the eastern coast of Australia, this metropolis is surrounded by world's largest natural harbor, which includes the Sydney Opera House, Darling Harbor and Sydney Harbor Bridge as the city's major tourist attractions. Along with these attractions, guests would be visiting the Hyde Park, Mrs Mac quarries Chair, Kings Cross, the Rocks area and the bustling CBD area. Don't forget to take photographs of the wonderful cityscape from the top of the Sydney tower. Later, guests would be visiting the Sydney Aquarium & Sydney Wildlife Park, which is known for putting a brilliant display of the rich aquatic life of Australia; Murray Cod and Saltwater Crocodile. In the evening, feel free to explore the whereabouts of Sydney on your own. Breakfast at the hotel, Lunch and dinner at an Indian restaurant. Overnight stay in Sydney.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Departure
										</p>
										<p class="aj">This brings the end of our wonderful Australian tour. Post breakfast, leave for Sydney airport to catch the flight back home.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hscsmithraservices.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Australia 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="191471"/>
						</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.hscsmithraservices.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/penang-tour-packages.htm" title="Penang Tour Packages">Penang</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/bangalore-tour-packages.htm" title="Bangalore Tour Packages">Bangalore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/pondicherry-tour-packages.htm" title="Pondicherry Tour Packages">Pondicherry</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/mahabalipuram-tour-packages.htm" title="Mahabalipuram Tour Packages">Mahabalipuram</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.hscsmithraservices.in/samode-tour-packages.htm" title="Samode Tour Packages">Samode</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.hscsmithraservices.in/perth-tour-packages.htm" title="Perth Tour Packages">Perth</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.hscsmithraservices.in/chennai-tour-packages.htm" title="Chennai Tour Packages">Chennai</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.hscsmithraservices.in/genting-tour-packages.htm" title="Genting Tour Packages">Genting</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.hscsmithraservices.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</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.hscsmithraservices.in/sydney-tour-packages.htm" title="Sydney Tour Packages">Sydney</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.hscsmithraservices.in/kozhikode-calicut-tour-packages.htm" title="Kozhikode Calicut Tour Packages">Kozhikode Calicut</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.hscsmithraservices.in/alice-springs-australia-tour-packages.htm" title="Alice Springs Tour Packages">Alice Springs</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.hscsmithraservices.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</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.hscsmithraservices.in/udaipur-tour-packages.htm" title="Udaipur Tour Packages">Udaipur</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.hscsmithraservices.in/brisbane-tour-packages.htm" title="Brisbane Tour Packages">Brisbane</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.hscsmithraservices.in/kanchipuram-tour-packages.htm" title="Kanchipuram Tour Packages">Kanchipuram</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.hscsmithraservices.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</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.hscsmithraservices.in/cairns-tour-packages.htm" title="Cairns Tour Packages">Cairns</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.hscsmithraservices.in/wayanad-tour-packages.htm" title="Wayanad Tour Packages">Wayanad</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.hscsmithraservices.in/xam-neua-tour-packages.htm" title="Xam Neua Tour Packages">Xam Neua</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.hscsmithraservices.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/zorbing-holidays-catid.htm" title="Zorbing Packages">Zorbing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hscsmithraservices.in/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</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:53:"Book Australia Tour - 7 Nights / 8 Days Tour Packages";i:2;s:128:"book australia tour - 7 nights / 8 days tour packages, affordable & budget tour packages, sydney, cairns, brisbane tour packages";i:3;s:187:"Hscs Mithra Services India Private Limited offers Australia Tour - 7 Nights / 8 Days tour package, budget Affordable & Budget tour packages for Sydney, Cairns, Brisbane at exciting price.";i:4;s:409:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sydney, Cairns, Brisbane"        
		                 },
		      "description": "",
		      "name": "Australia Tour",
		      "telephone": "91-9071315678"
		    }
		    </script>
			";i:5;N;}