a:6:{i:0;s:21828:"				<div class="h1"><h1>New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>New Zealand & Australia Extravaganza – 14 Nights & 15 Days  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">
						14 Nights / 15 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Sydney, Cairns, Auckland, Queenstown, Rotoura, Gold Coast</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.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="New Zealand & Australia Extravaganza – 14 Nights & 15 Days  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="114284"/>
						</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_2/37817/186713.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/186713.jpg"  width="150" height="150"    alt="New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour" title="New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					03 Night accommodation in Auckland<br />
03 Night accommodation in Queenstown<br />
03 Night accommodation in Gold Coast<br />
02 Night accommodation in Cairns<br />
03 Night accommodation in Sydney<br />
Daily Breakfast<br />
Waitomo & Rotorua Experience (Auckland)<br />
Morning City Highlights (Auckland)<br />
Milford Sound Full Day Tour (Queenstown)<br />
Dream world Tour (Gold Coast)<br />
Sea World (Gold Coast)<br />
Big Cat Cruise Tour to Green Island Reef with Buffet Lunch (Cairns)<br />
City Tour (Sydney)<br />
Blue Mountains and see native wildlife (Sydney)<br />
Visa (Australia & New Zealand)<br />
Airport Transfers on SIC BasisAny expenses of personal nature.<br />
Guaranteed early check in / late checkout is completely at the discretion of the hotel and we can only put in a request for the same.<br />
Air Fare<br />
GST as per applicable<br />
Hotels not booked yet.<br />
Rates Subject to change without prior notice<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> AUCKLAND
								</p>
								<p class="aj">Arrival in Auckland. Auckland Airport to Hotel Transfer.</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> AUCKLAND – ROTORUA - AUCKLAND
								</p>
								<p class="aj">Waitomo&Rotorua Experience - Auckland to Auckland (Included Lunch)<br />
Tour Description:<br />
Experience glowworms, world-famous limestone formations, Maori culture and geothermal wonders on this full-day sightseeing trip. On arrival in the small town of Waitomo, enjoy a guided tour through the world famous WaitomoGlowworm Caves. Explore underground caverns and see amazing stalactites, stalagmites and other rock formations, all formed millions of years ago. Travel by boat beneath a canopy of twinkling lights in the GlowwormGrotto , a magical end to your tour. Enjoy your picnic-style lunch (vegetarian and other dietary options available on request) as we make our way to Rotorua, in the heart of the Central North Island. Tour an organic working farm in all-terrain vehicles at the Agrodome and experience sheep-shearing and a live sheep dog trial. Visit TePuia, one of New Zealand's foremost cultural venues, and experience a Maori cultural performance, in which ancient and modern stories are told through song and dance. See how master artists are passing on their traditional skills to future generations at TePuia's woodcarving and weaving schools. Next, venture into a landscape unlike any other with a guided tour of the bubbling mudpools and active geysers of the Whakarewarewa Thermal Valley. See the worldfamous Pohutu geyser unleash vapour jets up to 30 metres high. A delicious afternoon snack, including traditional Maori rewana bread, can be enjoyed as you return to Auckland. Departure Point: Sky City coach Terminal for Great Sights Tour</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> AUCKLAND
								</p>
								<p class="aj">Auckland Morning City Highlights<br />
Tour Description:<br />
Discover Auckland's charms on a half-day tour of its scenic highlights. Travel through the city centre, along fascinating Karangahape Road and past fashionable Ponsonby, and over the Auckland Harbour Bridge. Visit the Viaduct Harbour and Auckland's famous Queen Street before continuing to the Auckland Domain, thecity's oldest park. Continue to Parnell Village and explore the boutique shops and specialty stores of this historic suburb during a morning tea break (own expense). Then travel along the scenic waterfront route of Tamaki Drive enroute to Michael Joseph Savage Memorial Park, above Mission Bay. This tranquil park offers a panoramic outlook over Auckland city and the Waitemata Harbour. Your city sights tour ends with a trip back along the waterfront to downtown Auckland Departure Point: Sky City coach Terminal for Great Sights Tour</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> AUCKLAND TO QUEENSTOWN
								</p>
								<p class="aj">Board your flight from Auckland to Queenstown and get transferred from Airport to Hotel</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> QUEENSTOWN
								</p>
								<p class="aj">Discover Milford Sound Full Day Tour From Queenstown<br />
Tour Description:<br />
Travel by luxury coach along the edge of Lake Wakatipu and beneath the rugged Remarkables to TeAnau, the 'Gateway to Fiordland'. From here we will enter the Fiordland National Park so prepare to be mesmerised by the rugged grandeur of this region. As we pass through the Egligton Valley you will see ancient alpine beech forests, stunning waterfalls, and the famous Mirror Lakes where we will make a photo stop. From here we will progress through the Upper Hollyford Valley past the stunning Christie Falls and enter the 1.2km Homer Tunnel. Prepare yourself for the breathtaking impact of the Cleddau Valley and the descent into Milford Sound. Here you will take an unforgettable Red Boat cruise from which you will see the wonders of Mitre Peak, rock walls scarred by glaciers that rise 1,200 meters vertically from the sea, and waterfalls from hanging valleys tumbling into the sound Departure Point: Athol Street Car park for Great Sights Tour</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> QUEENSTOWN
								</p>
								<p class="aj">Day at leisure<br />
Can opt for Some Adventures like Jet Thrill Tour, Parasailing, Hot Air Ballooning, Biking, Bungy Jumping, white water rafting etc. (at additional cost)</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> QUEENSTOWN TO GOLD COAST
								</p>
								<p class="aj">Board your flight from Queenstown to Gold Coast and get transferred to 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 8:</b> GOLD COAST
								</p>
								<p class="aj">Dreamworld Tour. Overnight at your Hotel.<br />
Departure Point: Pick up from hotel or point nearest to hotel Add White Water World Admission at incremental cost of AUD 33 pp.</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> GOLD COAST
								</p>
								<p class="aj">Sea World or Movie World (must be decided). Overnight at your Hotel Departure Point: Pick up from hotel or point nearest to hotel In case, you want to opt for any other adventure in Gold Coast like Hot Air Balloon Ride or Sky diving or Jet Boating then can be done (at additional cost) and can take off SeaWorld / Movie World.</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> GOLD COAST TO CAIRNS
								</p>
								<p class="aj">Check-out & get transferred to Gold Coast Airport. Arrive Cairns Airport & get Transferred to Hotel. Check-in Hotel.Overnight at your Hotel</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> CAIRNS
									</p>
									<p class="aj">Full Day SIC Big Cat Cruise Tour to Green Island Reef with Buffet Lunch.<br />
Tour Description: Enjoy the tropical & enchanting Green Island on this full day tour.<br />
Discover the fascinating underwater world among the coral reefs and swim in the cool clear island water. After collection from your accommodation you will be transferred to the terminal to board the 'Big Cat' for your day on Green Island. Enjoy tea or coffee before you depart. Once on Green Island discover the fascinating underwater world among the coral reefs, you will see an endless variety of colourful fish, turtles, giant clams, starfish, shells, anemones, eels, sponges, sea urchins and many more incredible marine creatures. You have the choice of experiencing the glass bottom boat tour or snorkel in the clear cool island waters. Enjoy a delicious Aussie style buffet lunch onboard the comfort of your vessel. Your Semi-Submarine experience lets you explorer the underwater world in air-conditioned comfort with a lively fish feeding display and commentary. Explore the island, stroll along the beach and rainforest tracks. You will also be participating in carbon offset by traveling to Green Island through the Great Barrier Reef Marine Park tourism operator to have achieved carbon neutral status.<br />
Departure Point: Hotel Pick Up</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 12:</b> CAIRNS TO SYDNEY
									</p>
									<p class="aj">Breakfast. Depart for Cairns Airport for your onward flight. Arrive Sydney Airport & get transferred to your Hotel. Overnight at your Hotel</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 13:</b> SYDNEY
									</p>
									<p class="aj">Enjoy Full Day City Tour, covering iconic Opera House & Harbour Bridge, Stunning cityscape views from Mrs Macquarie’s Chair, Gold sandy beaches at famous Bondi& Manly beaches, Panoramic sights over the ocean & harbour from The Gap.</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 14:</b> SYDNEY
									</p>
									<p class="aj">Discover the spectacular Blue Mountains and see native wildlife whilst you explore World Heritage-listed Blue Mountains National Park.<br />
Tour Description: This rugged and beautiful region forms part of the Great Dividing Range, linking tropical north to temperate south, while dividing coastal cities from the vast Outback. Enjoy a stop at Echo Point and see the famous Three Sisters rock formation and have an opportunity to visit the Waradah Aboriginal Centre and hear the ancient Aboriginal legends of this impressive rock formation (own expense). Arrive at Scenic World and join the optional Blue Mountain rides - Scenic Railway, Cableway or Skyway (optional add-on). These rides are a great way to see the steep valleys, canyons and Three Sisters rock formation. Discover Leura village where you will have free time for lunch (optional add-on) or the chance to wander the streets. Next we enjoy an afternoon encounter at Featherdale Parkand have your photo taken with a cuddly koala, see kangaroos, wombats, dingoes and cute little fairy penguins. Our last stop will be at Homebush Bay, the venue of the Sydney 2000 Olympic Games. Here, you have the opportunity to catch your river cruise vessel back to Sydney and enjoy a relaxing cruise along the Parramatta River (optional addon). If you do not wish to join the ferry, the coach will arrive in Sydney at approximately 5.45pm.<br />
Departure Point : AAT Kings Departure Point</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 15:</b> DEPARTURE DAY
									</p>
									<p class="aj">Breakfast. Check Out of Hotel. Transfer to Sydney Airport for onward flight.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any expenses of personal nature.</li><li>
Guaranteed early check in / late checkout is completely at the discretion of the hotel and we can only put in a request for the same.</li><li>
Air Fare</li><li>
GST as per applicable</li><li>
Hotels not booked yet.</li><li>
Rates Subject to change without prior notice</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>The above is only an offer. In the event of Non availability of the specified hotel, alternate or similar hotels would be offered.</li>
	<li>Rates valid strictly for the requested period.</li>
	<li>RATES FOR PRIVATE SERVICES ARE BASED ON MINIMUM PAX TRAVELING. ANY CHANGE IN THRE NUMBER OF PAX WOULD LEAD TO CHANGE IN COST</li>
	<li>Any increase in the Airlines taxes /Hotel Surcharges from the time of Booking till the Departure date must be borne by pax.</li>
	<li>No refund for unutilized service</li>
	<li>All Hotels, Itinerary, restaurants subject to change without notice.</li>
	<li>Rates valid only for the dates and period requested. Change in date would lead to change of Cost</li>
	<li>Rates are based on as on date&rsquo;s exchange rate. Should there be any major fluctuation OPPEX TRAVELS AND TOURS reserve the right to furnish a fresh quote.</li>
	<li>Rates do not include Event/ Peak Season surcharges. Would be advised at the time of booking.</li>
	<li>Any damage caused to hotel rooms/ Coach during your stay, shall be payable by the Passengers.</li>
	<li>OPPEX TRAVELS AND TOURS will not be liable for the same.</li>
	<li>The Company shall not accept any liability or responsibility for any damages, loss, injury, accident, death, Flight Cancelation by Airline , breakdown, or irregularity, which may occur in carrying out the tour arrangement, weather conditions, strikes, wars, quarantine or any other cause whatsoever and all such loss or expense must be borne by pax.</li>
	<li>All Tours subject to OPPEX TRAVELS AND TOURS Tour conditions</li>
	<li>For payments made in INR, the conversion would be based on the ROE as on the date of payments.</li>
	<li>(Please refer our Terms and Conditions and cancellation policies mentioned in our</li>
</ul>						
    	<p class="h dif xlarge b mb5px">HOTEL DETAILS</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Place</td>
				<td class="headHr p5px b">Hotel Name</td>
				<td class="headHr p5px b">Room Type</td>
			</tr>
			<tr>
				<td class="data p5px">Auckland</td>
				<td class="data p5px">Crowne Plaza Hotel or similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Queenstown</td>
				<td class="data p5px">Doubletree By Hilton Queenstown or similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Gold Coast</td>
				<td class="data p5px">Mercure Gold Coast Resort or similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Cairns</td>
				<td class="data p5px">Cairns Colonial Club or similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Sydney</td>
				<td class="data p5px">Mercure Sydney Potts Point</td>
				<td class="data p5px">Standard Room</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="New Zealand & Australia Extravaganza – 14 Nights & 15 Days  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="114284"/>
						</form>
						</div>
						
						";i:1;s:107:"Book New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour - 14 Nights / 15 Days Tour Packages";i:2;s:204:"book new zealand & australia extravaganza – 14 nights & 15 days  tour - 14 nights / 15 days tour packages, heritage tour packages, sydney, cairns, auckland, queenstown, rotoura, gold coast tour packages";i:3;s:280:"Oppex Travels & Tours ( a Division of Oppex Freight Systems offers New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour - 14 Nights / 15 Days tour package, budget Heritage tour packages for Sydney, Cairns, Auckland, Queenstown, Rotoura, Gold Coast at exciting price.";i:4;s:1336:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sydney, Cairns, Auckland, Queenstown, Rotoura, Gold Coast"        
		                 },
		      "description": "03 Night accommodation in Auckland
03 Night accommodation in Queenstown
03 Night accommodation in Gold Coast
02 Night accommodation in Cairns
03 Night accommodation in Sydney
Daily Breakfast
Waitomo & Rotorua Experience (Auckland)
Morning City Highlights (Auckland)
Milford Sound Full Day Tour (Queenstown)
Dream world Tour (Gold Coast)
Sea World (Gold Coast)
Big Cat Cruise Tour to Green Island Reef with Buffet Lunch (Cairns)
City Tour (Sydney)
Blue Mountains and see native wildlife (Sydney)
Visa (Australia & New Zealand)
Airport Transfers on SIC BasisAny expenses of personal nature.
Guaranteed early check in / late checkout is completely at the discretion of the hotel and we can only put in a request for the same.
Air Fare
GST as per applicable
Hotels not booked yet.
Rates Subject to change without prior notice",
		      "name": "New Zealand & Australia Extravaganza – 14 Nights & 15 Days  Tour",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}