a:6:{i:0;s:27310:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Delhi With Tashkent Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.yutiholidays.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.yutiholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Delhi With Tashkent 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 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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth200 w200px">
						<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_13/378376/278628.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/378376/278628.jpg"  width="150" height="112"    alt="Delhi with Tashkent Tour" title="Delhi with Tashkent Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Tashkent, Nukus</p>
												<p><b>Price (Starting From) :</b> 
						INR 38540 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.yutiholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delhi with Tashkent 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="183113"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: DELHI-TASHKENT- WELCOMES YOU
									</p>
									<div class="data p10px">Arrival in Tashkent at 1.50 Hrs and Customs will take about 01 Hour.<br />
• Our Airport Executive will be waiting outside the Airport with Placard.<br />
• Straight Transfer to Indian Restaurant for Hi Tea with Indian Snacks / Sandwiches.<br />
• Transfer Restaurant -Hotel by bus/ Check-in to the Hotel at 16.00Hrs<br />
• Transfer for Evening City Tour at 18.00 Hrs Independence Square: After the proclamation of Uzbekistan's independence in September 1991, "Lenin Square" was renamed in 1992 as "Mustaqillik Maydoni", which translates to "Independence Square" in English. The monument to Lenin was dismantled, and in its place the Monument of Independence of Uzbekistan, in the form of the globe, was erected. Later, in front of the pedestal was set a figure of a woman, symbolising the Motherland. Independence Square is now the central square of Tashkent; it hosts celebrations and military parades in the days of special events and public holidays.<br />
Tashkent Broadway: Sailgokh Street, known locally as ‘Broadway’, has some street artists and painters, who display their original artworks. The Broadway street is in the very center of Tashkent and connects two main squares of the city, Amir Temur and Independent squares. There are many shopping centers, fashion shops, boutiques, restaurants, and cafes are located on and around the Broadway in Tashkent. Here you may also pick up some handmade crafts, souvenirs and bric-a-bracs. Tashkent’s Broadway is also one of the greenest parks in the city with a huge area of shady trees and beautiful fountains.<br />
Amir Temur Square: Amir Timur Square is surrounded with the buildings of the “Uzbekistan” Hotel, University of Law (former Women’s Gymnasium), the Amir Timur Museum, well-known Tashkent Chimes and the Forums Palace - one of the most grandiose architectural structures in Tashkent. Almost all the buildings located around Amir Timur Square have historical importance.<br />
20:00hrs Transfer to an Indian Restaurant for Grand Gala Dinner with Veg , Non Veg Snacks, free flow of Vodka, Beer, soft drinks & world Class Belly Dance Show Program (You May Carry your own Alcohol with No Extra Charges)<br />
• Transfer back to Hotel at 22.00 Hrs</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Tashkent – Charvak – Chimgan Mountains
									</p>
									<div class="data p10px">Breakfast 07:00 Hrs – 10.00 Hrs<br />
• 10.00 Hrs Visit Charvak and Chimgan Mountains About 125 Kms from Tashkent. Nicknamed Switzerland of Uzbekistan, this Area is Famous with Tashkent Residents and Guests as a Recreational Area. Chair Lift Takes You to the Top of the Mountain from Where You Enjoy Breathtaking Views, You Must Take Some Time for Photo Shooting!<br />
14:30hrs Lunch in Pyramids Resort in Chimgan Mountains<br />
15:30hrs Free Time to Explore Charvak Artificial Reservoir & You May Try Your Hands On Skiing, Ice Skating, Snow Bikes, Horse Riding, Local Kebabs with Vodka On Your Own Cost.<br />
18:00hrs Transfer Back to Tashkent & Check in , Relax for a While<br />
• 20:00hrs Transfer to An Indian Restaurant for Grand Gala Dinner with Veg , Non Veg Snacks, Free Flow of Vodka, Beer, Soft Drinks & World Class Belly Dance Show Program for 1 Hr (you May Carry Your Own Alcohol with No Extra Charges)<br />
• 23:00hrs Transfer Back to the Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Tashkent Full Day City Tour
									</p>
									<div class="data p10px">Breakfast 07:00 Hrs -10:00 Hrs<br />
• 10.30 Hrs Panoramic City Tour of Beautiful Tashkent<br />
Visit - Monument of Courage” (1969): The monumental complex ‘Courage’ dedicated to the 1966 earthquake in Tashkent is one of the most significant monuments in today’s city. On 26 April 1966, at 5:24 a.m., an earthquake with a magnitude of 8.3 shook the city. The incredibly strong seismic shaking changed Tashkent"s appearance forever. Half of the city’s inhabitants were left without a roof over their heads and had to live in tents. The earthquake had had its epic-centre at a depth of 10 km right under the central blocks of Tashkent, in about the place where the Monument of Courage was erected. A black labradorite cube with the date of 26 April 1966 inscribed on one of its sides is installed on a granite pedestal. Another side of the cube presents a clock, the hands of which show the time of 5:24. The cube is split by a crack symbolising the break of the earth and continuing to the foot of the statue, which represents a woman embracing a child and a man trying to protect them with his breast from the strike of the nature. In the background of the monument there is a composition in relief telling about the restoration of Tashkent.<br />
Romanov Prince Duke” Residence: One of the unusual monuments of Tashkent is the Prince Romanov residence, built in 1891 in the center of the city, under the project of architects A.L. Benoit and V.S. Geyntseltsman. This is a one-storey private residence of Nikolay Konstantinovich Romanov, who was a grandson of Emperor Nicholay I, and who was exiled by his royal parents to Tashkent in 1877 to live there until his death in 1918. After his death, the building housed the Museum of Arts of Uzbekistan, then Museum of Antiques and Jewelry of Uzbekistan, and in Soviet times it was used for the Palace of the Pioneers. At the end of the XX century, the building was restored and is now used as the Reception House of the MFA of Uzbekistan. <br />
Opera and Ballet Theatre named after Alisher Navoi (outside only): The Alisher Navoi Opera and Ballet Theatre is the largest and most unique theatre on the territory of Central and Southeast Asia. Its achievements are of great value to the Uzbek people, thepride of the nation. In 1929, amateurs of concert-ethnographic group led by M. Kari-Yakubov waas established and later founded the professional theatre. In 1939 it was renamed to the Uzbek State Opera and Ballet Theatre, and in March of 1948 it was united with Russian theatre and called as the State Opera and Ballet Theatre named after Alisher Navoi. Later, in 1959 the theatre obtained the status of Academic theatre and in 1966 – the status of Bolshoi Theatre, Designed by Alexey Shchusev, the building of the theater was built in 1942-1947 and was opened to the public in November, 1947, celebrating the 500th anniversary of the birth of Alisher Navoi. During 1945-47, the Japanese prisoners of war participated in the building construction under forced labor. The theater has a capacity of 1,400 spectators. It has its main stage of 540 square meters. Memorial of Repressions Victims with the traditional ornaments: Memorial complex of Memory of Repression Victims was opened in 2002, located in one of the most beautiful places in Tashkent, opposite the TV Tower. The complex consists of two buildings, devoted to the victims of Stalin repression, as well as park and rotunda with a memorial stone. Rotunda is the building with the dome of turquoise color, based on eight marble columns. There is an inscription in three languages on the memorial stone: “In the memory of those who died for their country will live forever”. It was decide to build identical building of the museum in honor of 20-th anniversary of Independent of Uzbekistan. Today, the building complex consists of two buildings-twins, where visitors like to be photographed.<br />
Tashkent TV Tower (outside only): The Tashkent Television Tower (Uzbek: Toshkent Teleminorasi) is a 375-metre-high (1,230 ft) tower, located in Tashkent, Uzbekistan. Construction started in 1978 and it began operation 6 years later, on 15 January 1985. It was the 3rd tallest tower in the world from 1985 to 1991. The Tashkent Television Tower (Uzbek: Toshkent Teleminorasi) is a 375-metre-high (1,230 ft) tower, located in Tashkent ,Uzbekistan. Construction started in 1978 and it began operation 6 years later, on 15 January 1985. It was the 3rd tallest tower in the world from 1985 to 1991. The main purposes of the tower are radio and TV-transmission. The signal reaches the farthest points of Tashkent Province and some of the south regions of Kazakhstan. The tower is also used for communication between governmental departments, and organizations. The tower also serves as a complex hydrometeorological station.<br />
City tour of Tashkent:<br />
▪ Visit Hazrat Imam complex, Old City: Hast Imam Square (Hazrati Imam) is a religious center of Tashkent. Hast-Imam is located in the old town, within neighborhoods with the old wattle and daub houses. This complex appeared near the tomb of one of the first imam of Tashkent city, the famous scientist, scholar of the Koran and Hadith, poet and craftsman Hazrati Imam (full name - Abu-Bakr Muhammad Kaffal Shashi). On the territory of the Hast-Imam, there are few arhitectural monuments, including the madrasah of Barak-Khan, Tilla Sheikh Mosque, mausoleum of the Saint Abu Bakr Kaffal Shashi and the Islamic Institute of Imam al-Bukhari, where future preachers are taught. The Spiritual Administration of the Muslims of Central Asia, led by the Mufti, is also placed there.<br />
1 bottles of 1lt of water to be given per pax<br />
• 14:00 Hrs Lunch in Indian restaurant<br />
• After lunch city tour start<br />
• 20:00hrs Transfer to an Indian Restaurant for Grand Gala Dinner with Veg , Non Veg Snacks, free flow of Vodka, Beer, soft drinks & world Class Belly Dance Show Program (You May Carry your own Alcohol with No Extra Charges)<br />
• 23:00hrs Transfer back to the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Tashkent Or Day free for Optional Tours
									</p>
									<div class="data p10px">Breakfast 07.00 Hrs – 10.00 Hrs<br />
• Time free at your own at Leisure OR CHECK EXCITING EXCURSIONS ON SUPPLEMENT COST<br />
o VISIT BEAUTIFUL SAMARKAND BY BULLET TRAIN – DAY TRIP @ OPTIONAL COST<br />
o VISIT ENCHANTING BUKHARA CITY BY AIR – DAY / OVERNIGHT TRIP @OPTIONAL COST<br />
<br />
OR<br />
• 14:00hrs Indian Lunch at Hotel<br />
• 15:00hrs Free time to roam around on your own<br />
• 20:00hrs Transfer to an Indian Restaurant for Grand Gala Dinner with Veg , Non Veg Snacks, free flow of Vodka, Beer, soft drinks & world Class Belly Dance Show Program (You May Carry your own Alcohol with No Extra Charges)<br />
• 22:00 Hrs Transfer Back to Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Check out
									</p>
									<div class="data p10px">Breakfast 06.30 Hrs – 07.30 Hrs<br />
• Check out from Hotel @ 07.30 Hrs<br />
• 7.30 Hrs Transfer to Tashkent International Airport for your onward Journey<br />
<br />
Please Note: There might be changes to the above mentioned Itinerary however, smaller might be but it will be aimed to enhance and optimize your experience with us.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																				<li>Hotel</li>
																				<li>Meals</li>
																				<li>Sightseeing</li>
																		<li>Return Economy Class Airfare on Uzbekistan Airways Ex-Delhi (with group) </li><li>
 04 Nights accommodation in the mentioned hotel. </li><li>
 04 Buffet Breakfasts at the hotel. </li><li>
 Light Lunch / Hi – Tea on arrival day. </li><li>
 03 Lunches </li><li>
 04 Gala Dinner with Veg-Non Veg Snacks, Vodka, Beer, and Soft Drinks with Exclusive Belly Dance shows.(1 HOUR)</li><li>
 02 bottles of 0.5 ltr water per person per day.</li><li>
 A/C comfortable transport with professional driver as per the itinerary. </li><li>
 Professional English speaking escort guide from arrival to departure in Tashkent. </li><li>
 All tours & transfers on SIC basis. </li><li>
 Full day trip to Charvak Lake & Chimgan Mountains  Tashkent City Tour (Amir Temur Square, etc.) </li><li>
 Your own alcohol with no extra charge to the restaurants Uzbekistan Visa support & Normal Visa processing fees.(with group)</li>
															</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Any expenses of personal nature</li><li>
 Any changes in itinerary </li><li>
 Extra Expenses other than itinerary </li><li>
 Supplement Cost 110 USD pp</li></ul><br />
													<!--DATA4 EMD--></div>
											
					<!--MY TABS END--></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.yutiholidays.com/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-solan.htm" title="Packages in Solan">Solan</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-nukus.htm" title="Packages in Nukus">Nukus</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/packages-in-bundi.htm" title="Packages in Bundi">Bundi</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.yutiholidays.com/packages-in-bur-bubai.htm" title="Packages in Bur Dubai">Bur Dubai</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.yutiholidays.com/packages-in-lachung.htm" title="Packages in Lachung">Lachung</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.yutiholidays.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.yutiholidays.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</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.yutiholidays.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</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.yutiholidays.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</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.yutiholidays.com/packages-in-tashkent-travel.htm" title="Packages in Tashkent">Tashkent</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.yutiholidays.com/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</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.yutiholidays.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</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.yutiholidays.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</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.yutiholidays.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.yutiholidays.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.yutiholidays.com/packages-in-abu-dhabi.htm" title="Packages in Abu Dhabi">Abu Dhabi</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.yutiholidays.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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="http://www.yutiholidays.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.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="http://www.yutiholidays.com/festive-events-holidays-catid.htm" title="Festive & Events Packages">Festive & Events</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.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="http://www.yutiholidays.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/surfing-holidays-catid.htm" title="Surfing Packages">Surfing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yutiholidays.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 spanlist dn"><a class="dif" href="http://www.yutiholidays.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</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.yutiholidays.com/shopping-holidays-catid.htm" title="Shopping Packages">Shopping</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.yutiholidays.com/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</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.yutiholidays.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.yutiholidays.com/abseiling-holidays-catid.htm" title="Abseiling Packages">Abseiling</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.yutiholidays.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</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.yutiholidays.com/camping-holidays-catid.htm" title="Camping Packages">Camping</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>
				</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:63:"Book Delhi with Tashkent Tour - 4 Nights / 5 Days Tour Packages";i:2;s:121:"book delhi with tashkent tour - 4 nights / 5 days tour packages,  tour packages, new delhi, tashkent, nukus tour packages";i:3;s:166:"Book Delhi with Tashkent Tour - 4 Nights / 5 Days tour packages from Yuti Holidays - Get attractive 4 Nights / 5 Days   tour packages for  New Delhi, Tashkent, Nukus.";i:4;s:422:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Tashkent, Nukus"        
		                 },
		      "description": "",
		      "name": "Delhi with Tashkent Tour",
		      "telephone": "+91-9561532006"
		    }
		    </script>
			";i:5;N;}