a:6:{i:0;s:36567:"				<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-->				
									<div class="h1"><h1>Best of New Zealand Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.uniquetourtravel.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.uniquetourtravel.com/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Best of New Zealand Tour</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219558.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219558.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219558.jpg"  alt="Best of New Zealand Tour" title="Best of New Zealand Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Best of New Zealand Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Auckland, Christchurch, Queenstown</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 229350						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of New Zealand Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="139353"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Price above is subject to availability <br />
Any item of personal nature viz telephone, beverages, laundry, tips gratuities etc.<br />
Any other services that is not shown in the list of inclusion above<br />
Meals and sightseeing other than above<br />
Super peak season surcharge if applicable in the Hotels or weekends surcharges <br />
Travel Insurance (optional)<br />
GST</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrive Auckland - City Tour & Sky Tower										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Arrive Auckland and transfer to hotel for check in. After check in, proceed for City Tour with Sky Tower. Later evening enjoy Standard Indian Dinner followed by overnight stay in hotel.																											   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Auckland – Waitamo Caves										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, proceed for Waitamo caves Tour. Later evening, enjoy Dinner at Indian Restaurant. Overnight stay at Hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Auckland – Queenstown										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, transfer to Airport to board your onward flight to Queenstown. Upon arrival at the Airport, meet our local representative transfer to Indian Restaurant for lunch followed by transfer to hotel. Time free to relax. Overnight at hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Queenstown – Milford Sound Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, we follow the southern arm of Lake Wakatipu to Lumsden and onward to Lake Te Anau. Enter the Eglinnton Valley and travel through the breath-taking man-made Homer Tunnel to reach Milford Sound. Enjoy the world-famous Cruise there. Return to Queenstown. Overnight at hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Queenstown – City Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, enjoy half day city tour of Queenstown including Arrow Town and other attractions. A scenic tour around Queenstown showcases some of the best natural scenery in the world. View the area's famous mountain peaks, tranquil lakes and rivers, striking gorges and beautiful national parks. The city tour also includes Gondola ride to reach peak to have a grand view of city of Queens Town.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Queenstown – Christchurch Via Mount Cook										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, we start our journey for one of the most famous “The Garden City of the World” in New Zealand – Christchurch. We travel Across the alpine Resort of Queenstown and Continue south to the Small Town of Twizel before travelling through the historic Central Otago region to Lake Wakatipu & Fertile Canterbury Plains before arriving at Lake Tekapo. and. Upon arrival, Check-in to the Hotel, Overnight at hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Christ Church – Antarctica Centre with Hagglund Ride										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today enjoy buffet breakfast in the hotel and we visit Antarctica Centre. The International Antarctic Centre is located in the suburb of Harewood, Christchurch, New Zealand, close to Christchurch International Airport. It is one of the major tourist attractions of the city. The Entry also includes Hagglund Ride, 4D Extreme Theatre, and Antarctic Storm. After visit to Antarctic centre, transfer to Indian restaurant for Lunch followed by Half day city tour including Visit to the World famous Botanical Garden, Cathedral & other tourist interest places. Transfer to shopping area. Indian dinner at night.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast, Lunch, Dinner</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 8											
											:</b> Christchurch Departure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, check out & transfer to Christchurch airport for your return flight.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Return airfare on economy class</li><li>
New Zealand Visa </li><li>
2 night accommodation in Auckland</li><li>
3 night accommodation in Queenstown </li><li>
2 night accommodation in Christchurch</li><li>
Daily Breakfast except day 01 in the hotels suggested above </li><li>
06 Lunches & 07 Dinners at Indian Restaurant </li><li>
Auckland - City Tour with Sky Tower, Waitamo Caves Tour</li><li>
Queenstown - City Tour with Gondola Ride, Milford Sound Cruise with Lunch</li><li>
Christchurch - City Tour with Antarctic Centre</li><li>
Return airport transfers on Private Basis </li><li>
All Tours & Transfers on Private Basis </li><li>
Unique Tour & Travels Tour Manager</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Price above is subject to availability </li><li>
Any item of personal nature viz telephone, beverages, laundry, tips gratuities etc.</li><li>
Any other services that is not shown in the list of inclusion above</li><li>
Meals and sightseeing other than above</li><li>
Super peak season surcharge if applicable in the Hotels or weekends surcharges </li><li>
Travel Insurance (optional)</li><li>
GST</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">HOTEL: 4**** PROPERTIES</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Auckland</td>
				<td class="data p5px">2 Nights</td>
				<td class="data p5px">Copthorne Hotel/ Mercure Hotel or Similar</td>
			</tr>
			<tr>
				<td class="data p5px">Queenstown</td>
				<td class="data p5px">3 Nights </td>
				<td class="data p5px">Heritage Queenstown/ Millennium Hotel or Similar</td>
			</tr>
			<tr>
				<td class="data p5px">Christchurch</td>
				<td class="data p5px">2 Nights</td>
				<td class="data p5px">Rendezvous Hotel/ Chateau on the Park or Similar</td>
			</tr>
		</table></div><br>								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li><p><strong>Payment and cancellations:</strong></li><li>
	Booking will be accepted only with a non-refundable deposit cheque of Rs. 50,000/- per passenger with booking form duly filled along with Copy of Passport.</li><li></li><li>
	Final balance payment to be paid 30 days before departure or when visa is granted. (Whichever is earlier)</li><li></li><li>
	Original passport (6 months valid from the date of Departure) along with old Passport if any shall be submitted with VISA form along with the required documents.</li></ul>						
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Important Notes:</strong>

<ul>
	<li>Above is just a quotation, no reservations are done so far.</li>
	<li>ROE 01 NZD = INR 48.50 has been taken for the above costing incase in Variation we will charge accordingly on the day of making final payments.</li>
	<li>Above cost based on minimum 36 Adults</li>
	<li>The Cost of the airline ticket is quoted on specific class of the specified airlines, in case we are not able to procure the seat at similar class we will try for higher class, the difference of the same will be intimated to you before booking and the difference amount is payable.</li>
	<li>Seat-in-coach transfers are on fixed timings, for private transfer the cost will be extra</li>
	<li>Prices are valid for stated travel period and are of defined validity, any change in the dates will lead to re-costing.</li>
	<li>Hotels are subject to availability if not available will advise you similar category, in case there is a variation in hotels / room category difference will be supplement.</li>
	<li>The above price is subject to change without prior notice</li>
	<li>All tours are subject to Unique tour conditions.</li>
	<li>We trust that our proposal meets your requirements. Please do not hesitate to contact us should you need further information / clarifications</li>
</ul>

<p><strong>Cancellation</strong>:

<ul>
	<li>If, as a result of cancellation, number of persons in a group is reduced below 36 persons, then cost of cancellations of any services shall be worked out and charged extra.</li>
	<li>Withdrawing from tour at any stage (Before or after commencement of the tour) would be treated as no show and no refunds shall be allowed; any further fresh arrangement shall be borne by the passenger.</li>
	<li>Cancellation after issue of visa and / or after payment is received shall attract a cancellation charge as per Airline and Hotels Cancellation policy and Visa fees will be non-refundable.</li>
</ul>

<p><strong>Cancellation Policy</strong>

<ul>
	<li>The booking amount Rs 50,000 is nonrefundable under any circumstances, the below is the cancellation charges over and above Rs 50,000 booking amount in case any passengers cancel the tour because of any reason even if the tour cancel because of visa refusal.</li>
	<li>45 days prior to the departure date only 10% of the total cost</li>
	<li>46 - 35 days prior to the departure date 25% of the total cost</li>
	<li>34 - 15 days prior to the departure date 50% of the total cost</li>
	<li>14 - 08 days prior to the departure date 80% of the total cost</li>
	<li>07 days or less 100% of total tour cost &ndash; (including Rs 50,000 booking amount)</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of New Zealand 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="139353"/>
						</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.uniquetourtravel.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-bentota.htm" title="Packages in Bentota">Bentota</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-chamoli.htm" title="Packages in Chamoli">Chamoli</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</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.uniquetourtravel.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</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.uniquetourtravel.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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.uniquetourtravel.com/packages-in-mandla.htm" title="Packages in Mandla">Mandla</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.uniquetourtravel.com/packages-in-macau.htm" title="Packages in Macau">Macau</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.uniquetourtravel.com/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</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.uniquetourtravel.com/packages-in-auli.htm" title="Packages in Auli">Auli</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.uniquetourtravel.com/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.uniquetourtravel.com/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</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.uniquetourtravel.com/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</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.uniquetourtravel.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</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.uniquetourtravel.com/packages-in-bhubaneswar.htm" title="Packages in Bhubaneswar">Bhubaneswar</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.uniquetourtravel.com/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.uniquetourtravel.com/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</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.uniquetourtravel.com/packages-in-queenstown.htm" title="Packages in Queenstown">Queenstown</a> <b class="alpha50 bn small">(2)</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.uniquetourtravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(26)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(29)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(34)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</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.uniquetourtravel.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</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.uniquetourtravel.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.uniquetourtravel.com/safari-holidays-catid.htm" title="Safari Packages">Safari</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.uniquetourtravel.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</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.uniquetourtravel.com/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(13)</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Auckland, Christchurch, Queenstown</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.uniquetourtravel.com/tour-packages/bestof-new-zealand-and-australia-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219216.jpg"  alt="Best of New  Zealand and Australia Tour" title="Best of New  Zealand and Australia Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.uniquetourtravel.com/tour-packages/bestof-new-zealand-and-australia-tour.htm" title="Best of New  Zealand and Australia Tour"><h3>Best Of New  Zealand And Australia Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 327000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								12 Nights / 13 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sydney, Melbourne, Auckland, Queenstown</p>
															<div class="mt10px small">
							<form name="pkg_139392" id="pkg_139392" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.uniquetourtravel.com/tour-packages/bestof-new-zealand-and-australia-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of New  Zealand and 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="139392"/>
							</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:63:"Book Best of New Zealand Tour - 7 Nights / 8 Days Tour Packages";i:2;s:146:"book best of new zealand tour - 7 nights / 8 days tour packages, beach and islands tour packages, auckland, christchurch, queenstown tour packages";i:3;s:185:"Unique Tours & Travels offers Best of New Zealand Tour - 7 Nights / 8 Days tour package, budget Beach and Islands tour packages for Auckland, Christchurch, Queenstown at exciting price.";i:4;s:778:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Auckland, Christchurch, Queenstown"        
		                 },
		      "description": "Price above is subject to availability 
Any item of personal nature viz telephone, beverages, laundry, tips gratuities etc.
Any other services that is not shown in the list of inclusion above
Meals and sightseeing other than above
Super peak season surcharge if applicable in the Hotels or weekends surcharges 
Travel Insurance (optional)
GST",
		      "name": "Best of New Zealand Tour",
		      "telephone": "+91-9420237006"
		    }
		    </script>
			";i:5;N;}