a:6:{i:0;s:18805:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Azerbaijan Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.gnholidayz.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.gnholidayz.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Azerbaijan Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Baku</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.gnholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Azerbaijan Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="189754"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_21/610161/297882.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/610161/297882.jpg"  width="150" height="100"    alt="Azerbaijan Tour" title="Azerbaijan Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> BAKU
										</p>
										<p class="aj">Arrival at Heydar Aliyev International Airport. Meet by local representative.Transfer from Airport to RestaurantLUNCH INRESTAURANT Drive to hotel. Сheck inn Hotel. Free timeProceed to Baku Evening Panoramic Tour Later you will visit Baku Crystal Hall - an indoor arena in Baku, Azerbaijan. Located on the coast of Baku near National Flag Square, construction of the arena began in August 2011 and finished in April 2012—in time for it to host its first major event, the 2012 edition o the Eurovision Song Contest (photo-session from outside)Visit to "LITTLE VENICE" in Baku Boulevard which is a small town built in 1960. The town has two large and several small islands (photo-session from outside) Walking through Baku Boulevard which stretches along a south-facing bay on the Caspian Sea. It traditionally starts at Freedom Square continuing west to the Old City and beyond DINNER IN RESTAURANT</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> CITY TOUR
										</p>
										<p class="aj">Breakfast in Hotel Observation tour to Baku TV Tower - built in 1996, is a free standing concrete telecommunications tower in Baku, Azerbaijan. With a height of 310 metres (1017 ft), it is the tallest structure in Azerbaijan and the tallest reinforced concrete building in Caucasus. The tower has become one of the most prominent landmarks of Baku, often in the establishing shot of films set in the city. (photo-session from outside) Highland Park-Alley of Martyrs, The National Assembly- also transliterated as Milli Majlis, Flame towers- the tallest skyscraper in Baku LUNCH IN RESTAURANTOld City or Inner City is the historical core of Baku, the capital of Azerbaijan. The Old City is the most ancient part of Baku, which is surrounded by walls were well protected. In 2007, the Old City had a population of about 3000 people. In December 2000, the Old City of Baku became the first location in Azerbaijan to be classified as a World Heritage Site by UNESCO. Nizami Street known for shopping. The street's history could be traced back to Baku's town-planning project of 1864. The street runs through the city's downtown from west to east. It begins from Abdulla Shaig Street, in mountainous part of the city and ends at railroad bed on Sabit Orujov Street, near a monument to Shah Ismail Khatai in “Black City”. Total length of the street is 3,538 m. Fountains Square is a public square in downtown Baku, capital of Azerbaijan. The square was previously called Parapet and is often referenced to by the same name now. The name of the fountains square derives from the presence of dozens of fountains throughout the square first constructed during Soviet rule of Azerbaijan.<br />
DINNER IN RESTAURANT</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> FIRE MOUNTIAN + FIRE TEMPLE + HYDER ALIVEY MUSEUM Breakfast in Hotel Drive to FIRE WORSHIPPERS’ TE
										</p>
										<p class="aj">The most famous fire temple is the well-preserved temple Ateshgah ("the Fire Place") in Surakhany, The temple was built over a pocket of natural gas that fuelled a vent providing an 'eternal' fire. Trip to "FIRE MOUNTAIN "-"Yanardag" -a mountain on Absheron peninsula, 25 km from north of Baku. Literally, word "Yanardag" means "Blazing mountain". Blazing bodies of flame dance on stones and floor. Yanardag is a natural gas fire which blazes continuously on a hillside on the Absheron Peninsula on the Caspian Sea near Baku, the capital of Azerbaijan, which itself is known as the "land of fire."Tour starts with the visit to the charming example of modern architecture - The Heydar Aliyev Center - a 57, 500 m2 building complex in Baku, Azerbaijan designed by Iraqi- British architect Zaha Hadid and noted for its distinctive architecture and flowing, curved style that eschews sharp angles. The center is named after Heydar Aliyev, the first secretary of Soviet Azerbaijan from 1969 to 1982, and president of Azerbaijan Republic from October 1993 to October 2003. (photo-session from outside) LUNCH IN INDIAN RESTAURANTOur tour program continue with Bibiheibat Mosque -which a historical mosque in Baku, Azerbaijan. The existing structure, built in the 1990s, is a recreation of the mosque with the same name built in the 13th century by Shirvanshah Farrukhzad II Ibn Ahsitan DINNER IN INDIAN RESTAURANT</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> SHAHDAG
										</p>
										<p class="aj">Breakfast in HotelDeparture to ShadagOn the way observation of Beshbarmag Mountain PACKED LUNCH / LUNCH AT LOCAL RESTAURANT (NON VEG OR LOCAL MEAL)Arrive to Shahdagh. Start to use Shahdagh activities.THE SHAHDAG MOUNTAIN RESORT COMPLEX was open to the public in 2012. It is located in the Azerbaijan's Greater Caucasus range, the site is located near Shahdag National Park, which is known for having an intact ecological system and an untouched flora and fauna. It is the first and largest ski resort in Azerbaijan. Plans for the project include 4-5 star hotels, golf-clubs, 160-180 cottages and other objects in the complex. The winter season in Shahdag begins in the second half of December and finishes at the beginning of April, depending on snow conditions Drive back to Baku DINNER IN RESTAURANT</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> RETURN
										</p>
										<p class="aj">Breakfast in Hotel. Check out HotelTransfer to Airport for return flight</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>4 Nights stay with BreakfastMeals (FB – FULLBOARD – 3 Lunches & 4 Dinners in Restaurant) + 1 Local Meal // Packed Food Entrance fees forFire Temple, Fire Mountain, Shahdagh Cable CarE - Visa Charge Professional English speaking guide</li><li>
2 Bottle Water per person per day</li><li>
All transfers according to program includingairport transfers.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Anything not mentioned in inclusions.</li><li>
Porter service	</li><li>
Entrance fees which not mentioned in inclusions Hard drinks Charges in hotels for additional services & penalties.</li><li>
Any additional personsjoining the group at the destination or any of the services will need to payfull land package cost as per this quotation.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.gnholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Azerbaijan 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="189754"/>
						</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="https://www.gnholidayz.com/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/kanyakumari-tour-packages.htm" title="Kanyakumari Tour Packages">Kanyakumari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/ha-long-tour-packages.htm" title="Ha Long Tour Packages">Ha Long</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/male-tour-packages.htm" title="Male Tour Packages">Male</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/hanoi-tour-packages.htm" title="Hanoi Tour Packages">Hanoi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/kovalam-tour-packages.htm" title="Kovalam Tour Packages">Kovalam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.gnholidayz.com/baku-tour-packages.htm" title="Baku Tour Packages">Baku</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.gnholidayz.com/kakinada-tour-packages.htm" title="Kakinada Tour Packages">Kakinada</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.gnholidayz.com/siem-reap-tour-packages.htm" title="Siem Reap Tour Packages">Siem Reap</a> <b class="alpha50 bn small">(1)</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="https://www.gnholidayz.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.gnholidayz.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:54:"Book Azerbaijan Tour - 4 Nights / 5 Days Tour Packages";i:2;s:99:"book azerbaijan tour - 4 nights / 5 days tour packages, adventure tour packages, baku tour packages";i:3;s:128:"G N Holidayz offers Azerbaijan Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Baku at exciting price.";i:4;s:391:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Baku"        
		                 },
		      "description": "",
		      "name": "Azerbaijan Tour",
		      "telephone": "+91-9052381553"
		    }
		    </script>
			";i:5;N;}