a:6:{i:0;s:13093:"				<div class="h1"><h1>Incredible Australia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://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="http://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="http://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;}