Close Menu

    Subscribe to Updates

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

    What's Hot

    Andy Cohen Reveals Who Helped Crack ‘Summer House’ Leak

    April 27, 2026

    Greg Gutfeld Gets Dragged After Resurfaced Meltdown Video

    April 27, 2026

    Consumers lost $2.1 billion to social media scams in 2025, FTC reports

    April 27, 2026
    Facebook X (Twitter) Instagram
    Select Language
    Facebook X (Twitter) Instagram
    NEWS ON CLICK
    Subscribe
    Monday, April 27
    • Home
      • United States
      • Canada
      • Spain
      • Mexico
    • Top Countries
      • Canada
      • Mexico
      • Spain
      • United States
    • Politics
    • Business
    • Entertainment
    • Fashion
    • Health
    • Science
    • Sports
    • Travel
    NEWS ON CLICK
    Home»Business & Economy»US Business & Economy»Little Caesars Makes History With Drone Delivery in 4 Minutes
    US Business & Economy

    Little Caesars Makes History With Drone Delivery in 4 Minutes

    News DeskBy News DeskApril 27, 2026No Comments9 Mins Read
    Share Facebook Twitter Pinterest Copy Link LinkedIn Tumblr Email VKontakte Telegram
    Little Caesars Makes History With Drone Delivery in 4 Minutes
    Share
    Facebook Twitter Pinterest Email Copy Link




    Little Caesars Makes History With Drone Delivery in 4 Minutes


























    Skip to main content

    The pizza chain partnered with Flytrex to fly full family meals through the air, with big plans to eventually reach 100 million people.

    By

    Jonathan Small


    |


    edited by
    Dan Bova


    |


    Apr 27, 2026

    Little Caesars made big news this week when it delivered two large pizzas and drinks by drone in four minutes.

    The flight was historic: It’s the first time a pizza franchise has integrated drone orders directly into its kitchen system. When customers in Wylie, Texas order through the Flytrex app, the order routes into Little Caesars’ register like any other ticket.

    No pizza delivery guy picks up the pies from inside the store. Instead, the Sky2 drone collects the order curbside and flies autonomously to the customer’s address within a four-mile radius. The drone hovers over the drop zone and lowers the package by wire.

    Drones have been transforming the delivery business. Flytrex has completed over 200,000 deliveries across the U.S. and doubled its volume over the last year. The company plans to expand nationwide to the 37 largest metro areas, unlocking drone delivery for over 100 million people.

    Little Caesars made big news this week when it delivered two large pizzas and drinks by drone in four minutes.

    The flight was historic: It’s the first time a pizza franchise has integrated drone orders directly into its kitchen system. When customers in Wylie, Texas order through the Flytrex app, the order routes into Little Caesars’ register like any other ticket.

    No pizza delivery guy picks up the pies from inside the store. Instead, the Sky2 drone collects the order curbside and flies autonomously to the customer’s address within a four-mile radius. The drone hovers over the drop zone and lowers the package by wire.

    Drones have been transforming the delivery business. Flytrex has completed over 200,000 deliveries across the U.S. and doubled its volume over the last year. The company plans to expand nationwide to the 37 largest metro areas, unlocking drone delivery for over 100 million people.

    Jonathan Small is a bestselling author, journalist, producer, and podcast host. For 25 years, he… Read more

    ${reply?.comment_author}${reply?.eln_tier_label ? `${reply.eln_tier_label}` : ”}

    •
    ${reply?.comment_relative_time}

    ${reply?.comment_content?.trim()}

    `;
    }

    function createComment(comment, replies, isLastComment) {
    const commentListDiv = document.getElementById(PublicCommentSelectors.LIST);

    if (!commentListDiv) {
    return;
    }

    const borderClasses = isLastComment ? ” : ‘tw:border-b tw:border-slate-200’;

    const currentUser = window?.tp?.pianoId?.getUser() ?? null;
    const currentUserInitials = currentUser
    ? getInitials(`${currentUser?.firstName ?? ”} ${currentUser?.lastName ?? ”}`)
    : ”;

    const repliesHTML = replies.length ? `

    ${replies.map(buildReplyHTML).join(”)}

    ` : ”;

    const replyButtonHTML = allowsComments ? `

    ` : ”;

    const replyFormHTML = allowsComments ? `

    ` : ”;

    const commentDiv = `

    ${comment?.comment_author}${comment?.eln_tier_label ? “ : ”}

    •
    ${comment?.comment_relative_time}

    ${comment?.comment_content?.trim()}

    ${replyButtonHTML}

    ${repliesHTML}
    ${replyFormHTML}

    `;

    commentListDiv.innerHTML += commentDiv;
    }

    function displayComments() {
    // Empty out the comment list container before refreshing comments.
    const commentListDiv = document.getElementById(PublicCommentSelectors.LIST);
    commentListDiv.innerHTML = ”;

    const comments = state?.comments ?? [];

    if (!comments.length) {
    return;
    }

    // Build a threaded structure: separate top-level from replies.
    const repliesByParent = {};
    const topLevelComments = [];

    comments.forEach(comment => {
    if (comment.comment_parent === 0) {
    topLevelComments.push(comment);
    } else {
    const parentId = comment.comment_parent;
    if (!repliesByParent[parentId]) {
    repliesByParent[parentId] = [];
    }
    repliesByParent[parentId].push(comment);
    }
    });

    // Apply top-level sort order. Server returns DESC; reverse for oldest-first.
    if (state.sortOrder === ‘oldest’) {
    topLevelComments.reverse();
    }

    // Replies always show oldest first within a thread (server returns DESC, so reverse).
    Object.keys(repliesByParent).forEach(parentId => {
    repliesByParent[parentId].reverse();
    });

    topLevelComments.forEach((comment, index) => {
    const isLastComment = index === topLevelComments.length – 1;
    const replies = repliesByParent[comment.comment_ID] ?? [];
    createComment(comment, replies, isLastComment);
    });

    createCommentAvatars();
    }

    function updateCommentCount() {
    const countDiv = document.getElementById(PublicCommentSelectors.COMMENT_COUNT);
    const sortControls = document.getElementById(PublicCommentSelectors.SORT_CONTROLS);

    if (!countDiv) {
    return;
    }

    const count = state?.comments?.length ?? 0;

    // Do not display if there are no comments.
    if (count === 0) {
    return;
    }

    countDiv.innerHTML = `${count} Comment${count > 1 ? ‘s’ : ”}`;

    if (sortControls) {
    sortControls.classList.remove(‘tw:hidden’);
    sortControls.classList.add(‘tw:flex’);
    }
    }

    function displayLoader(show) {
    const loader = document.getElementById(PublicCommentSelectors.BUTTON_LOADER);
    const text = document.getElementById(PublicCommentSelectors.BUTTON_TEXT);

    if (!loader || !text) {
    return;
    }

    // Show or hide the loader.
    if (show) {
    loader.classList.remove(‘tw:hidden’);
    text.classList.add(‘tw:hidden’);
    } else {
    loader.classList.add(‘tw:hidden’);
    text.classList.remove(‘tw:hidden’);
    }
    }

    function displayError(error) {
    const errorDiv = document.getElementById(PublicCommentSelectors.ERROR);

    if (!errorDiv) {
    return;
    }

    if (error) {
    errorDiv.classList.add(‘tw:block’);
    errorDiv.classList.remove(‘tw:hidden’);
    errorDiv.textContent = `Comment submission error: ${error}`;
    } else {
    errorDiv.classList.remove(‘tw:block’);
    errorDiv.classList.add(‘tw:hidden’);
    errorDiv.textContent=””;
    }
    }

    function clearCommentInput() {
    const commentField = document.getElementById(PublicCommentSelectors.INPUT);

    if (!commentField) {
    return;
    }

    commentField.value=””;
    }

    function updateComments(comments = []) {
    state.comments = comments;
    displayComments();
    updateCommentCount();
    }

    function runCommentProcess(type) {
    if (type === ‘postComment’) {
    const comment = document.getElementById(PublicCommentSelectors.INPUT);

    if (!comment || !comment?.value) {
    return;
    }

    // Hide errors, show loader.
    displayError();
    displayLoader(true);
    }

    const data = {
    type,
    postId: 426104,
    };

    // Get a fresh nonce and either fetch comments or post comment.
    fetch(`${adminAjaxUrl}?action=ep_get_public_comment_nonce`, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’,
    },
    body: JSON.stringify(data),
    })
    .then((r) => r.json())
    .then((response) => {
    // Handle errors.
    if (!response.success) {
    displayLoader(false);
    console.error(‘Error getting nonce: ‘, response?.data?.message);
    return;
    }

    const nonce = response?.data?.nonce;

    // Get comments.
    if (type === ‘getComments’) {
    getComments(nonce);
    return;
    }

    // Post comment.
    if (type === ‘postComment’) {
    postComment(nonce);
    }
    })
    .catch((e) => {
    displayLoader(false);
    console.error(`Error running comment process ${type}: `, e);
    });
    }

    function getComments(nonce) {
    const data = {
    nonce,
    postId: 426104,
    };

    // Fetch comments.
    fetch(`${adminAjaxUrl}?action=ep_get_public_comments`, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’,
    },
    body: JSON.stringify(data),
    })
    .then((r) => r.json())
    .then((response) => {
    // Handle errors.
    if (!response.success) {
    displayLoader(false);
    console.error(‘Error getting comments: ‘, response?.data?.message);
    return;
    }

    updateComments(response?.data?.comments);
    displayLoader(false);
    })
    .catch((e) => {
    displayLoader(false);
    console.error(‘Error getting comments: ‘, e);
    });
    }

    function postComment(nonce) {
    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user || !user?.uid) {
    console.error(‘Error posting comment: Unauthorized. Submission aborted.’);
    return;
    }

    const comment = document.getElementById(PublicCommentSelectors.INPUT);

    if (!comment || !comment?.value) {
    return;
    }

    const data = {
    nonce,
    comment: comment.value,
    commentParent: 0,
    postId: 426104,
    uid: user?.uid,
    };

    // Post the comment.
    fetch(`${adminAjaxUrl}?action=ep_create_public_comment`, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’,
    },
    credentials: ‘include’,
    body: JSON.stringify(data),
    })
    .then((r) => r.json())
    .then((response) => {
    // Handle errors.
    if (!response.success) {
    displayLoader(false);
    displayError(response?.data?.message, true);
    console.error(‘Error posting comment: ‘, response?.data?.message);
    return;
    }

    // Handle success.
    clearCommentInput();
    runCommentProcess(‘getComments’);
    })
    .catch((e) => {
    displayLoader(false);
    displayError(e);
    console.error(‘Error posting comment: ‘, e);
    });
    }

    function toggleReplyForm(commentId) {
    // Close any other open reply forms.
    document.querySelectorAll(‘.ep-reply-form’).forEach(function(form) {
    if (form.dataset.parentId !== String(commentId)) {
    form.classList.add(‘tw:hidden’);
    }
    });

    // Toggle the targeted reply form.
    const targetForm = document.querySelector(‘.ep-reply-form[data-parent-id=”‘ + commentId + ‘”]’);

    if (targetForm) {
    targetForm.classList.toggle(‘tw:hidden’);

    if (!targetForm.classList.contains(‘tw:hidden’)) {
    targetForm.querySelector(‘.ep-reply-input’)?.focus();
    }
    }
    }

    function setReplyLoading(formEl, isLoading) {
    const btn = formEl.querySelector(‘.ep-reply-submit’);
    const btnText = formEl.querySelector(‘.ep-reply-button-text’);

    if (!btn || !btnText) {
    return;
    }

    if (isLoading) {
    btnText.textContent=”Posting…”;
    btn.disabled = true;
    } else {
    btnText.textContent=”Post Reply”;
    btn.disabled = false;
    }
    }

    function displayReplyError(formEl, error) {
    const errorDiv = formEl.querySelector(‘.ep-reply-error’);

    if (!errorDiv || !error) {
    return;
    }

    errorDiv.textContent=”Reply error: ” + error;
    errorDiv.classList.remove(‘tw:hidden’);
    errorDiv.classList.add(‘tw:block’);
    }

    function clearReplyError(formEl) {
    const errorDiv = formEl.querySelector(‘.ep-reply-error’);

    if (!errorDiv) {
    return;
    }

    errorDiv.textContent=””;
    errorDiv.classList.add(‘tw:hidden’);
    errorDiv.classList.remove(‘tw:block’);
    }

    function postReply(nonce, parentId, replyText, formEl) {
    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user || !user?.uid) {
    setReplyLoading(formEl, false);
    return;
    }

    const data = {
    nonce,
    comment: replyText,
    commentParent: parentId,
    postId: 426104,
    uid: user?.uid,
    };

    fetch(`${adminAjaxUrl}?action=ep_create_public_comment`, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’,
    },
    credentials: ‘include’,
    body: JSON.stringify(data),
    })
    .then((r) => r.json())
    .then((response) => {
    setReplyLoading(formEl, false);

    if (!response.success) {
    displayReplyError(formEl, response?.data?.message);
    console.error(‘Error posting reply: ‘, response?.data?.message);
    return;
    }

    formEl.querySelector(‘.ep-reply-input’).value=””;
    formEl.classList.add(‘tw:hidden’);
    runCommentProcess(‘getComments’);
    })
    .catch((e) => {
    setReplyLoading(formEl, false);
    displayReplyError(formEl, ‘Network error. Please try again.’);
    console.error(‘Error posting reply: ‘, e);
    });
    }

    function submitReply(parentId, formEl) {
    const input = formEl.querySelector(‘.ep-reply-input’);

    if (!input || !input.value.trim()) {
    return;
    }

    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user || !user?.uid) {
    openLoginModal();
    return;
    }

    setReplyLoading(formEl, true);
    clearReplyError(formEl);

    const data = {
    type: ‘postComment’,
    postId: 426104,
    };

    fetch(`${adminAjaxUrl}?action=ep_get_public_comment_nonce`, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’,
    },
    body: JSON.stringify(data),
    })
    .then((r) => r.json())
    .then((response) => {
    if (!response.success) {
    setReplyLoading(formEl, false);
    displayReplyError(formEl, response?.data?.message);
    return;
    }

    postReply(response?.data?.nonce, parseInt(parentId, 10), input.value.trim(), formEl);
    })
    .catch((e) => {
    setReplyLoading(formEl, false);
    displayReplyError(formEl, ‘Network error. Please try again.’);
    console.error(‘Error getting nonce for reply: ‘, e);
    });
    }

    function setupCommentListDelegation() {
    const commentListDiv = document.getElementById(PublicCommentSelectors.LIST);

    if (!commentListDiv) {
    return;
    }

    commentListDiv.addEventListener(‘click’, function(e) {
    // Reply button: toggle the inline reply form.
    const replyButton = e.target.closest(‘.’ + PublicCommentSelectors.REPLY_BUTTON);
    if (replyButton) {
    const commentId = replyButton.dataset.commentId;
    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user) {
    openLoginModal();
    return;
    }

    toggleReplyForm(commentId);
    return;
    }

    // Reply cancel: hide the reply form.
    const replyCancel = e.target.closest(‘.ep-reply-cancel’);
    if (replyCancel) {
    const parentId = replyCancel.dataset.parentId;
    const form = document.querySelector(‘.ep-reply-form[data-parent-id=”‘ + parentId + ‘”]’);
    if (form) {
    form.classList.add(‘tw:hidden’);
    }
    return;
    }

    // Reply submit: post the reply.
    const replySubmit = e.target.closest(‘.ep-reply-submit’);
    if (replySubmit) {
    const parentId = replySubmit.dataset.parentId;
    const form = document.querySelector(‘.ep-reply-form[data-parent-id=”‘ + parentId + ‘”]’);
    if (form) {
    submitReply(parentId, form);
    }
    }
    });
    }

    function setupUserAvatar() {
    const usernameDiv = document.getElementById(PublicCommentSelectors.USERNAME);
    const userAvatar = document.getElementById(PublicCommentSelectors.USER_AVATAR);

    if (!usernameDiv || !userAvatar) {
    return;
    }

    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user) {
    return;
    }

    const fullName = `${user?.firstName ?? ”} ${user?.lastName ?? ”}`;

    usernameDiv.innerHTML = fullName;
    userAvatar.innerHTML = getInitials(fullName);
    }

    function openLoginModal() {
    window?.tp?.pianoId?.show({ displayMode: ‘modal’, screen: ‘login’ });
    }

    function setupCommentSubmitButton() {
    const submitButton = document.getElementById(PublicCommentSelectors.SUBMIT);

    if (!submitButton || state.submitCommentButtonRegistered) {
    return;
    }

    // Register a single click handler that checks auth state at click time.
    submitButton.addEventListener(‘click’, function() {
    const user = window?.tp?.pianoId?.getUser() ?? null;

    if (!user) {
    openLoginModal();
    return;
    }

    runCommentProcess(‘postComment’);
    });

    state.submitCommentButtonRegistered = true;
    }

    function setSortOrder(order) {
    state.sortOrder = order;

    const newestBtn = document.getElementById(PublicCommentSelectors.SORT_NEWEST);
    const oldestBtn = document.getElementById(PublicCommentSelectors.SORT_OLDEST);

    if (newestBtn && oldestBtn) {
    const activeClasses = [‘tw:font-bold’, ‘tw:text-blue-800’];
    const inactiveClasses = [‘tw:font-normal’, ‘tw:text-slate-500’];

    if (order === ‘newest’) {
    newestBtn.classList.add(…activeClasses);
    newestBtn.classList.remove(…inactiveClasses);
    oldestBtn.classList.add(…inactiveClasses);
    oldestBtn.classList.remove(…activeClasses);
    } else {
    oldestBtn.classList.add(…activeClasses);
    oldestBtn.classList.remove(…inactiveClasses);
    newestBtn.classList.add(…inactiveClasses);
    newestBtn.classList.remove(…activeClasses);
    }
    }

    displayComments();
    }

    function setupSortControls() {
    const newestBtn = document.getElementById(PublicCommentSelectors.SORT_NEWEST);
    const oldestBtn = document.getElementById(PublicCommentSelectors.SORT_OLDEST);

    if (newestBtn) {
    newestBtn.addEventListener(‘click’, function() {
    setSortOrder(‘newest’);
    });
    }

    if (oldestBtn) {
    oldestBtn.addEventListener(‘click’, function() {
    setSortOrder(‘oldest’);
    });
    }
    }

    runCommentProcess(‘getComments’);
    listenForPianoLogin();
    setupCommentSubmitButton();
    setupCommentListDelegation();
    setupSortControls();
    });


    The AI Revolution Is Mostly Marketing — and Here’s the Proof It’s Overhyped


    He Survived on Canned Soup and Only Took 2 Days Off for His Child’s Birth — Now This CEO Warns Against Startup Hustle Culture: ‘That Was a Mistake’


    For the First Time, Microsoft Is Offering Voluntary Retirement to 7% of Its Workforce — Here’s Why


    This Shoe Company Hit $3.8 Billion in Sales —Here’s How It Plans to Avoid ‘Pitfalls’ That Battered Allbirds


    This Airline CEO Was Banned From Casinos for Card Counting — Now He’s Making His Biggest Bet Yet


    Skip the $1,500+ Price Tag With a High-Performance, Refurbished MacBook Pro

    Drones franchise Lifestyle Little Caesars Pizza Technology
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Telegram Copy Link
    News Desk
    • Website

    News Desk is the dedicated editorial force behind News On Click. Comprised of experienced journalists, writers, and editors, our team is united by a shared passion for delivering high-quality, credible news to a global audience.

    Related Posts

    US Business & Economy

    When settling for half your salary starts to seem worth it

    April 27, 2026
    US Business & Economy

    This CEO Changed His Mind About Startup Hustle Culture

    April 27, 2026
    US Business & Economy

    Elon Musk and ChatGPT’s Sam Altman head to an AI trial that promises clashing testimony

    April 27, 2026
    US Business & Economy

    Qualcomm stock is soaring today as rumblings of an OpenAI smartphone deal emerge. Here’s what’s happening

    April 27, 2026
    US Business & Economy

    How the Walkman, Game Boy, Liquid Death, and Pokémon Became Surprise Hits

    April 27, 2026
    US Business & Economy

    The Future Is Shrouded in an AI Fog

    April 27, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Don't Miss

    Andy Cohen Reveals Who Helped Crack ‘Summer House’ Leak

    News DeskApril 27, 20260

    The mystery behind the explosive “Summer House” reunion leak has taken an unexpected turn. Early…

    Greg Gutfeld Gets Dragged After Resurfaced Meltdown Video

    April 27, 2026

    Consumers lost $2.1 billion to social media scams in 2025, FTC reports

    April 27, 2026

    Janet Jackson Credits Full Creative Team In Minimalist Fashion Post

    April 27, 2026
    Tech news by Newsonclick.com
    Top Posts

    Orioles contact-less lineup tries for better results vs. Guardians

    April 19, 2026

    Consumers lost $2.1 billion to social media scams in 2025, FTC reports

    April 27, 2026

    Rangers Re-Sign Ryan Brasier To Minor League Deal

    March 28, 2026

    Taylor Frankie Paul Reveals Her Life Was Saved, Deletes Later

    March 28, 2026
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Editors Picks

    Andy Cohen Reveals Who Helped Crack ‘Summer House’ Leak

    April 27, 2026

    Greg Gutfeld Gets Dragged After Resurfaced Meltdown Video

    April 27, 2026

    Consumers lost $2.1 billion to social media scams in 2025, FTC reports

    April 27, 2026

    Janet Jackson Credits Full Creative Team In Minimalist Fashion Post

    April 27, 2026
    About Us

    NewsOnClick.com is your reliable source for timely and accurate news. We are committed to delivering unbiased reporting across politics, sports, entertainment, technology, and more. Our mission is to keep you informed with credible, fact-checked content you can trust.

    We're social. Connect with us:

    Facebook X (Twitter) Instagram Pinterest YouTube
    Latest Posts

    Andy Cohen Reveals Who Helped Crack ‘Summer House’ Leak

    April 27, 2026

    Greg Gutfeld Gets Dragged After Resurfaced Meltdown Video

    April 27, 2026

    Consumers lost $2.1 billion to social media scams in 2025, FTC reports

    April 27, 2026

    Subscribe to Updates

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

    Facebook X (Twitter) Instagram Pinterest
    • About Us
    • Editorial Policy
    • Privacy Policy
    • Terms and Conditions
    • Disclaimer
    • Advertise
    • Contact Us
    © 2026 Newsonclick.com || Designed & Powered by ❤️ Trustmomentum.com.

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