a:6:{i:0;s:13683:"				<div class="h1"><h1>New Zealand Regular – 08 Nights & 09 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 Regular – 08 Nights & 09 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Auckland, Christchurch, Rotorua, Queenstown</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 95199 Per Person						</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 Regular – 08 Nights & 09 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="114275"/>
						</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/186705.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/186705.jpg"  width="150" height="150"    alt="New Zealand Regular – 08 Nights & 09 Days Tour" title="New Zealand Regular – 08 Nights & 09 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					(Inclusive of Visa Charges for New Zealand<br />
<br />
HOTEL DETAILS:<br />
Auckland : Rendezvous or Similar<br />
Rotorua : Sudima or Rydges or Similar<br />
Queenstown : Rydges Queenstown or Similar<br />
Franz Josef : Alpine Glacier or Similar<br />
Christchurch : Sudima Hotel or Similar<br />
<br />
01 Night accommodation in Auckland<br />
02 Night accommodation in Rotorua<br />
03 Night accommodation in Queenstown<br />
01 Night accommodation in Franz Josef<br />
01 Night accommodation in Christchurch<br />
Daily Breakfast<br />
Sky Tower (Auckland)<br />
Waitomo Caves Rotorua (Rotorua)<br />
Milford Sound Cruise (Queenstown)<br />
Newzealand 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">Arrive in Auckland airport and pick up rental self-drivencar to your hotel. Check in to the hotel. Get ready to experience the eagle eye view of Auckland from highest building Sky Tower and take amazing photos of lively New Zealand city. Overnight stay at the hotel in Auckland. Auckland is Among world's TOP 10 city to live in.</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> WAITOMO CAVES ROTORUA
								</p>
								<p class="aj">After Breakfast, Prepare today morning to leave Auckland and heads towards south direction of North Island. Rotorua is the next destination, 2 ½ hours scenic drive in between stop at Waitomo for a guided tour of the world famous Waitomo Glowworm Caves including an underground boat ride viewing the millions of glow worms on the cavern roof. Enjoy evening at leisure. Overnight at the hotel in Rotorua.</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
								</p>
								<p class="aj">After Breakfast, enjoy your day at leisure. Today visit TePuia Thermal Reserve to see boiling mudpools and roaring geysers. The environment alone is of enormous geological significance, with thermal activity ranging from boiling mud to the worldfamous 30-metre Pohutu geyser, erupting up to 20 times each day. Later, continue to the Agrodome for a New Zealand farm show featuring sheep dog demonstrations, cow milking and an introduction to the stars of our sheep industry. Overnight at the hotel in Rotorua.</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 – AUCKLAND - QUEENSTOWN
								</p>
								<p class="aj">After Breakfast, Prepare to leave Rotorua to Auckland to return the car at the airport and take your flight to Queenstown. Enjoy evening at leisure. Overnight at the hotel in Queenstown</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">After Breakfast, Proceed from Dunedin to the resort town of Queenstown. On this route, you will go for an enjoyable Milford Sound Cruise. A popular cruise, it offers a chance to see the glorious Mitre Peak, which is situated close to the shore with assistance from a guide, on kayaks and different vessels. Spot beautiful waterfalls, sea birds and fur seals at this scenic place. Overnight at the hotel in Queenstown.</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">After breakfast, spend the rest of the day at leisure or can opt (Own cost) for exciting activities like jet boat ride, river rafting, sky diving and ledge bunny jumping (activities not included). Later, return to the hotel room for a comfortable overnight stay.</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> FRANZ JOSEF
								</p>
								<p class="aj">Soon after breakfast, embark on a journey towards the Glacier region of New Zealand. Start the trip, by driving past Hawea and Wanaka Lakes, before passing the World Heritage Westland National Park and Haast Pass. Thereon, continue towards north to reach the glaciers of Franz Josef and Fox. On reaching the destination, check-in at the hotel and enjoy an overnight stay</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> CHRISTCHURCH
								</p>
								<p class="aj">After breakfast, travel through town of Greymouth forests and alpine village of Arthur’s Pass and the Southern Alps. Thereafter, cross the Canterbury Plains to reach Christchurch. Overnight at the hotel in Christchurch</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> DEPART FOR INDIA
								</p>
								<p class="aj">Check out of the hotel as you will be transferred to the airport</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>
															</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>~^#^~~^#^~<p><strong>NOTES :</strong>

<ul>
	<li>Driving in New Zealand Self-driving holidays are one of the most relaxing ways of enjoying New Zealand&#39;s landscape. Many of its roads are scenic and traffic is low when compared to international standards. It is important not to underestimate driving times. Although distances may seem short, its roads often include hilly or winding terrain, which slow down your journey.</li>
	<li>In New Zealand, all motorists drive on the left-hand side of the road. When the traffic light is red, you must stop. There is no left turn rule. Drivers and passengers must wear seat belts at all times, in both front and rear seats.&nbsp; Do not drink alcohol before driving in New Zealand - drinking and driving laws are strictly enforced</li>
</ul>

<p><strong>TERMS AND CONDITIONS</strong>

<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>&nbsp;OPPEX TRAVELS AND TOURS will not be liable for the same.</li>
	<li>&nbsp;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>
</ul>												</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 Regular – 08 Nights & 09 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="114275"/>
						</form>
						</div>
						
						";i:1;s:87:"Book New Zealand Regular – 08 Nights & 09 Days Tour - 8 Nights / 9 Days Tour Packages";i:2;s:170:"book new zealand regular – 08 nights & 09 days tour - 8 nights / 9 days tour packages, heritage tour packages, auckland, christchurch, rotorua, queenstown tour packages";i:3;s:261:"Book New Zealand Regular – 08 Nights & 09 Days Tour - 8 Nights / 9 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 8 Nights / 9 Days Heritage  tour packages for  Auckland, Christchurch, Rotorua, Queenstown.";i:4;s:1135:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Auckland, Christchurch, Rotorua, Queenstown"        
		                 },
		      "description": "(Inclusive of Visa Charges for New Zealand

HOTEL DETAILS:
Auckland : Rendezvous or Similar
Rotorua : Sudima or Rydges or Similar
Queenstown : Rydges Queenstown or Similar
Franz Josef : Alpine Glacier or Similar
Christchurch : Sudima Hotel or Similar

01 Night accommodation in Auckland
02 Night accommodation in Rotorua
03 Night accommodation in Queenstown
01 Night accommodation in Franz Josef
01 Night accommodation in Christchurch
Daily Breakfast
Sky Tower (Auckland)
Waitomo Caves Rotorua (Rotorua)
Milford Sound Cruise (Queenstown)
Newzealand VisaAirfare
GST as per applicable
Hotels not booked yet.
Rates Subject to change without prior notice.",
		      "name": "New Zealand Regular – 08 Nights & 09 Days Tour",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}