Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Sunday, July 5
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Travel»Fly Dubai makes inaugural direct flight to Mombasa, a boost to tourism
    Travel

    Fly Dubai makes inaugural direct flight to Mombasa, a boost to tourism

    Martin AkumaBy Martin AkumaJuly 5, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 7

    Fly Dubai makes inaugural direct flight to Mombasa, a boost to tourism

    Fly Dubai makes inaugural direct flight to Mombasa, a boost to tourism

    The Flydubai plane that landed at Moi International Airport.

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    Excitement ripples through the Coast region of Kenya as the government’s “open skies policy” welcomes new international airlines, raising hopes for a significant surge in tourism

    Excitement ripples through the Coast region of Kenya as the government’s “open skies policy” welcomes new international airlines, raising hopes for a significant surge in tourism. This policy, aimed at bolstering air connectivity, holds immense promise for the region’s vital sector, which has long grappled with limitations in direct flights.
    Fly Dubai, the latest airline to be granted permission for direct flights to Mombasa, marked a historic moment with its maiden landing yesterday. Transport Minister Kipchumba Murkomen, who had approved Fly Dubai’s request last year, proudly welcomed the inaugural flight, hailing it as “a great milestone for the city of Mombasa and our country.”
    Operating four services per week, Fly Dubai joins Kenya Airways and Ethiopian Airlines, which already offer direct flights from Dubai and Addis Ababa to Mombasa, respectively. These developments are seen as a game-changer for the region, paving the way for increased tourist arrivals and economic growth.

    More To Read

    • Kenya eyes MICE tourism to drive 5 million annual international visitors by 2028
    • Governor Abdulswamad Nassir pushes for open skies policy to boost tourism, investment
    • Mombasa showcases coastal heritage as Our Ocean Conference draws global visitors
    • Tourism stakeholders warn Ebola misinformation is hurting travel bookings
    • Panic in Maasai Mara as aircraft skids off runway after landing failure, three escape unhurt
    • Ruto links land rights to development, vows to resolve Coast land disputes

    “Kenya is capable of getting more than 40,000 tourists,” declared Tourism and Wildlife Minister Alfred Mutua, outlining the ministry’s ambitious plans to attract visitors. “Slowly by slowly, the number will go up. We will come up with ways to attract tourists,” he added, highlighting the crucial role improved air connectivity plays in achieving this goal.
    Trasport CS Kipchumba Murkomen was among the leaders who witnessed the first Airdubai direct flight to Mombasa.
    Mombasa Governor Abdulswamad Shariff Nassir expressed his gratitude to the government for implementing the open skies policy. “Something we have discussed with the Tourism Minister and the President,” he said, “we are hopeful that more than 10,000 tourists will visit in three months. They are not only coming to visit Mombasa but other coastal counties as well.”

    Latest Stories

    • Taita Taveta County unveils cooperative fund to boost rural access to credit
    • Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    • Karua, Matiang’i demand arrest and resignation of PS Fikirini over Cecil Ouma shooting
    • A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa

    Industry stakeholders also echoed their optimism. Sam Ikwaye, Kenya Association of Hotelkeepers and Caterers (KAHC) Coast Executive, emphasized the critical need for improved connectivity, despite past government investments in infrastructure. “Direct flights will catalyze tourism investment in the region,” he predicted.
    President William Ruto’s previous announcement allowing Ethiopian Airlines to operate direct flights to Mombasa twice weekly further underscores the government’s commitment to enhancing air accessibility. These initiatives are expected to generate a ripple effect, benefiting not only the tourism sector but also creating employment opportunities for local communities.

    Other Topics To Read

    Top Stories Today

    • Karua, Matiang’i demand arrest of PS Fikirini over Cecil Ouma shooting
    • Taita Taveta to launch cooperative fund to boost rural credit access
    • World Champion Lilian Odira beats Keely Hodgkinson in Eugene thriller
    • Coast leaders rally support for 10-point agenda, reject divisive politics
    • A Super El Niño is coming: Five lessons Africa can teach the world
    • Faith Kipyegon reveals hamstring injury after rare defeat in Eugene

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |1 day ago
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of season
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of seasonAthletics
    |Erick Kariuki
    |3 hours ago
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
    |Abdirahman Khalif
    |7 hours ago
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highway
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highwayNews
    |Rachael Mutabasi
    |1 day ago
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegal
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegalNews
    |Carolyne Kubwa
    |1 day ago
    Mbappé fires France past Paraguay into World Cup quarter-finals
    Mbappé fires France past Paraguay into World Cup quarter-finalsSports
    |Erick Kariuki
    |12 hours ago
    Taita Taveta County unveils cooperative fund to boost rural access to credit
    Taita Taveta County unveils cooperative fund to boost rural access to creditCoast
    |Farhiya Hussein
    |18 minutes ago
    Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
    |Erick Kariuki
    |1 hour ago
    Pakistan to host next round of US-Iran talks on July 11
    Pakistan to host next round of US-Iran talks on July 11Middle-East
    |XINHUA
    |7 hours ago
    Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killings
    Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killingsNews
    |Lucy Mumbi
    |10 hours ago

    direct Dubai Flight inaugural Makes
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Martin Akuma
    • Website

    Related Posts

    TPS Eastern Africa grows its hospitality footprint as investors track regional travel demand

    July 5, 2026

    The Weirdest (and Most Delicious) Wild Game I’ve Ever Eaten

    July 5, 2026

    Chale boardwalk opens to visitors as community eyes tourism, conservation gains

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    TPS Eastern Africa grows its hospitality footprint as investors track regional travel demand

    July 5, 2026

    Use of Local Languages Remains Crucial in Climate Change Communication

    July 5, 2026

    Former finance minister highlights economic concerns of martyred Leader

    July 5, 2026

    Cholera, measles, food shortages put 200,000 at risk in Sudan’s North Kordofan: Medics

    July 5, 2026

    FG condemns killing of two Nigerians in South Africa

    July 5, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    TPS Eastern Africa grows its hospitality footprint as investors track regional travel demand

    Use of Local Languages Remains Crucial in Climate Change Communication

    Former finance minister highlights economic concerns of martyred Leader

    Most Popular

    Cholera, measles, food shortages put 200,000 at risk in Sudan’s North Kordofan: Medics

    FG condemns killing of two Nigerians in South Africa

    Team Paiya – Au chaud Ft. Gaz Mawete

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.