No. |
Departures from KL Sentral |
Arrival at KLIA2 |
Arrival at KLIA1 |
Departures from KLIA1 |
Departures from KLIA2 |
Arrival at KL Sentral |
1 |
3:00 |
4:00 |
4:15 |
4:30 |
4:45 |
5:45 |
2 |
3:30 |
4:30 |
4:45 |
5:00 |
5:15 |
6:15 |
3 |
4:00 |
5:00 |
5:15 |
5:30 |
5:45 |
6:45 |
4 |
4:30 |
5:30 |
5:45 |
6:00 |
6:15 |
7:15 |
5 |
5:00 |
6:00 |
6:15 |
6:30 |
6:45 |
7:45 |
6 |
5:30 |
6:30 |
6:45 |
7:00 |
7:15 |
8:15 |
7 |
6:00 |
7:00 |
7:15 |
7:30 |
7:45 |
8:45 |
8 |
6:30 |
7:30 |
7:45 |
8:00 |
8:15 |
9:15 |
9 |
7:00 |
8:00 |
8:15 |
8:30 |
8:45 |
9:45 |
10 |
7:30 |
8:30 |
8:45 |
9:00 |
9:15 |
10:15 |
11 |
8:00 |
9:00 |
9:15 |
9:30 |
9:45 |
10:45 |
12 |
8:30 |
9:30 |
9:45 |
10:00 |
10:15 |
11:15 |
13 |
9:00 |
10:00 |
10:15 |
10:30 |
10:45 |
11:45 |
14 |
9:30 |
10:30 |
10:45 |
11:00 |
11:15 |
12:15 |
15 |
10:00 |
11:00 |
11:15 |
11:30 |
11:45 |
12:45 |
16 |
10:20 |
11:20 |
11:40 |
12:00 |
12:20 |
13:20 |
17 |
10:40 |
11:40 |
12:00 |
12:20 |
12:40 |
13:40 |
18 |
11:00 |
12:00 |
12:20 |
12:40 |
13:00 |
14:00 |
19 |
11:20 |
12:20 |
12:40 |
13:00 |
13:20 |
14:20 |
20 |
11:40 |
12:40 |
13:00 |
13:20 |
13:40 |
14:40 |
21 |
12:00 |
13:00 |
13:20 |
13:40 |
14:00 |
15:00 |
22 |
12:20 |
13:20 |
13:40 |
14:00 |
14:20 |
15:20 |
23 |
12:40 |
13:40 |
14:00 |
14:20 |
14:40 |
15:40 |
24 |
13:00 |
14:00 |
14:20 |
14:40 |
15:00 |
16:00 |
25 |
13:20 |
14:20 |
14:40 |
15:00 |
15:20 |
16:20 |
26 |
13:40 |
14:40 |
15:00 |
15:20 |
15:40 |
16:40 |
27 |
14:00 |
15:00 |
15:20 |
15:40 |
16:00 |
17:00 |
28 |
14:20 |
15:20 |
15:40 |
16:00 |
16:20 |
17:20 |
29 |
14:40 |
15:40 |
16:00 |
16:20 |
16:40 |
17:40 |
30 |
15:00 |
16:00 |
16:20 |
16:40 |
17:00 |
18:00 |
31 |
15:20 |
16:20 |
16:40 |
17:00 |
17:20 |
18:20 |
32 |
15:40 |
16:40 |
17:00 |
17:20 |
17:40 |
18:40 |
33 |
16:00 |
17:00 |
17:20 |
17:40 |
18:00 |
19:00 |
34 |
16:30 |
17:30 |
17:45 |
18:00 |
18:15 |
19:15 |
35 |
17:00 |
18:00 |
18:15 |
18:30 |
18:45 |
19:45 |
36 |
17:30 |
18:30 |
18:45 |
19:00 |
19:15 |
20:15 |
37 |
18:00 |
19:00 |
19:15 |
19:30 |
19:45 |
20:45 |
38 |
18:30 |
19:30 |
19:45 |
20:00 |
20:15 |
21:15 |
39 |
19:00 |
20:00 |
20:15 |
20:30 |
20:45 |
21:45 |
40 |
19:30 |
20:30 |
20:45 |
21:00 |
21:15 |
22:15 |
41 |
20:00 |
21:00 |
21:15 |
21:45 |
21:45 |
22:45 |
42 |
20:30 |
21:30 |
21:45 |
22:00 |
22:15 |
23:15 |
43 |
21:00 |
22:00 |
22:15 |
22:30 |
22:45 |
23:45 |
44 |
21:30 |
22:30 |
22:45 |
23:00 |
23:15 |
0:15 |
45 |
22:00 |
23:00 |
23:15 |
23:30 |
23:45 |
0:45 |
46 |
22:30 |
23:30 |
23:45 |
0:00 |
0:15 |
1:15 |
47 |
23:00 |
0:00 |
0:15 |
0:30 |
0:45 |
1:45 |
48 |
23:30 |
0:30 |
0:45 |
1:00 |
1:15 |
2:15 |
Please Enter Your Details
✔
Success
Thank you, Message has been sent successfully
<script>
$('footer .footer-contact h3').html ("<img src='https://ticket-simply-mly-cms.s3.amazonaws.com/uploads/bcc/cms/asset/avatar/165/logo.jpg'>");
$( "#extra_115" ).insertAfter( $( "#extra_21" ) );
$( "#extra_276" ).insertAfter( $( "#react-app" ) );
</script>
<script>
$(".main-menu li:nth-child(5)").html("<div class='signinf'><h3><a href='#' ><img src='https://gst-contracts.s3.amazonaws.com/uploads/bcc/cms/asset/avatar/127813/cust1.png'>Sign in</a></h3></div>");
</script>
<script>
$('footer .footer-contact h3').html ("<img src='https://ticket-simply-mly-cms.s3.amazonaws.com/uploads/bcc/cms/asset/avatar/170/logo.jpg'>");
</script>
<script>
if(! $(".wrapper").hasClass("inner-page")){
$(".wrapper").addClass("emdedded_new");
}
</script>
<script>
$('#extra_21 .count').each(function() {
$(this).prop('Counter', 0).animate({
Counter: $(this).text()
}, {
duration: 10000,
easing: 'swing',
step: function(now) {
if($(this).is(".rating")){
$(this).text(now.toFixed(1));
}
else{
$(this).text(parseInt(now));
}
}
});
});
</script>
<script>
containerWidth = document.getElementById("container").clientWidth;
nextButton = document.getElementById("next-button");
previousButton = document.getElementById("previous-button");
slide = document.getElementById("slide");
firstCardLeftMargin = 10;
cardWidthAndRightMargin = 120 + 10;
totalWidth = slide.clientWidth;
const transformSlide = (val) => {
slide.style.transform = `translate(${val}px,0px)`;
};
const getCurrentPosition = () => {
const stringValue = slide.style.transform;
const transformValue = stringValue.substring(
stringValue.indexOf("(") + 1,
stringValue.lastIndexOf("p")
);
return transformValue ? parseInt(transformValue) : 0;
};
const getNextPosition = () => {
//take current position of the slide
const currentPosition = getCurrentPosition();
//last visibile pixel
const lastVisiblePixel = containerWidth + -1 * currentPosition;
//use the last visible pixel to calculate which card was fully-visible.
//This will return a float whose floor will indicate the last fully-visible card.
//We will show the next card as the first card after sliding
const lastFullyVisibleCard = Math.floor(
(lastVisiblePixel - firstCardLeftMargin) / cardWidthAndRightMargin
);
//Calculate the distance from slideStart to the lastVisibleCard's end
const distanceToNextCard =
lastFullyVisibleCard * cardWidthAndRightMargin + firstCardLeftMargin;
if (distanceToNextCard + containerWidth > totalWidth) {
return totalWidth - containerWidth + firstCardLeftMargin;
}
return distanceToNextCard - 10;
};
const getPreviousPosition = () => {
const currentPosition = getCurrentPosition(); //take current position
//getting first partially visible card. This will be the last card shown when the button is clicked.
const firstPartiallyVisibleCard = Math.floor(
(-1 * currentPosition - firstCardLeftMargin) / cardWidthAndRightMargin
);
//get distance to card end from slide start
const distanceToCardEndFromSlideStart =
firstPartiallyVisibleCard * cardWidthAndRightMargin + firstCardLeftMargin;
//translateX distance would be total distance - containerwidth
const distanceNeeded = distanceToCardEndFromSlideStart - containerWidth;
//return calculateDistance only if it is positive
if (distanceNeeded > 0) {
return -distanceNeeded;
}
//if needed distance < 0 i.e. card end is closer to start than container width means that this scroll would overshoot the left edge.
//return 0 and return the slide to it's initial position
return 0;
};
nextButton.addEventListener("click", (event) => {
transformSlide(-getNextPosition());
});
previousButton.addEventListener("click", (event) => {
transformSlide(getPreviousPosition());
});
</script>
<script>
$("<p class='booking-text'>Book with us</p>").insertBefore(".booking-widget");
$(".main-menu li:nth-child(3)").text("Help Center") );
</script>
<script>
$('#customers-testimonials').owlCarousel({
loop: true,
center: true,
items: 3,
margin: 0,
autoplay: true,
dots:false,
autoplayTimeout: 8500,
smartSpeed: 450,
responsive: {
0: {
items: 1
},
768: {
items: 2
},
1170: {
items: 3
}
}
});
</script>