a:6:{i:0;s:14275:"				<div class="h1"><h1>Vv001 Beauty Of New Zealand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Vv001 Beauty Of New Zealand 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">
						7 Nights / 8 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 123400 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vv001 Beauty 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="85322"/>
						</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_14/393874/149967.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/149967.jpg"  width="150" height="150"    alt="Vv001 Beauty Of New Zealand Tour" title="Vv001 Beauty Of New Zealand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Meet & greet on arrival in case of SIC customers. <br />
Accommodation (As per option) as mentioned in the itinerary on Dbl STD sharing rooms.<br />
Daily cooked breakfast in Hotel’s restaurant, in case of no restaurant at hotel/ motel, Continental breakfast will be served in your room a day prior.<br />
Sightseeing & entrances fees as per itinerary.<br />
Sky tower – without transfer<br />
SIC AKL morning sightseeing  (self drive clients will drive).<br />
Cape Brett Hole in the Rock Cruise - 4 hrs – without transfer <br />
SIC Cape Reinga - Scenic coach tour via Ninety Mile beach - ex Paihia (Excl Lunch)<br />
SIC Rotorua via Waitomo (Self drive clients will drive to visit Waitomo)<br />
SIC Rotorua morning sightseeing (Self drive clients will visit Agrodome, Rainbow sp & Te puia) <br />
SIC Milford day out without lunch  (by Jucy Milford) (Self drive will drive to Milford) <br />
SIC Discover Christchurch - Morning Tour (self drive clients will be by own)<br />
Tranz alpine train tickets (Not applicable for self-drive clients) <br />
 All transfers and tours as mentioned in the itineraryInternational and Domestic Airfares for and from NZ. <br />
Cost of travel insurance or any other insurance.<br />
Transfer to visit Sky Tower<br />
Activity transfer if any (unless specified)  <br />
Cost of Optional & Add-On tours unless mentioned otherwise. <br />
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus. <br />
Meals if not mentioned in the itinerary. <br />
Additional transfer if any. <br />
Toll, parking & Fuel at all destinations as well as hotels.<br />
GPS & Excess Insurance if not mentioned in inclusions.<br />
Any damage for hotel rooms / coach. <br />
Any Bond (Hotel will require cash or credit card bond & Rental car company will require credit card bond) during stay, from client. <br />
Any optional activities and transfer if require.<br />
Anything not specifically mentioned in 'Tour Price Includes' box<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> Arrive in Auckland
								</p>
								<p class="aj">Upon arrival in Auckland you will be met and greeted by our representative in the arrival hall and transferred to your hotel in a private car / Self drive clients will pick up the rental car from the airport and drive to your hotel. <br />
Visit Sky tower in the evening (Entrance cost included) later take a short walk to Viaduct harbor.<br />
Over night at 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 2:</b> Auckland – Rotorua via Waitomo
								</p>
								<p class="aj">After breakfast at Hotel’s restaurant you will travel across the rich Waikato farmland for Waitomo. Enjoy a guided tour of the Waitomo Caves (entry & guided tour with boat ride is included) and a boat ride through the famous Glow-Worm grotto. Enjoy twinkling lights emitting from the ceiling like stars in a dark night. Later travel across to forested Mamaku Range to arrive at the thermal resort of Rotorua. Self-drive customers will pick up rental car from the local city branch for travel. <br />
Overnight at hotel</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Rotorua sightseeing
								</p>
								<p class="aj">After breakfast at Hotel’s restaurant, today we proceed to AGRODOME (included) to witness the Agrodome Agricultural Show, where you will be entertained by New Zealand's performing sheep and other attractions. Later proceed to visit TE-PUIA thermal village (included) known for its hot springs, geysers and boiling mud pools. Watch the Maori craftsmen and learn about the traditional arts of carving and weaving and RAINBOW SPRINGS (included) to see the flower and fauna of New Zealand. SIC Customers will travel in a sightseeing coach & self-drive customers in their rental car. Evening at leisure.<br />
Overnight at hotel</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Rotorua – Queenstown fly (Flight is not included)
								</p>
								<p class="aj">After breakfast at Hotel’s restaurant, SIC transfer to Rotorua airport and board your flight to Queenstown (flight not included), upon arrival in Alpine city SIC transfer to travel to your hotel.<br />
Self-drive customers travel to airport in their rental car in Rotorua, drop the car at Rotorua branch, fly to Queenstown (flight not included), upon arriving pick up their rental car in Queenstown to drive to their hotel. Evening at leisure<br />
Overnight at hotel</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Milford sound day tour
								</p>
								<p class="aj">This morning we head to MILFORD SOUND CRUISE (included). SIC customers will travel in a coach, self-drive customers will travel to Milford in their rental car.<br />
This famous cruise gives you an opportunity to see MITRE PEAK which is just out of the water and mile high. Go exploring with a nature guide in the tender vessels and kayaks. You may see fur seals lazing on the rocks and lots of sea birds and numerous waterfalls. Return back to the hotel in the evening. Overnight at the hotel.</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Queenstown day free for optional activities
								</p>
								<p class="aj">Today you have an option to enjoy the exciting SHOTOVER JET BOAT RIDE, LEDGE BUNGY JUMP, RIVER RAFTING, SKY DIVING ETC (activities not included).<br />
Overnight in hotel.</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Queenstown- Mt Cook - Christchurch
								</p>
								<p class="aj">Travel to Christchurch via Mt Cook National Park travel through the Central Otago region to Lake Pukaki and Mount Cook National Park Village. Set at the foothill of the Alps, you have a close up view of Mt Cook -the highest mountain in the country. Descend the mountains and re-cross the Canterbury Plains to arrive in Christchurch in the evening. SIC Customers will travel in a coach and self-drive customers will travel in their rental car.<br />
Overnight in hotel.</p>					
									<p><b>Meals : </b> (Breakfast)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Departure day
								</p>
								<p class="aj">After breakfast SIC customers will be transferred to airport in a shared vehicle. Self-drive customers will travel their rental car, drop the car at airport branch and board your flight for onward journey (flight not included)<br />
<br />
End of service.</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>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>International and Domestic Airfares for and from NZ. </li><li>
Cost of travel insurance or any other insurance.</li><li>
Transfer to visit Sky Tower</li><li>
Activity transfer if any (unless specified)  </li><li>
Cost of Optional & Add-On tours unless mentioned otherwise. </li><li>
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus. </li><li>
Meals if not mentioned in the itinerary. </li><li>
Additional transfer if any. </li><li>
Toll, parking & Fuel at all destinations as well as hotels.</li><li>
GPS & Excess Insurance if not mentioned in inclusions.</li><li>
Any damage for hotel rooms / coach. </li><li>
Any Bond (Hotel will require cash or credit card bond & Rental car company will require credit card bond) during stay, from client. </li><li>
Any optional activities and transfer if require.</li><li>
Anything not specifically mentioned in 'Tour Price Includes' box</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Vv001 Beauty 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="85322"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Vv001 Beauty Of New Zealand Tour - 7 Nights / 8 Days Tour Packages";i:2;s:152:"book vv001 beauty of new zealand tour - 7 nights / 8 days tour packages, valley tour packages, auckland, christchurch, rotorua, queenstown tour packages";i:3;s:188:"Sanskruti Vacations offers Vv001 Beauty Of New Zealand Tour - 7 Nights / 8 Days tour package, budget Valley tour packages for Auckland, Christchurch, Rotorua, Queenstown at exciting price.";i:4;s:2408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Auckland, Christchurch, Rotorua, Queenstown"        
		                 },
		      "description": "Meet & greet on arrival in case of SIC customers. 
Accommodation (As per option) as mentioned in the itinerary on Dbl STD sharing rooms.
Daily cooked breakfast in Hotel’s restaurant, in case of no restaurant at hotel/ motel, Continental breakfast will be served in your room a day prior.
Sightseeing & entrances fees as per itinerary.
Sky tower – without transfer
SIC AKL morning sightseeing  (self drive clients will drive).
Cape Brett Hole in the Rock Cruise - 4 hrs – without transfer 
SIC Cape Reinga - Scenic coach tour via Ninety Mile beach - ex Paihia (Excl Lunch)
SIC Rotorua via Waitomo (Self drive clients will drive to visit Waitomo)
SIC Rotorua morning sightseeing (Self drive clients will visit Agrodome, Rainbow sp & Te puia) 
SIC Milford day out without lunch  (by Jucy Milford) (Self drive will drive to Milford) 
SIC Discover Christchurch - Morning Tour (self drive clients will be by own)
Tranz alpine train tickets (Not applicable for self-drive clients) 
 All transfers and tours as mentioned in the itineraryInternational and Domestic Airfares for and from NZ. 
Cost of travel insurance or any other insurance.
Transfer to visit Sky Tower
Activity transfer if any (unless specified)  
Cost of Optional & Add-On tours unless mentioned otherwise. 
Porterage at hotels, airports, tips, insurance, laundry, wines, mineral water, telephone charges and all items of personal nature and also food & drinks not forming a part of the group menus. 
Meals if not mentioned in the itinerary. 
Additional transfer if any. 
Toll, parking & Fuel at all destinations as well as hotels.
GPS & Excess Insurance if not mentioned in inclusions.
Any damage for hotel rooms / coach. 
Any Bond (Hotel will require cash or credit card bond & Rental car company will require credit card bond) during stay, from client. 
Any optional activities and transfer if require.
Anything not specifically mentioned in 'Tour Price Includes' box",
		      "name": "Vv001 Beauty Of New Zealand Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}