a:6:{i:0;s:37627:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Heavenly Hamilton Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.starwayy.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.starwayy.in/holidays.htm" title="Holidays">Holidays</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Heavenly Hamilton Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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>Tour Code :</b> AUS9N10D</p>
												<p class="mb5px"><b>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Sydney, Queensland, Gold Coast</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<p class="mb5px"><b>Special Offer :</b> Other Inclusions<br />
VISA - Visa is included<br />
Other Inclusions<br />
- Return airfare in economy class <br />
- Airport & Hotel taxes included <br />
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney <br />
- Visa charges<br />
- Daily Breakfast as per itinerary <br />
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)<br />
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .<br />
- Unlimited use of the Island Shuttle service per schedule <br />
- Return Sydney airport transfer on Seat in Coach basis<br />
- Return airport transfers at Gold Coast and Sydney<br />
- Return Hamilton Island Airport/Marina to hotel transfers<br />
- Return airfare in economy class <br />
- Airport & Hotel taxes included <br />
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney <br />
- Visa charges<br />
- Daily Breakfast as per itinerary <br />
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)<br />
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .<br />
- Unlimited use of the Island Shuttle service per schedule <br />
- Return Sydney airport transfer on Seat in Coach basis<br />
- Return airport transfers at Gold Coast and Sydney<br />
- Return Hamilton Island Airport/Marina to hotel transfers</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Heavenly Hamilton 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="107129"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_14/413576/180107.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/413576/180107.jpg"  width="150" height="150"    alt="Heavenly Hamilton Tour" title="Heavenly Hamilton Tour" /></a></p></div></li>
																		<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_14/413576/180108.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/413576/180108.jpg"  width="150" height="150"    alt="Heavenly Hamilton Tour" title="Heavenly Hamilton Tour" /></a></p></div></li>
																		<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_14/413576/180109.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/413576/180109.jpg"  width="150" height="150"    alt="Heavenly Hamilton Tour" title="Heavenly Hamilton Tour" /></a></p></div></li>
																		<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_14/413576/180110.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/413576/180110.jpg"  width="150" height="150"    alt="Heavenly Hamilton Tour" title="Heavenly Hamilton Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								About Itinerary<br />
<br />
Australia is quite popular as a holiday destination owing to the variety of experiences that can be had here. This package by MakeMyTrip gives <br />
you an opportunity to have unending fun in this incredible country. You get a chance to give your vacation the perfect start by planning an <br />
outing to the theme parks in Gold coast city. Dreamworld would thrill you with rides, Sea World with its host of aquatic animals and <br />
Movie World by bringing Hollywood to life. You then head to the amazing Hamilton Island. While here, you can head out on catamarans and <br />
indulge in snorkelling, windsurfing and paddle skiing. <br />
The last destination you stay at with this Australia package is Sydney, world-famous for the Opera House and Harbour Bridge.Other Inclusions<br />
VISA - Visa is included<br />
Other Inclusions<br />
- Return airfare in economy class <br />
- Airport & Hotel taxes included <br />
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney <br />
- Visa charges<br />
- Daily Breakfast as per itinerary <br />
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)<br />
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .<br />
- Unlimited use of the Island Shuttle service per schedule <br />
- Return Sydney airport transfer on Seat in Coach basis<br />
- Return airport transfers at Gold Coast and Sydney<br />
- Return Hamilton Island Airport/Marina to hotel transfers<br />
- Return airfare in economy class <br />
- Airport & Hotel taxes included <br />
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney <br />
- Visa charges<br />
- Daily Breakfast as per itinerary <br />
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)<br />
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .<br />
- Unlimited use of the Island Shuttle service per schedule <br />
- Return Sydney airport transfer on Seat in Coach basis<br />
- Return airport transfers at Gold Coast and Sydney<br />
- Return Hamilton Island Airport/Marina to hotel transfers								</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 in Brisbane / Gold Coast
										</p>
										<p class="aj">Welcome to Brisbane! After immigration and customs, Board the coach for your transfer to the hotel in Gold Coast.<br />
Check in to the hotel. You have the rest of the day free to explore your surroundings and visit nearby shopping areas.<br />
Overnight stay at the hotel 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> Explore day at Gold Coast
										</p>
										<p class="aj">After a sumptuous breakfast at hotel day will be at leisure to create your own itinerary by adding our recommended tour.<br />
Overnight at Hotel in Gold Coast<br />
Suggested Tour: Sea World tour with Return Transfer – experience the magic of Warner Brothers( Included in Romantic Plus Category)</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> Gold Coast
										</p>
										<p class="aj">Enjoy Hot Buffet breakfast at your hotel, day will be at leisure<br />
Overnight stay at the hotel in Gold Coast.<br />
Suggested Tour: 30 Minute Hot air Balloon Ride & O'Reilly's Vineyard with Hot Breakfast – our top recommendation for things to do in Gold Coast ( Included In Romantic Plus Category)<br />
Sea world tour with return Transfer</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> Transfer from Gold Coast to Hamilton Island
										</p>
										<p class="aj">After a sumptuous breakfast at hotel, check out of the hotel and board your coach for your transfer to the Brisbane airport. Board your flight for Hamilton Island.<br />
Overnight stay at Hamilton Island<br />
Tentative Flight-VA1497   BNEHTI  1140 1325</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> Day at Hamilton Island
										</p>
										<p class="aj">Enjoy Hot Buffet breakfast at your hotel, day will be at Leisure<br />
Begin your half day trip with Cruise Whitsundays to Whitehaven Beach. Board our Whitehaven vessel for the scenic cruise to this magnificent beach .Tour will include use of catamarans, paddle skis, windsurfers and snorkelling equipment.</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> Relax at Hamilton Island
										</p>
										<p class="aj">After an Healthy breakfast it’s time to unwind and relax at the island. The island's natural beauty, together with its mountainous terrain affords stunning 360 degree views across secluded beaches to adjacent islands and the mainland beyond.<br />
Overnight stay at Hamilton Island</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> Transfer from Hamilton to Sydney
										</p>
										<p class="aj">After a sumptuous breakfast at hotel, check out of the hotel and board your coach for your transfer to the airport & Board your flight for Sydney<br />
Today is a day of rest, your hotel which is located in the central district and minutes away from China Town with its bustling restaurants and bargain shopping. <br />
Overnight at the hotel.<br />
Tentative Flight -VA1280   HTISYD  1205 1525</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> Sydney Day at Leisure
										</p>
										<p class="aj">After a sumptuous breakfast at hotel day at leisure to explore the city.<br />
Overnight at Hotel in Sydney<br />
Suggested tours: Add Sydney City Tour & 2 in 1 Pass & Sydney Orientation tour included in Romantic plus Category)<br />
Add Jet Boat ride at the Sydney harbor (all above 4 years can opt for this)</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> Sydney
										</p>
										<p class="aj">After a sumptuous breakfast, day will be at leisure.<br />
Overnight at Hotel in Sydney<br />
Suggested Tour: Blue Mountains & Wildlife including Scenic World Rides and Return Cruise ( Included in Romantic Plus Category)<br />
Tour to Port Stephens, Dolphins & Dunes (recommended for adventure and beach lovers)</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> Departure from Sydney
										</p>
										<p class="aj">After a sumptuous breakfast at hotel, check out of the hotel and board your coach for your transfer to the Sydney airport.<br />
Bid goodbye to Australia with Memories Unlimited!</p>					
											<p><b>Meals : </b> Breakfast</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>Hotel</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 
* 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. 
* 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.starwayy.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Heavenly Hamilton 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="107129"/>
						</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.starwayy.in/packages-in-macau.htm" title="Packages in Macau">Macau</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-sydney.htm" title="Packages in Sydney">Sydney</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-melbourne.htm" title="Packages in Melbourne">Melbourne</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-los-angeles.htm" title="Packages in Los Angeles">Los Angeles</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-las-vegas.htm" title="Packages in Las Vegas">Las Vegas</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-san-francisco.htm" title="Packages in San Francisco">San Francisco</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/packages-in-zurich.htm" title="Packages in Zurich">Zurich</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-belfast.htm" title="Packages in Belfast">Belfast</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-auckland.htm" title="Packages in Auckland">Auckland</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-venice.htm" title="Packages in Venice">Venice</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-queensland.htm" title="Packages in Queensland">Queensland</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-dublin.htm" title="Packages in Dublin">Dublin</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-salzburg.htm" title="Packages in Salzburg">Salzburg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-queenstown.htm" title="Packages in Queenstown">Queenstown</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-lucerne.htm" title="Packages in Lucerne">Lucerne</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-florence.htm" title="Packages in Florence">Florence</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-cairns.htm" title="Packages in Cairns">Cairns</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-interlaken.htm" title="Packages in Interlaken">Interlaken</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.starwayy.in/packages-in-wellington.htm" title="Packages in Wellington">Wellington</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.starwayy.in/packages-in-dunedin.htm" title="Packages in Dunedin">Dunedin</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.starwayy.in/packages-in-pisa.htm" title="Packages in Pisa">Pisa</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.starwayy.in/packages-in-sligo.htm" title="Packages in Sligo">Sligo</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.starwayy.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.starwayy.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Sydney, Queensland</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/essenceof-australia-land-only-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="Essence of Australia Land Only Tour" title="Essence of Australia Land Only Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/essenceof-australia-land-only-tour.htm" title="Essence of Australia Land Only Tour"><h3>Essence Of Australia Land Only Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Melbourne</p>
															<div class="mt10px small">
							<form name="pkg_107052" id="pkg_107052" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/essenceof-australia-land-only-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Essence of Australia Land Only Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107052"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/highlightof-australia-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413576/180128.jpg"  alt="Highlight of Australia Tour" title="Highlight of Australia Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/highlightof-australia-tour.htm" title="Highlight of Australia Tour"><h3>Highlight Of Australia Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Cairns, Melbourne</p>
															<div class="mt10px small">
							<form name="pkg_107142" id="pkg_107142" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/highlightof-australia-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Highlight of Australia Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107142"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/glimpseof-australia-with-new-zealand-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413576/180103.jpg"  alt="Glimpse of Australia with New Zealand Tour" title="Glimpse of Australia with New Zealand Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/glimpseof-australia-with-new-zealand-tour.htm" title="Glimpse of Australia with New Zealand Tour"><h3>Glimpse Of Australia With New Zealand Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Melbourne, Auckland, Christchurc..</p>
															<div class="mt10px small">
							<form name="pkg_107083" id="pkg_107083" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/glimpseof-australia-with-new-zealand-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Glimpse of Australia with New Zealand Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107083"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/pristine-fiji-with-australia-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413576/180112.jpg"  alt="Pristine Fiji with Australia Tour" title="Pristine Fiji with Australia Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/pristine-fiji-with-australia-tour.htm" title="Pristine Fiji with Australia Tour"><h3>Pristine Fiji With Australia Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Melbourne, Gold Coast, Gold Coas..</p>
															<div class="mt10px small">
							<form name="pkg_107208" id="pkg_107208" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/pristine-fiji-with-australia-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Pristine Fiji with Australia Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107208"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/big-australian-holiday-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413576/180133.jpg"  alt="Big Australian Holiday Tour" title="Big Australian Holiday Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/big-australian-holiday-tour.htm" title="Big Australian Holiday Tour"><h3>Big Australian Holiday Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Cairns, Melbourne, Gold Coast</p>
															<div class="mt10px small">
							<form name="pkg_107243" id="pkg_107243" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/big-australian-holiday-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Big Australian Holiday Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107243"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.starwayy.in/tour-packages/experience-new-south-wales-with-sydney-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/413576/180091.jpg"  alt="Experience New South Wales with Sydney Tour" title="Experience New South Wales with Sydney Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.starwayy.in/tour-packages/experience-new-south-wales-with-sydney-tour.htm" title="Experience New South Wales with Sydney Tour"><h3>Experience New South Wales With Sydney Tou..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Queensland, Gold Coast</p>
															<div class="mt10px small">
							<form name="pkg_107055" id="pkg_107055" method="post" action="http://www.starwayy.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.starwayy.in/tour-packages/experience-new-south-wales-with-sydney-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Experience New South Wales with Sydney Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="107055"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:62:"Book Heavenly Hamilton Tour - 9 Nights / 10 Days Tour Packages";i:2;s:132:"book heavenly hamilton tour - 9 nights / 10 days tour packages, heritage tour packages, sydney, queensland, gold coast tour packages";i:3;s:157:"Starwayy offers Heavenly Hamilton Tour - 9 Nights / 10 Days tour package, budget Heritage tour packages for Sydney, Queensland, Gold Coast at exciting price.";i:4;s:2457:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sydney, Queensland, Gold Coast"        
		                 },
		      "description": "About Itinerary

Australia is quite popular as a holiday destination owing to the variety of experiences that can be had here. This package by MakeMyTrip gives 
you an opportunity to have unending fun in this incredible country. You get a chance to give your vacation the perfect start by planning an 
outing to the theme parks in Gold coast city. Dreamworld would thrill you with rides, Sea World with its host of aquatic animals and 
Movie World by bringing Hollywood to life. You then head to the amazing Hamilton Island. While here, you can head out on catamarans and 
indulge in snorkelling, windsurfing and paddle skiing. 
The last destination you stay at with this Australia package is Sydney, world-famous for the Opera House and Harbour Bridge.Other Inclusions
VISA - Visa is included
Other Inclusions
- Return airfare in economy class 
- Airport & Hotel taxes included 
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney 
- Visa charges
- Daily Breakfast as per itinerary 
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .
- Unlimited use of the Island Shuttle service per schedule 
- Return Sydney airport transfer on Seat in Coach basis
- Return airport transfers at Gold Coast and Sydney
- Return Hamilton Island Airport/Marina to hotel transfers
- Return airfare in economy class 
- Airport & Hotel taxes included 
- 3 Nights accommodation each at Gold Coast, Hamilton Island & Sydney 
- Visa charges
- Daily Breakfast as per itinerary 
- Half day trip with Cruise Whitsundays to Whitehaven Beach (The cruise will be booked on Day-2 morning)
- Use of catamarans, paddle skis, windsurfers and snorkeling equipment .
- Unlimited use of the Island Shuttle service per schedule 
- Return Sydney airport transfer on Seat in Coach basis
- Return airport transfers at Gold Coast and Sydney
- Return Hamilton Island Airport/Marina to hotel transfers",
		      "name": "Heavenly Hamilton Tour",
		      "telephone": "+91-8818044400"
		    }
		    </script>
			";i:5;N;}