a:6:{i:0;s:21209:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Jakarta City Break Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thecrazypartner.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thecrazypartner.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Jakarta City Break 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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Jakarta</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 17000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jakarta City Break 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="192429"/>
						</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_22/651419/303551.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/651419/303551.jpg"  width="150" height="93"    alt="Jakarta City Break Tour" title="Jakarta City Break 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> Jakarta International Airport - Hotel (Jakarta)
										</p>
										<p class="aj">Welcome to Jakarta. Upon arrival at the Airport you will be met by our local representative who will transfer you to the city hotel.<br />
<br />
Half Day free time in Jakarta (No Services included) (Jakarta)<br />
<br />
 There is no service included, you may spend time, as per your interests.</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> Full day Shopping Tour Jakarta (Jakarta)
										</p>
										<p class="aj">From modern shopping centers to traditional open-air markets, from mega malls to roadside flea markets for bargain hunters, Jakarta has them all. Its vast array of products, top fashion and quality consumer goods at reasonable prices have earned Jakarta the reputation of a shopper's haven in the region.</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> Half day jakarta tour (Jakarta)
										</p>
										<p class="aj">Touring in the City of Jakarta, featuring The Old Port of Sunda Kelapa a fisherman’s wharf of the traditional sailing ships. The old town Batavia, The National Museum, it is the best museum in Indonesia and one of the best in South East Asia. The Museum has an enormous collection of cultural objects of the various ethnic group The National Monument 132 meters high column towering over Merdeka Square which is Jakarta’s principal landmark. The National Monument Museum tells the history of Indonesia’s principal landmark. The National Monument tells the history of Indonesia’s independence struggle in 48 dramatic dioramas.</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> Full Day free time in Jakarta (No Services Included) (Jakarta)
										</p>
										<p class="aj">There is no service included, you may spend time, as per your interests.</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> Hotel - Jakarta International Airport (Jakarta)
										</p>
										<p class="aj">Check out from hotel and get transferred to the airport for your journey to further destination</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Sightseeing</li>
																				<li>4 Night's accommodation in Jakarta at the Aston Marina</li><li>
Tours and Transfers as per the itinerary are operated on Private Basis</li><li>
Inclusive of all current applicable taxes.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Peak/festival period surcharge </li><li>
Beverages NOT included in the quotation</li><li>
 Visas & Airfare</li><li>
 Entrance Fee (unless specified)</li><li>
Driver & Guide </li><li>
Tipping Early Check-in </li><li>
Late Check-out </li><li>
Luggage truck & Porter</li><li>
50% supplement for arrival/departure transfer between 2200 hrs - 0700 hrs</li><li>
If City / Resort Fees / Tourist taxes are applicable then the same will be Payable directly at hotel /Apartment.</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><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								Hotel standard Check-In / Check-out time are 1400 hrs and 1200 hrs respectively

Prices are subject to change with any sudden increase in the cost by hotel,transportation department and any new tax by the government. Rates include only those items specified in your itinerary.

Package rates are valid as per the above mentioned validity dates and for the room category specified. Should the period of stay or room type change, above rates will not be valid.

Hotel rates are not valid during trade fairs, exhibitions and special events. A surcharge will be levied

Above rates are valid on a minimum of 2 adults travelling together

The final pricing will be applicable, based on the rate of exchange (ROE) valid at the time of confirmation of the booking. This price is based on the current rate of exchange.

No refund for unutilized services

If the guest wishes to change itinerary or places after booking of package, you are required to pay the price difference.

The guests are requested to follow the rules and regulations of the resort / hotel where they are accommodated.

Sometimes due to unforeseen situations need may arise for us to make slight changes to tour itinerary; guests are requested to cooperate with us.

In the unlikely event of reserved accommodation not available for you upon arrival at your destination, we would immediately arrange for an alternate accommodation of the same standards.

Inter connecting rooms/Adjacent rooms/Rooms on same floor /rooms near to each other are strictly subject to availability

Maximum waiting time at the airport shall be 90 minutes from the touchdown of the flight. If the customer is delayed then from for 1 hour an extra amount will be charged

For any amendment requests in the Itinerary, please advise our me/transport manager at least 48 hours in advance and the request shall be subject to availability

Shorter-stays than the booked stay and early check-out will be regarded as cancellation and hence no refund will be provided.

Strictly NO Refund for un-utilized services once booking made confirmed

Rates quoted are based on USD for specified No. of persons

No amendment( name changes , date changes, hotel change etc) will be done once the booking is guaranteed

We do not hold any responsibility for additional cost or adjustment which may arise as a result of events beyond our control, such as technical problems with means of transportation, changes imposed by re-scheduling or cancellation of flights by an airline/train, political disturbances, natural disasters, bad weather or terrorist activity etc. Also, any subsequent increase in the cost, which may arise from the increase of fuel price, govt taxes or accommodation charges shall have to be charged additionally

We shall have no legal liability for any loss, damage, personal injury arising directly or indirectly from any aspect of your Holiday.

Journey undertaken by air, land or sea is governed by the terms and conditions of the service provider.

The guest booking our services is expected to provide a valid identity authenticating the person and you shall not make a reservation in a fictitious name.

Showing around all the places mentioned in our packages depend upon the availability of time and climatic conditions

Rates are NETT to Agent and non-commissionable

It is the responsibility of the guest to carry all necessary travel documents such as accommodation voucher / confirmation, passport, other valid identity proof, flight/air tickets etc.

In the unfortunate event of vehicle breakdown, we will provide you alternate vehicle. However, the time loss due to event will not be compensated.

All the hotels have been given as per your budget , kindly visit their respective websites for better understanding before confirming

City tax fee City / Resort Fees / Tourist taxes is not included in the package which is directly paid to the hotel by customer.

Rates are subject to change without prior notice

Rooms are strictly subject to availability and the offer is given to you on a special deal valid for a limited period of time

Above rates quoted based on the group size and should the no of PAX decrease, we have the right to revise the package rate without prior notice

Request you to be punctual for all tours and transfers. Maximum waiting time shall be 05 minutes for SIC and 10 minutes for Private

For any amendment requests in the Itinerary, please advise our me/transport manager at least 48 hours in advance and the request shall be subject to availability

All the hotels have been given as per your budget , kindly visit their respective websites for better understanding before confirming.

In case of any immigration/Visa complications, the cancellation policy shall be applicable in full

Some quotation might involve the remittance /bank transfer to the Suppliers which will be part of your invoice while raising the same into your agency account

Important : Please be available in the lobby for a pick up of tour at least before 10 minutes . Also please inform the reception that you are waiting for tour or transfer pick up.								</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.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jakarta City Break 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="192429"/>
						</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.thecrazypartner.in/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/chiang-mai-tour-packages.htm" title="Chiang Mai Tour Packages">Chiang Mai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/ko-samui-tour-packages.htm" title="Ko Samui Tour Packages">Ko Samui</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/amsterdam-tour-packages.htm" title="Amsterdam Tour Packages">Amsterdam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/viseu-tour-packages.htm" title="Viseu Tour Packages">Viseu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/makkah-tour-packages.htm" title="Makkah Tour Packages">Makkah</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.thecrazypartner.in/florence-tour-packages.htm" title="Florence Tour Packages">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.thecrazypartner.in/rome-tour-packages.htm" title="Rome Tour Packages">Rome</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.thecrazypartner.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</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.thecrazypartner.in/hong-kong-tour-packages.htm" title="Hong Kong Tour Packages">Hong Kong</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.thecrazypartner.in/jakarta-tour-packages.htm" title="Jakarta Tour Packages">Jakarta</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.thecrazypartner.in/medina-uae-tour-packages.htm" title="Medina Tour Packages">Medina</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.thecrazypartner.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</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.thecrazypartner.in/lyon-tour-packages.htm" title="Lyon Tour Packages">Lyon</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.thecrazypartner.in/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.thecrazypartner.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(2)</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:62:"Book Jakarta City Break Tour - 4 Nights / 5 Days Tour Packages";i:2;s:110:"book jakarta city break tour - 4 nights / 5 days tour packages, adventure tour packages, jakarta tour packages";i:3;s:144:"The Crazy Partner offers Jakarta City Break Tour - 4 Nights / 5 Days tour package, budget Adventure tour packages for Jakarta at exciting price.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jakarta"        
		                 },
		      "description": "",
		      "name": "Jakarta City Break Tour",
		      "telephone": "+91-9990001854"
		    }
		    </script>
			";i:5;N;}