a:6:{i:0;s:13097:"				<div class="h1"><h1>Incredible Australia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Incredible Australia Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">#104</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Sydney</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Incredible 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="34492"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/70631.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/70631.jpg"  width="150" height="150"    alt="Incredible Australia Tour" title="Incredible Australia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					4 Nights Gold Coast<br />
3 Nights Hamilton Island<br />
3 Nights Sydney<br />						<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> Arrive Brisbane Airport
								</p>
								<p class="aj">Arrive Brisbane Airport and Conxions SIC transfer to Gold Coast Hotel. Check-in and Day Free. Overnight.</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> Transfer to Dreamworld
								</p>
								<p class="aj">Return SIC transfer to Dreamworld with Free admission to Skypoint Observation.</p>					
									<p><b>Meals : </b> Breakfast</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> Transfer to Seaworld OR Movieworld
								</p>
								<p class="aj">Return SIC transfer to Seaworld OR Movieworld (Choice of 1 Theme Park - must be pre-booked). Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Breakfast.</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> Proceed on OWN to Marina Mirage
								</p>
								<p class="aj">Morning Free. This Afternoon proceed on OWN to Marina Mirage to join 55Min Paradise Jetboating Broadwater Adventure (Courtesy SIC Transfers are available from Surfers Paradise Hotels only). Later this evening join the SIC Natural Bridge Glow Worm Caves Tour with Star Gazing without Dinner (Weather permitting).</p>					
									<p><b>Meals : </b> Breakfast</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> Transfer to Brisbane Airport. Arrive Hamilton Island Airport
								</p>
								<p class="aj">Check-out & SIC transfer to Brisbane Airport. Arrive Hamilton Island Airport and Courtesy Transfer to your Resort. Your Package includes Free Use of catamarans, paddle skis, windsurfers and snorkelling equipment and Unlimited use of the scheduled ‘Island Shuttle’ service (7:00am – 11:00pm daily).</p>					
									<p><b>Meals : </b> Breakfast.</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> Full Day Cruise Whitsunday's Great Barrier Reef Tour
								</p>
								<p class="aj">Full Day Cruise Whitsunday's Great Barrier Reef Tour with Lunch. Overnight at your hotel.</p>					
									<p><b>Meals : </b> Breakfast.</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> Half Day Cruise Whitsunday's Whiteheaven Beach Tour
								</p>
								<p class="aj">Half Day Cruise Whitsunday's Whiteheaven Beach Tour with Boxed Lunch. Overnight at your hotel.</p>					
									<p><b>Meals : </b> Breakfast.</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> Depart to Hamilton Airport by Courtesy SIC
								</p>
								<p class="aj">Check out and depart to Hamilton Airport by Courtesy SIC. Arrive Sydney & SIC Transfer to your Hotel and Check-in.</p>					
									<p><b>Meals : </b> Breakfast.</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 9:</b> Prcceed by SIC for Half Day Sydney City Sight Tour
								</p>
								<p class="aj">This Morning we proceed by SIC for Half Day Sydney City Sight Tour including Opera House, Sydney Harbour Bridge, Beach etc (APT # S1-Complimentary & NON Refundable). After Tour get down nearest to King Street Stop, Darling Harbour & Proceed  to Aquarium to  exchange Combo 2 Pass voucher for admissions to Sydney Aquarium + Unlimited 1Day Ride on Sydney MonoRail + Sydney Tower Eye & 4D Experience. Evening proceed on OWN to King Street Wharf #5, Darling Harbour by 1850-1900hrs to join Sydney ShowBoat Standard Indian Dinner Cruise (No Transfers) (Cruise does Not operates on WED/SUN - Supplement cost of AUD10 Per Person EXTRA to Upgrade to Deluxe/Window Seating)<br />
 Use this day unlimited MonoRail pass to travel from nearest station to Hotel & Darling Harbour (MonoRail will close down on 31June 2013). Overnight.</p>					
									<p><b>Meals : </b> Breakfast.</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 10:</b> Full Day SIC Tour
								</p>
								<p class="aj">Choice of 1 Full Day SIC Tour, must be pre-booked - Blue Mountains Tour with Wildlife Park + Light Lunch + 2Unit Scenic Ride (1Way Cableway 1Way Railway), (APT # S15+LR - Compulsory & NON Refundable) OR Blue Mountains Tour with Wildlife Park & River Cat Cruise - Tour ends at Circular Quay - No Drop to Hotel (APT # S15+RC - Compulsory & NON Refundable) OR Blue Mountains Tour with Jenolan Caves (APT # S32- Compulsory & NON Refundable, Operates on Mon/Tue/Thu/Sat) . Overnight at your Hotel.</p>					
									<p><b>Meals : </b> Breakfast.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Transfers</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>Remarks

<p>&bull;Hotel Rate Always Change Without Any Prior Notice, So Please Give Us Clients Name To Do The Booking As Soon As Possible<br />
&bull;Above Is Just A Quotation, No Reservations Are Done So Far<br />
&bull;No Refund For Any Unutilized/ Missed Service &amp; Tours<br />
&bull;Reconfirm Flight Timing Once Again From The Hotel Travel Desk<br />
&bull;Early Check In Is Subject To Room Availability<br />
&bull;Seat-In-Coach Transfers Are On Fixed Timings , For Private Transfer The Cost Will Be Extra

<p>&bull;Prices Are Valid For Stated Travel Period And Are Of Defined Validity, Any Change In The Dates Will Lead To Re-Costing<br />
&bull;Hotels Are Subject To Availability If Not Available Will Advise You Similar Category, Incase There Is A Variation In Hotels / Room Category Difference Will Be Supplement<br />
&bull;The Above Price Is Subject To Change Without Prior Notice<br />
&bull;All Tours Are Subject To Dewan Holidays Tour Conditions<br />
&bull;All Timing Are Tentative And Exact Pick Up Time Will Be Informed By Prior One Day Hotel Message<br />
&bull;Please Present Your Passport Or Confirmation Number For Self Check - In Procedure At Hotel Reception<br />
&bull;Hotel Is Strictly Subject To Availability At The Rates &amp; Standard Room Category Quoted<br />
&bull;Prices Not Valid During Block Out Dates Mentioned Below And Any Other Non Published Conferences/Special Events Dates<br />
&bull;The Travel Period Is From 1St October 2012 To 31St March 2013 (Except Special Events / Block Out Dates)<br />
&bull;Rates Are Not Valid On Special Events Dates Or Block-Out Dates As Advised Below The Pricing, Wherein<br />
Surcharges And/Or Minimum Stay Will Apply<br />
&bull;Child Pricing Is Applicable For Those Below 13Years And Sharing In Room With 2 Adults<br />
&bull;Few Hotels Have Min Child Age As Below 12Yrs. Infants Are Those Below 3Yrs Of Age<br />
&bull;If The Required Hotel Is Not Available, Then An Alternative Will Be Suggested, Which Will Result In A Change Of Pricing Or Quote Advised<br />
&bull;Early Check-In Is Not Guaranteed<br />
&bull;No Transfers For Skypoint												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Incredible 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="34492"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Incredible Australia Tour - 9 Nights / 10 Days Tour Packages";i:2;s:111:"book incredible australia tour - 9 nights / 10 days tour packages, heritage tour packages, sydney tour packages";i:3;s:155:"Grand India Tours & Travels offers Incredible Australia Tour - 9 Nights / 10 Days tour package, budget Heritage tour packages for Sydney at exciting price.";i:4;s:465:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sydney"        
		                 },
		      "description": "4 Nights Gold Coast
3 Nights Hamilton Island
3 Nights Sydney",
		      "name": "Incredible Australia Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}