a:6:{i:0;s:10401:"				<div class="h1"><h1>Wonderful Australia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.gloriousholidaysindia.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.gloriousholidaysindia.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Wonderful 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">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Perth, Alice Springs</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.gloriousholidaysindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Wonderful 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="105363"/>
						</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/251436/175361.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/251436/175361.jpg"  height="150"  width="150"    alt="Wonderful Australia Tour" title="Wonderful Australia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<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> Arrival
								</p>
								<p class="aj">After you arrive at the Perth airport, get an assisted transfer to your pre-booked hotel. Once you complete the check-in formalities, spend the in doing the activities of your interest. Stay overnight in Perth.</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> Perth sightseeing
								</p>
								<p class="aj">After relishing breakfast, leave for sightseeing in Perth. Visit Fremantle to get a sneak-peek into the casual lifestyle of the locals. Today, you get a chance to explore the prime attractions of Perth including King Park Botanical Gardens. Enjoy a leisure walk here through the tree canopies on the Tree Top Walk. Later, have a scenic drive past off the Cottesloe Beach. Night stay in Perth. (B)</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> Nambung National Park
								</p>
								<p class="aj">past breakfast, and then explore the very well-known Nambung National Park to enjoy a great view of the Pinnacles Desert, home to exotic limestone spires. Enjoy a drive over the sand dunes here and interact with the wildlife, take pictures of the cute koalas. You can also try your hand at sand-boarding. Thereafter, you can visit a wildflower shop or enjoy swimming (Subject to weather condition). Stay overnight in Perth. (B)</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> Perth - Ayers Rock
								</p>
								<p class="aj">Once you have your breakfast, proceed to the airport to catch a flight to Ayers Rock. After arriving, check-in at your pre-booked hotel. Later, enjoy a tour to the Uluru-Kata Tjuta National Park to visit the Cultural Centre, take a stroll to the waterhole of Mutitjulu. Thereafter, have a guided tour of MalaWalk. You can also visit the traditional art sites to learn the geology and flora of the region. During sunset enjoy a complimentary glass of wine at Uluru. Relish open-air dinner under the stars, accompanied with champagne with the sound of the didgeridoo filling the air. Have a great view of the Kata Tjuta (the Olgas) and Uluru (Ayers Rock). Overnight stay at Ayers Rock. (B)</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> Ayers Rock
								</p>
								<p class="aj">Get up early today to have a great view of the sunrise at Uluru. Post tea/coffee, enjoy the enchanting sight. After breakfast, proceed to the western area of Uluru-Kata Tjuta National Park where you arrive at the gigantic 36 -rock domes of Kata Tjuta. Have a guided walk into Walpa (Olga) Gorge and admire the beauty sprinkled all around. In the afternoon, proceed to the stunning Kings Canyon in the Watarrka National Park. Overnight stay in Kings Canyon. (B)</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> King Canyon - Alice Springs
								</p>
								<p class="aj">You can opt for a guided walk along the rim walk that takes you to the canyon rim, passing through the Lost City towards the Garden of Eden. However, to embark on this walk, you need to be extremely fit. Finally, you arrive at the canyon floor walk where you reach the towering orange walls. In the afternoon, begin travelling to Alice Springs. Halt at the Kings Creek Station, an outback cattle/ camel station. This station is the largest exporter of wild camels in Australia, which it sells for various purposes. Stay overnight in Alice Springs. (B)</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> Alice Springs
								</p>
								<p class="aj">Post breakfast, you get a chance to explore Alice Springs –once-in-a-lifetime experience. This place is most popular outback town of the world. Here you can have an insight into the region’s history and wildlife too. This place is the spiritual heart of Australia’s Red Centre Overnight stay in Alice Springs. (B)</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">Today is the last day of your tour when you get transferred to the airport to board a flight for your next destination.</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>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gloriousholidaysindia.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Wonderful 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="105363"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Wonderful Australia Tour - 7 Nights / 8 Days Tour Packages";i:2;s:123:"book wonderful australia tour - 7 nights / 8 days tour packages, heritage tour packages, perth, alice springs tour packages";i:3;s:182:"Book Wonderful Australia Tour - 7 Nights / 8 Days tour packages from Glorious Holidays Pvt. Ltd. - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Perth, Alice Springs.";i:4;s:416:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Perth, Alice Springs"        
		                 },
		      "description": "",
		      "name": "Wonderful Australia Tour",
		      "telephone": "+91-9884172077"
		    }
		    </script>
			";i:5;N;}