a:6:{i:0;s:11934:"				<div class="h1"><h1>Simply Australia Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kwik2travels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kwik2travels.co.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Simply 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Australia</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 70000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kwik2travels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply 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="144483"/>
						</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_10/288293/225226.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288293/225226.jpg"  width="150" height="150"    alt="Simply Australia Tour" title="Simply Australia Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Hotel Details -<br />
<br />
Gold Coast: Mantra Suncity <br />
Cairns: Cairns Colonial Club <br />
ORBay village Tropical Retreat <br />
ORCairns Plaza <br />
<br />
Sydney: Travelodge SydneyReturn airfare in economy class with taxes <br />
<br />
Any Meals other than specified in inclusions. <br />
<br />
Personal expenses such as tips, porterage, telephone calls, rooms service, etc. <br />
<br />
Surcharge will be applicable on particular events, festival, exhibition & fairs. <br />
<br />
Any security deposit asked by the hotel during check in. <br />
<br />
Travel Insurance.<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> 
								</p>
								<p class="aj">Arrive Brisbane or Gold Coast Airport within 2330 hrs and SIC Transfer to your Hotel (Early Check-in is Not Guaranteed). 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 2:</b> 
								</p>
								<p class="aj">Breakfast. Return SIC transfer for Dreamworld admission. 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 3:</b> 
								</p>
								<p class="aj">Breakfast. Return SIC transfer to Seaworld OR Movieworld admission (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> 
								</p>
								<p class="aj">Breakfast. Check-out & SIC transfer to Brisbane or Gold Coast Airport. Arrive Cairns Airport within 2230 hrs & SIC Transfer to Hotel. Check-in. Day Free & 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 5:</b> 
								</p>
								<p class="aj">Breakfast. Full Day SIC Big Cat Cruise Tour to Green Island Reef with Buffet Lunch, Semi-submarine & Glass bottom boat OR Snorkelling Gears (Pak 4). Overnight (Upgrade options to Sunlover Outer Barrier Reef Cruise with Vegetarian Lunch available at Supplement Cost Extra AUD40/Adult & AUD15/Child)</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> 
								</p>
								<p class="aj">Breakfast. Depart for Cairns Airport by SIC Transfer for your onward flight. Arrive Sydney Airport within 2200hrs & SIC Transfer to your Hotel. 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> 
								</p>
								<p class="aj">Breakfast. <br />
Morning Half Day SIC Sydney City Sight with views of Opera House & Harbour Bridge from Milsons Point, Manly Beach, etc. No Hotel Drop, this Tour ends by 1145hrs near Darling Harbour or Circular Quay Get down nearest to King Street Wharf, Darling Harbor. Proceed to Sea Life Aquarium at Darling Harbour to exchange Combo 2 Pass voucher for admissions to Sea Life Aquarium + Sydney Tower Eye with 4D Experience (Transfers to Aquarium & Tower are Not Included). <br />
<br />
Evening proceed on OWN to King Street Wharf #5, Darling Harbour by 1850-1900hrs to join Sydney Show Boat Indian Dinner Cruise with Standard Seating (No Transfers - Cruise does Not operates on TUESDAY, THURSDAYS & SUNDAY and No Operations on 06OCT, 25, 26, 31DEC, 01JAN, 26JAN, 14FEB )</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> 
								</p>
								<p class="aj">Breakfast. <br />
Full Day SIC Tour - Blue Mountains Tour with Wildlife Park & Scenic Rides at Scenic World</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> 
								</p>
								<p class="aj">Breakfast. Check Out of Hotel. SIC transfer to Sydney Airport for onward flight.</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>Meals</li>
																		<li>Sightseeing</li>
																<li>03 Nights accommodation at Hotel Mantra Suncity or similar, Gold Coast. </li><li>
02 Nights accommodation at Cairns Plaza or similar, Cairns. </li><li>
03 Nights accommodation at Travelodge or similar, Sydney. </li><li>
Daily breakfast at hotel. </li><li>
All transfers and sightseeing as per the itinerary </li><li>
All tours & transfers on Seat in coach basis.</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Return airfare in economy class with taxes </li><li>
Any Meals other than specified in inclusions. </li><li>
Personal expenses such as tips, porterage, telephone calls, rooms service, etc. </li><li>
Surcharge will be applicable on particular events, festival, exhibition & fairs. </li><li>
Any security deposit asked by the hotel during check in. </li><li>
Travel Insurance.</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Package Rates</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Twin Sharing</td>
				<td class="headHr p5px b">INR 70000 </td>
			</tr>
			<tr>
				<td class="data p5px">Triple Sharing</td>
				<td class="data p5px">INR 69000</td>
			</tr>
			<tr>
				<td class="data p5px">Single Sharing</td>
				<td class="data p5px">INR 99000</td>
			</tr>
			<tr>
				<td class="data p5px">Child with Bed</td>
				<td class="data p5px">INR 52000</td>
			</tr>
			<tr>
				<td class="data p5px">Child No Bed</td>
				<td class="data p5px">INR 43000</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kwik2travels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Simply 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="144483"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Simply Australia Tour - 8 Nights / 9 Days Tour Packages";i:2;s:110:"book simply australia tour - 8 nights / 9 days tour packages, adventure tour packages, australia tour packages";i:3;s:140:"Kwik2 Travels offers Simply Australia Tour - 8 Nights / 9 Days tour package, budget Adventure tour packages for Australia at exciting price.";i:4;s:902:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Australia"        
		                 },
		      "description": "Hotel Details -

Gold Coast: Mantra Suncity 
Cairns: Cairns Colonial Club 
ORBay village Tropical Retreat 
ORCairns Plaza 

Sydney: Travelodge SydneyReturn airfare in economy class with taxes 

Any Meals other than specified in inclusions. 

Personal expenses such as tips, porterage, telephone calls, rooms service, etc. 

Surcharge will be applicable on particular events, festival, exhibition & fairs. 

Any security deposit asked by the hotel during check in. 

Travel Insurance.",
		      "name": "Simply Australia Tour",
		      "telephone": "+91-9329116616"
		    }
		    </script>
			";i:5;N;}