a:6:{i:0;s:20094:"				<div class="h1"><h1>New Zealand Escape - 10 Nights & 11 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 Escape - 10 Nights & 11 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Auckland, Christchurch, Queenstown, Rotoura</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 Escape - 10 Nights & 11 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="114278"/>
						</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/186708.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/186708.jpg"  width="150" height="150"    alt="New Zealand Escape - 10 Nights & 11 Days Tour" title="New Zealand Escape - 10 Nights & 11 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					(Inclusive of Visa Charges for New Zealand)<br />
02 Night accommodation in Auckland<br />
02 Night accommodation in Rotorua<br />
03 Night accommodation in Queenstown<br />
02 Night accommodation in Franz Josef<br />
01 Night accommodation in Christchurch<br />
Daily Breakfast<br />
Sky Tower (Auckland)<br />
City Tour (Auckland)<br />
Rotorua via Waitomo (Rotorua)<br />
Sightseeing (Rotorua)<br />
Milford Sound Cruise (Queenstown)<br />
8-Hour One-Way Coach Tour between Queenstown and Franz Josef (Franz Josef)<br />
New Zealand VisaAirFare<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. Visit Sky tower (Entrance Ticket included)<br />
Tour Description: At 328 metres, the Sky Tower is the tallest tower in the Southern Hemisphere, offering breath-taking views for more than 80 kilometres in every direction. Explore the latest technology for education and fun. Stroll over 38mm thick glass floors, find out about Auckland with live-camera touch screen computers or simply sit and take in the spectualar view.<br />
Departure Point : Reach Tower by your own</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 – CITY TOUR
								</p>
								<p class="aj">After Breakfast, enjoy Auckland City Tour<br />
Tour Description: 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, the citys 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. <br />
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> ROTORUA VIA WAITOMO
								</p>
								<p class="aj">After Breakfast, start for your tour “Explore a subterranean world of majestic caverns and Glowworms” and get dropped to Rotorua after tour.<br />
Tour Description : Take a full-day tour to the fascinating Waitomo Glowworm Caves in the Central North Island. Leaving Auckland in the morning, we travel through rolling farmland into the Waikato and King Country regions. Your local driver guide will point out highlights of the region, like Rangiriri, where a major battle was fought between British forces and those loyal to the Maori King movement in 1863. After arriving in the small town of Waitomo, you'll be taken on a guided tour through the world famous Glowworm Caves. Formed from limestone over 30 million years ago, the caves were first discovered in 1887 and are now one of New Zealand's most popular tourist destinations. Wander through subterranean caverns and learn about stalagmites, stalactites, helictites and other spectacular rock formations. Finish off your tour on a short but enchanting boat ride travelling through the Glowworm Grotto, where thousands of glowworms light up the darkness like tiny stars. After your Glowworm Caves tour you'll have leisure time at the Waitomo visitor complex, where you can enjoy the stunning views and learn more about the region. A buffet lunch will be served at the Waitomo Caves Restaurant. After your Waitomo experience draws to a close, reboard your coach for the journey on to Rotorua.<br />
Departure Point : Sky City coach Terminal for Great Sights Tour (at 7:30 AM)</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> ROTORUA – SIGHTSEEING
								</p>
								<p class="aj">After Breakfast, Discover Rotorua Morning Sights<br />
Tour Description: Discover three of Rotorua's best visitor attractions on this morning Rotorua sightseeing tour. Gain an insight into New Zealand's Maori culture at Te Puia, then experience Rotorua's famous geothermal activity with a tour of the neighbouring Whakarewarewa Thermal Valley - a place where mud pools bubble and boil and geysers shoot steam high into the air. You'll also see Te Puia's woodcarving and weaving schools and see how these ancient Maori art forms are being passed on to a new generation of master artists. New Zealand wildlife and natural scenery is on display at Rainbow Springs Nature Park, where you can get up close to all kinds of native flora and fauna including the famous kiwi, a flightless native bird. Wander through native forest and discover New Zealand birds, fish and lizards (including the ancient tuatara), as well as exotic animals from around the world. Then see our agricultural industry in action at the Agrodome, a working organic farm where you can find out all about farming life in New Zealand, watch a sheep shearing display and see sheep dog trials where the hard-working farm dogs show off their amazing skills.<br />
Departure Point : Rotorua Tourism Office for Great Sights Tour (07:25 AM)</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> ROTORUA TO QUEENSTOWN
								</p>
								<p class="aj">After Breakfast, get transferred to Airport and board your flight for Queenstown (flight not included). Arrive at Queenstown and get transferred to 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 6:</b> QUEENSTOWN – MILFORD SOUND CRUISE
								</p>
								<p class="aj">After Breakfast, enjoy Milford Sound Cruise.<br />
Tour Description: Return luxury glass-roofed coach transport from Queenstown to Milford Sound with an extended Nature Cruise along the full length of the fiord to the Tasman Sea. On boarding our luxury coach in Queenstown, travel along the shores of Lake Wakatipu and through the rolling countryside to Te Anau. After a morning tea break, the coach continues along the spectacular alpine route of the Milford Road through impressive, awe-inspiring scenery. There is time for photo stops and short walks along the way. Considered one of the most beautiful drives in the world, experience this journey in comfort on our exclusive 'state of the art' coaches. On reaching Milford Sound join an extended and leisurely cruise of Milford Sound to the Tasman Sea on the Milford Mariner or Milford Wanderer. Nature cruises have a relaxed and flexible itinerary designed for the free, independent traveller to allow guests to see and experience what makes Milford Sound world renowned. Spend two and a half hours on a traditional style vessel nudging into waterfalls, spotting wildlife and listening to the informative commentary from our specialist Nature Guide who mingles with guests. Keep a look out for wildlife including seals, dolphins and penguins. Following the cruise return to Queenstown by luxury coach. Departure Point : Real Journey's Visitor Centre (07:15 AM). Tour Duration – 12 Hr 45 Min</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
								</p>
								<p class="aj">Queenstown - Leisure Day<br />
Can opt for SHOTOVER JET BOAT RIDE, LEDGE BUNGY JUMP, RIVER RAFTING, SKY DIVING Etc (activities not included)</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> FRANZ JOSEF
								</p>
								<p class="aj">After breakfast leave for Franz Joseph. 8-Hour One-Way Coach Tour between Queenstown and Franz Josef.<br />
Description : Relax and travel in comfort between the east and west coasts across the Haast Pass. Be amazed at the serene blue waters of glacial lakes including Wakatipu, Wanaka, and Hawea. Take in the diverse sights of the rich farmlands, lush rainforests, and the spectacular Southern Alps</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> FRANZ JOSEF
								</p>
								<p class="aj">Day free for optional activities like: Helicopter ride onto Glaciers, Heli Hike, Ice Explorer, Quad Biking or visit to Glacier hot pools.</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> CHRISTCHURCH
								</p>
								<p class="aj">After breakfast,check out from hotel and leave to Greymouth. On arrival you will board Tranz Alpine train for one of the most scenic train journeys in the world. On arrival in Christchurch you will be transferred to hotel.<br />
Overnight at Christchurch<br />
Tour Description: (Franz Josef to Greymouth Transfer (one way)) Departing Franz Josef township, travel northwards through magnificent bush scenery and past the beautiful Lakes Mapourika and Ianthe, and lush green farmland, to the township of Hokitika famous for its Greenstone (Jade) factory. Short refreshment break at Hokitika (own expense). From Hokitika travel alongside the Tasman sea for magnificent coastal views before arriving at Greymouth, the largest city on the West Coast.<br />
Transportation by 50 seater luxury executive coach, magnificent views of many beautiful West Coast beaches, drop off at Greymouth Railway Station for Tranz Alpine train.<br />
Note: Due to this being the only one service available, it is highly recommended you reconfirm this transfer 24 hours in advance.<br />
Departure Point: Franz Josef Bus stop (09:15 AM) Duration 4 Hrs to reach Greymouth.<br />
<br />
Greymouth to Christchurch schedule:<br />
Depart Greymouth 13:45<br />
Arthur's Pass arrive/depart 15:57<br />
Arrive Christchurch 18:05</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> Farewell
									</p>
									<p class="aj">After Breakfast, Christchurch Hotel to Airport Transfer</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>AirFare</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">Sky City Hotel or Similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Rotoura</td>
				<td class="data p5px">Sudima Hotel or Similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Christchurch</td>
				<td class="data p5px">Sudima,Quality elms or Similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Queenstown</td>
				<td class="data p5px">Rydges, Copthorne or Similar</td>
				<td class="data p5px">Standard Room</td>
			</tr>
			<tr>
				<td class="data p5px">Franz Josef</td>
				<td class="data p5px">Rain forest, Retreat or Similar</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 Escape - 10 Nights & 11 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="114278"/>
						</form>
						</div>
						
						";i:1;s:75:"Book New Zealand Escape - 10 Nights & 11 Days Tour - 111 Days Tour Packages";i:2;s:158:"book new zealand escape - 10 nights & 11 days tour - 111 days tour packages, heritage tour packages, auckland, christchurch, queenstown, rotoura tour packages";i:3;s:240:"Book New Zealand Escape - 10 Nights & 11 Days Tour - 111 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 111 Days Heritage  tour packages for  Auckland, Christchurch, Queenstown, Rotoura.";i:4;s:1036:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Auckland, Christchurch, Queenstown, Rotoura"        
		                 },
		      "description": "(Inclusive of Visa Charges for New Zealand)
02 Night accommodation in Auckland
02 Night accommodation in Rotorua
03 Night accommodation in Queenstown
02 Night accommodation in Franz Josef
01 Night accommodation in Christchurch
Daily Breakfast
Sky Tower (Auckland)
City Tour (Auckland)
Rotorua via Waitomo (Rotorua)
Sightseeing (Rotorua)
Milford Sound Cruise (Queenstown)
8-Hour One-Way Coach Tour between Queenstown and Franz Josef (Franz Josef)
New Zealand VisaAirFare
GST as per applicable
Hotels not booked yet.
Rates Subject to change without prior notice.",
		      "name": "New Zealand Escape - 10 Nights & 11 Days Tour",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}