a:6:{i:0;s:34119:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Kenya Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.hetshreetransitworld.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.hetshreetransitworld.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Kenya Tour</p>
						</div>
						</div>
						</section>
										<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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Nairobi, Masai Mara, Colombo, Kathmandu</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 169830 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kenya 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="183898"/>
						</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_16/473250/281505.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/473250/281505.jpg"  height="150"  width="150"    alt="Kenya Tour" title="Kenya Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><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> Welcome to Kenya and the Rainforests of Africa
										</p>
										<p class="aj">A Warm Welcome Awaits You Upon Arrival At the Jomo Kenyatta International Airport By Our Guide. Thereafter You Will Drive Through the Lush Green Coffee and Pineapple Plantations of Thika Into the Mt. Kenya Rainforest Arriving At the Serena Mountain Lodge, a Beautiful Forest Cabin Lodge Situated in a Million Year Old Rainforest. Here the Animals Come to Drink At the Natural Waterhole and Salt Lick. You Will See Elephant, Buffalo, Waterbuck, Hyena, Bushbuck, Bushbuck and other Plains Game. Dinner and Overnight Game Viewing At Serena Mountain Lodge. Special Highlight  a Complimentary Nature Walk this Afternoon with the Resident Naturalist Ranger and Guides Who Will Take You Through the Rainforest as You Learn About the Flora and Fauna of this Area Together with Its Full Natural History Which Will End with a Jungle Tea.  Accommodation Serena Mountain Lodge  Facilities Lovely Rooms with Private Balcony or Picture Windows Bar  Driving Time 2 Hrs from Nairobi  Meals Lunch and Dinner  Optional Activities Tree Planting, Fishing and Mountain Hiking</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> Mt. Kenya to Aberdares
										</p>
										<p class="aj">A Relaxed Rise Today as We Encourage You to Wake Up Late, Enjoy a Lovely Country Breakfast At Around 9.00 Am. After a Hearty Breakfast You Will Proceed North of Kenya and Over the Equator Which Where We Will have a Photo Stop. Thereafter, Proceed to the Sweetwaters Tented Camp, Home of the Jane Goodall Chimpanzee Sanctuary Where You Will Enjoy a Lovely Lunch Followed By Our First Game Drive in Kenya. We Will See Lion, Elephant, Buffalo and Many other Plains Game and if We are Lucky Even Leopard. Dinner At the Camp Followed By An Optional Night Game Drive Which is Bookable Only At the Camp. Overnight At the Camp. Optional Tour Recommendation  We Recommend that You Take Our Optional Tour, the Night Game Drive in the Ol Pejeta Sanctuary, One of the Few Places Where this is Indeed Available.    Accommodation Sweetwaters Serena Camp  Facilities Swimming Pool, Extensive Gardens and Luxury Accommodation  Driving Time 1 Hr from Mount Kenya  Meals Breakfast, Lunch and Dinner  Optional Activities Nature Walks, Night Game Drives, Camel Riding.</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> Aberdares to the Great Rift Valley
										</p>
										<p class="aj">After a Hearty Breakfast You Will Depart for Lake Elmenteita, One of the Soda Ash Lakes in the Great Rift Valley, Which is the Perfect Home for Tens of Thousands of Flamingos. Arrive in Time for Lunch At Lake Elmenteita Serena Camp. After a Sumptuous Lunch, have the Afternoon At Complete Relaxation as You Enjoy Swimming or a Walk Around the Lake Shore Followed By Dinner and Overnight At Lake Elmenteita Serena Camp. Accommodation Lake Elmenteita Serena Camp  Facilities Luxury Tents Enjoying Magnificent Views of the Lake  Driving Time 4 Hrs from Aberdares  Meals Breakfast, Lunch and Dinner  Optional Activities Balloon Safaris Nearby, Nature Walks and Hikes, Night Game Drive </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> The Great Rift Valley to Masai Mara
										</p>
										<p class="aj">After a Hearty Breakfast, You Will Depart for the Fabled Masai Mara National Reserve. the Enormous Reserve is Actually Part of the Vast Serengeti Plains Famously Known for Its Spectacular Great Wildebeest Migrations and Its Home for the Big Five Lion, Elephant, Leopard, Buffalo and Rhino. Arrive in Time for Lunch At the Beautiful Mara Serena Safari Lodge. After a Sumptuous Lunch, You Will Depart for An Afternoon Game Drive to See the Game of Savannah. Dinner and Overnight At Mara Serena Safari Lodge.    Accommodation Mara Serena Safari Lodge  Facilities all Rooms have Views of the Famous Mara River and Mara Plains  Driving Time 5 Hrs from the Great Rift Valley  Meals Breakfast, Lunch and Dinner  Optional Activities Balloon Safaris Nearby, Nature Walks, Hikes</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> Masai Mara
										</p>
										<p class="aj">A Relaxed Rise Followed By a Hearty Breakfast and Thereafter a Full Day Game Drive with Picnic Lunch to See the Varied Game of the Masai Mara. this Region is the Kenya's Most Popular Game Sanctuary Where You Will have the Best Opportunity of Spotting the Big Five (lion, Leopard, Buffalo, Rhino and Elephant). Optional Visit to a Local Maasai Village. Dinner and Overnight At Mara Serena Safari Lodge.  Special Highlight  During Your Safari We Will Enjoy a Fantastic Champagne Breakfast By the Hippo Pools Where You Will Enjoy An Al Fresco Breakfast Right On the Banks of the Mighty Mara River.  Optional Tour  We Most Highly Recommend the Hot Air Balloon Safari in the Masai Mara.</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> Masai Mara to Nairobi
										</p>
										<p class="aj">After a Hearty Breakfast You Will Depart with for Nairobi. Upon Arrival Into Nairobi You are Met and Transferred to the Lovely Nairobi Serena Hotel Which is Located in the Heart of the City Right Opposite the Uhuru Park and On the Central Park. the Hotel Boasts of the Best French Restaurant in East and Central Africa. the Cafe Maghreb Serves fine International and a Choice of Good Quality Indian Cuisine for all Meals. Lunch and Dinner At On Your Own. this Afternoon Your Driver Guide Will Take You to the Masai Market for Shopping Should You Wish. </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> Homebound
										</p>
										<p class="aj">After a Hearty Breakfast You Will Be Transferred to Jomo Kenyatta International Airport for Your Flight Back Home.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Return air tickets with airport taxes.</li><li>
Arrival meet and assist and all airport transfers</li><li>
Accommodation on FB Basis throughout your safari except Nairobi which is on BB basis</li><li>
Transportation in a 4X4 Safari Land cruiser with pop up roof ideal for game viewing with a window seat for every person</li><li>
Services of an English speaking Safari Driver guide</li><li>
All the Activities as listed in the itinerary</li><li>
All Park Entrance Fees and Conservation Fees</li><li>
Comprehensive tour documents and Wildlife Checklist.</li><li>
Sightseeing as per the itinerary.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any increase in the cost or taxes.</li><li>
Any other item not mentioned in 'Cost Includes'.</li><li>
Visa and other charges.</li><li>
High and/or Peak season supplement surcharge.</li><li>
Any Items/expenses of personal nature such as beverages, laundry, telephone, and excess baggage etc.</li><li>
All entrance fees/Boat Ride/Jeep Safari cost.</li><li>
Early Check-in and late Check-out.</li><li>
Camera and video permits.</li><li>
Tips and porterage.</li><li>
We require PAN Card + Passport (First & Last page) of all the travelers for all the bookings at the time of confirmation as per new guidelines by RBI.</li><li>
GST as per the current rate will be applicable.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>General Terms & Conditions:</li><li>
This travel package is based on a minimum of 02 adult passengers traveling together.</li><li>
Prices are based on Standard Rooms unless otherwise specified.</li><li>
Child No Bed rates apply for children between the ages of 2 and 11 years sharing their parent's bed.</li><li>
Surcharge is applicable on a passenger traveling alone.</li><li>
All bookings and confirmations are subject to availability.</li><li>
The International check-in time is1400 hrs & check-out time is 1200 hrs.</li><li>
The details of the sightseeing tours mentioned are indicative. The same may differ and the final details will be advised at the time of confirmation.</li><li>
Name changes will be considered as a cancellation in a booking.</li><li>
Amendment charges and / or cancellation charges will be applicable as per our terms & conditions.</li><li>
Any increase in the hotel tariffs, sightseeing / transfer rates, fuel charges or taxes, rate of exchange, surcharges, etc. which may come into effect prior to the departure, will lead to an increase in the package price. Any difference in the price will be payable by the client.</li><li>
There will be no refund on any unused services.</li><li>
In case of non-availability of hotel rooms, alternate options will be suggested which may involve an increase in price.</li><li>
All prices are subject to change without prior notice.</li><li>
All bookings terms & conditions of Arzoo.com will apply.</li><li>
We require PAN Card + Passport Photocopies (First and Last page) of all the travelers for all the bookings at the time of confirmation as per new guidelines by RBI.</li><li>
GST as per the current rate will be applicable on the sale of any International tour services.</li><li>
	  </li><li>
General Terms & Conditions:</li><li>
This travel package is based on a minimum of 02 adult passengers traveling together.</li><li>
Prices are based on Standard Rooms unless otherwise specified.</li><li>
Child No Bed rates apply for children between the ages of 2 and 11 years sharing their parent's bed.</li><li>
Surcharge is applicable on a passenger traveling alone.</li><li>
All bookings and confirmations are subject to availability.</li><li>
The International check-in time is1400 hrs & check-out time is 1200 hrs.</li><li>
The details of the sightseeing tours mentioned are indicative. The same may differ and the final details will be advised at the time of confirmation.</li><li>
Name changes will be considered as a cancellation in a booking.</li><li>
Amendment charges and / or cancellation charges will be applicable as per our terms & conditions.</li><li>
Any increase in the hotel tariffs, sightseeing / transfer rates, fuel charges or taxes, rate of exchange, surcharges, etc. which may come into effect prior to the departure, will lead to an increase in the package price. Any difference in the price will be payable by the client.</li><li>
There will be no refund on any unused services.</li><li>
In case of non-availability of hotel rooms, alternate options will be suggested which may involve an increase in price.</li><li>
All prices are subject to change without prior notice.</li><li>
All bookings terms & conditions of Arzoo.com will apply.</li><li>
We require PAN Card + Passport Photocopies (First and Last page) of all the travelers for all the bookings at the time of confirmation as per new guidelines by RBI.</li><li>
GST as per the current rate will be applicable on the sale of any International tour services.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>169830</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </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><li>
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kenya 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="183898"/>
						</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.hetshreetransitworld.in/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</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.hetshreetransitworld.in/packages-in-brisbane.htm" title="Packages in Brisbane">Brisbane</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.hetshreetransitworld.in/packages-in-schaffhausen.htm" title="Packages in Schaffhausen">Schaffhausen</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.hetshreetransitworld.in/packages-in-greymouth.htm" title="Packages in Greymouth">Greymouth</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.hetshreetransitworld.in/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.hetshreetransitworld.in/packages-in-florence.htm" title="Packages in Florence">Florence</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.hetshreetransitworld.in/packages-in-paro.htm" title="Packages in Paro">Paro</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.hetshreetransitworld.in/packages-in-canakkale.htm" title="Packages in Canakkale">Canakkale</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.hetshreetransitworld.in/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.hetshreetransitworld.in/packages-in-sydney.htm" title="Packages in Sydney">Sydney</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.hetshreetransitworld.in/packages-in-pisa.htm" title="Packages in Pisa">Pisa</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.hetshreetransitworld.in/packages-in-lucerne.htm" title="Packages in Lucerne">Lucerne</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.hetshreetransitworld.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett</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.hetshreetransitworld.in/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.hetshreetransitworld.in/packages-in-cairo-tour.htm" title="Packages in Cairo">Cairo</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.hetshreetransitworld.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</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.hetshreetransitworld.in/packages-in-bentota.htm" title="Packages in Bentota">Bentota</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.hetshreetransitworld.in/packages-in-macau.htm" title="Packages in Macau">Macau</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.hetshreetransitworld.in/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 spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</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.hetshreetransitworld.in/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</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.hetshreetransitworld.in/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 "><a class="dif" href="http://www.hetshreetransitworld.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></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 Nairobi, Masai Mara, Colombo, Kathmandu</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.hetshreetransitworld.in/tour-packages/glimpseof-nepal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/473250/281489.jpeg"  height="100"  width="100"    alt="Glimpse of Nepal Tour" title="Glimpse of Nepal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.hetshreetransitworld.in/tour-packages/glimpseof-nepal-tour.htm" title="Glimpse of Nepal Tour"><h3>Glimpse Of Nepal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 19260</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kathmandu, Pokhara, Chitwan</p>
															<div class="mt10px small">
							<form name="pkg_183892" id="pkg_183892" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.hetshreetransitworld.in/tour-packages/glimpseof-nepal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Glimpse of Nepal 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="183892"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.hetshreetransitworld.in/tour-packages/simply-sri-lanka-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/473250/281512.jpg"  height="100"  width="100"    alt="Simply Sri Lanka Tour" title="Simply Sri Lanka Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.hetshreetransitworld.in/tour-packages/simply-sri-lanka-tour.htm" title="Simply Sri Lanka Tour"><h3>Simply Sri Lanka Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 14813</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Colombo, Kandy</p>
															<div class="mt10px small">
							<form name="pkg_183905" id="pkg_183905" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.hetshreetransitworld.in/tour-packages/simply-sri-lanka-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Simply Sri Lanka 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="183905"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.hetshreetransitworld.in/tour-packages/sensational-sri-lanka-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/473250/281511.jpg"  height="100"  width="100"    alt="Sensational Sri Lanka Tour" title="Sensational Sri Lanka Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.hetshreetransitworld.in/tour-packages/sensational-sri-lanka-tour.htm" title="Sensational Sri Lanka Tour"><h3>Sensational Sri Lanka Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 39600</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Colombo, Kandy, Nuwara Eliya, Dambulla, ..</p>
															<div class="mt10px small">
							<form name="pkg_183904" id="pkg_183904" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.hetshreetransitworld.in/tour-packages/sensational-sri-lanka-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Sensational Sri Lanka 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="183904"/>
							</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:49:"Book Kenya Tour - 6 Nights / 7 Days Tour Packages";i:2;s:129:"book kenya tour - 6 nights / 7 days tour packages, adventure tour packages, nairobi, masai mara, colombo, kathmandu tour packages";i:3;s:199:"Book Kenya Tour - 6 Nights / 7 Days tour packages from Hetshree Transit World Private Limited - Get attractive 6 Nights / 7 Days Adventure  tour packages for  Nairobi, Masai Mara, Colombo, Kathmandu.";i:4;s:421:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Nairobi, Masai Mara, Colombo, Kathmandu"        
		                 },
		      "description": "",
		      "name": "Kenya Tour",
		      "telephone": "+91-8401525256"
		    }
		    </script>
			";i:5;N;}