{"id":346104,"date":"2026-08-15T17:55:48","date_gmt":"2026-08-15T17:55:48","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/arrival-for-woo\/"},"modified":"2026-08-19T16:32:35","modified_gmt":"2026-08-19T16:32:35","slug":"arrival-for-woo","status":"publish","type":"plugin","link":"https:\/\/tr.wordpress.org\/plugins\/arrival-for-woo\/","author":18781233,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Arrival for Woo","header_author":"EMBARK","header_description":"Delivery date and cutoff clarity for Woo \u2014 help shoppers know exactly when their order will arrive before they buy.","assets_banners_color":"101010","last_updated":"2026-08-19 16:32:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/embark.studio\/products\/arrival-for-woo\/","header_author_uri":"https:\/\/embark.studio","rating":0,"author_block_rating":0,"active_installs":0,"downloads":116,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"embarkstudio","date":"2026-08-15 17:55:13"},"1.0.1":{"tag":"1.0.1","author":"embarkstudio","date":"2026-08-17 13:27:54"},"1.0.2":{"tag":"1.0.2","author":"embarkstudio","date":"2026-08-19 16:32:35"}},"upgrade_notice":{"1.0.2":"<p>Delivery estimates now appear on the order summary and in order emails, alongside a new after-order message and opening-hours output.<\/p>","1.0.1":"<p>Deleting the plugin now keeps your settings.<\/p>","1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3651291,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3651291,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3648909,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3648909,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3655027,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/?product=hoodie-with-logo\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"importWxr\",\"file\":{\"resource\":\"vfs\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/woocommerce\\\/sample-data\\\/sample_products.xml\"},\"fetchAttachments\":true},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php'; if ( ! function_exists( 'WC' ) ) { return; }\\n\\n\\\/* Quiet WooCommerce's first-run onboarding so the preview opens on the plugin, not a wizard. *\\\/\\nupdate_option( 'woocommerce_onboarding_profile', array( 'skipped' => true ) );\\nupdate_option( 'woocommerce_task_list_hidden', 'yes' );\\nupdate_option( 'woocommerce_task_list_welcome_modal_dismissed', 'yes' );\\nupdate_option( 'woocommerce_show_marketplace_suggestions', 'no' );\\ndelete_transient( '_wc_activation_redirect' );\\n\\n\\\/* The sample catalogue is priced in USD; keep the store's currency and origin consistent. *\\\/\\nupdate_option( 'woocommerce_store_address', '60 29th Street' );\\nupdate_option( 'woocommerce_store_city', 'San Francisco' );\\nupdate_option( 'woocommerce_store_postcode', '94110' );\\nupdate_option( 'woocommerce_default_country', 'US:CA' );\\nupdate_option( 'woocommerce_currency', 'USD' );\\nupdate_option( 'woocommerce_calc_shipping', 'yes' );\\n\\n\\\/* Arrival reads shipping zones. Without a zone and methods it has nothing to say, which is\\n * exactly how a preview ends up looking like a plugin that does nothing. Three methods with\\n * deliberately different cutoffs, so the dates and the countdown differ per option rather\\n * than repeating one line three times. *\\\/\\n$zone = new WC_Shipping_Zone();\\n$zone->set_zone_name( 'United States' );\\n$zone->add_location( 'US', 'country' );\\n$zone->save();\\n$standard = $zone->add_shipping_method( 'flat_rate' );\\n$express  = $zone->add_shipping_method( 'flat_rate' );\\n$free     = $zone->add_shipping_method( 'free_shipping' );\\n\\nupdate_option( 'woocommerce_flat_rate_' . $standard . '_settings', array( 'title' => 'Standard Shipping', 'cost' => '4.95', 'tax_status' => 'none' ) );\\nupdate_option( 'woocommerce_flat_rate_' . $express . '_settings', array( 'title' => 'Express Shipping', 'cost' => '9.95', 'tax_status' => 'none' ) );\\nupdate_option( 'woocommerce_free_shipping_' . $free . '_settings', array( 'title' => 'Free Shipping', 'requires' => 'min_amount', 'min_amount' => '50' ) );\\n\\n\\\/* Per-method cutoffs and processing \\u2014 what the countdown and the promised date are built from. *\\\/\\nupdate_option( 'arwoo_method_settings_' . $standard, array( 'cutoff_time' => '15:00', 'processing_days' => 1, 'enabled' => 1 ) );\\nupdate_option( 'arwoo_method_settings_' . $express,  array( 'cutoff_time' => '16:30', 'processing_days' => 0, 'enabled' => 1 ) );\\nupdate_option( 'arwoo_method_settings_' . $free,     array( 'cutoff_time' => '15:00', 'processing_days' => 2, 'enabled' => 1 ) );\\n\\n\\\/* Delivery days and hours. *\\\/\\n$schedule = array();\\nfor ( $d = 1; $d <= 7; $d++ ) {\\n    $schedule[ (string) $d ] = ( $d <= 5 )\\n        ? array( 'enabled' => 1, 'windows' => array( array( 'start' => '08:00', 'end' => '18:00' ) ) )\\n        : array( 'enabled' => 0, 'windows' => array() );\\n}\\n$general = get_option( 'arwoo_general_settings', array() );\\n$general = is_array( $general ) ? $general : array();\\n$general['delivery_service_schedule'] = $schedule;\\n$general['default_working_days']      = array( 1, 2, 3, 4, 5 );\\nupdate_option( 'arwoo_general_settings', $general );\\n\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"arrival-for-woo\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3648909,"resolution":"1","location":"assets","locale":"","width":2880,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3648909,"resolution":"2","location":"assets","locale":"","width":2880,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3648909,"resolution":"3","location":"assets","locale":"","width":2880,"height":1800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3648909,"resolution":"4","location":"assets","locale":"","width":2880,"height":1800}},"screenshots":{"1":"The delivery board on a product page \u2014 date, cutoff countdown and methods for the shopper's postcode.","2":"Free-shipping progress in the cart \u2014 \"Add $7.20 more to unlock free delivery.\"","3":"Checkout with the arrival date confirmed next to the chosen method.","4":"The Arrival settings screen under WooCommerce \u2192 Arrival."}},"plugin_section":[],"plugin_tags":[3148,984,23288,3546,286],"plugin_category":[45,55],"plugin_contributors":[275880],"plugin_business_model":[],"class_list":["post-346104","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-conversion","plugin_tags-delivery-date","plugin_tags-shipping","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-embarkstudio","plugin_committers-embarkstudio","plugin_support_reps-embarkstudio"],"banners":{"banner":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/banner-772x250.png?rev=3648909","banner_2x":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/banner-1544x500.png?rev=3648909","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/icon-128x128.gif?rev=3651291","icon_2x":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/icon-256x256.gif?rev=3651291","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/screenshot-1.png?rev=3648909","caption":"The delivery board on a product page \u2014 date, cutoff countdown and methods for the shopper's postcode."},{"src":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/screenshot-2.png?rev=3648909","caption":"Free-shipping progress in the cart \u2014 \"Add $7.20 more to unlock free delivery.\""},{"src":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/screenshot-3.png?rev=3648909","caption":"Checkout with the arrival date confirmed next to the chosen method."},{"src":"https:\/\/ps.w.org\/arrival-for-woo\/assets\/screenshot-4.png?rev=3648909","caption":"The Arrival settings screen under WooCommerce \u2192 Arrival."}],"raw_content":"<!--section=description-->\n<p>Every shopper asks the same question: <strong>when will it get here?<\/strong><\/p>\n\n<p>Arrival reads your shipping zones, schedules and order cutoffs, then answers that question everywhere it matters \u2014 product page, cart, checkout \u2014 the way a board announces flights: a date, a time, a countdown. No guessing before the buy button. Fewer \"do you deliver to\u2026\" emails. Fewer abandoned carts.<\/p>\n\n<h4>What the board shows<\/h4>\n\n<ul>\n<li><strong>A real delivery date<\/strong> \u2014 \"Get it by Wed 22 Jul\", calculated from your zones, schedule and cutoffs, shown on product pages, cart and checkout.<\/li>\n<li><strong>An order-cutoff countdown<\/strong> \u2014 \"Order within 2 h 14 m\" states the deadline as a fact, so urgency never has to shout.<\/li>\n<li><strong>Postcode-aware answers<\/strong> \u2014 shoppers enter their postcode once and see the methods, prices and dates that actually apply to them.<\/li>\n<li><strong>Free-shipping progress<\/strong> \u2014 \"Add $7.20 more to unlock free delivery\" builds baskets with information, not persuasion.<\/li>\n<li><strong>Cache-compatible behaviour<\/strong> \u2014 dynamic postcode and date messaging designed for real WooCommerce environments with page caching.<\/li>\n<\/ul>\n\n<h4>Why store owners install it<\/h4>\n\n<p>Clarity converts. When the answer to \"when will it arrive?\" is on the page, shoppers don't leave to ask it by email \u2014 or leave for a store that answers it. Arrival exists to raise conversion, cut cart abandonment, and shrink your support inbox by moving fulfilment answers in front of the buy button.<\/p>\n\n<h4>Bricks Builder dynamic tags<\/h4>\n\n<ul>\n<li><code>{delivery_date}<\/code> \u2014 calculated delivery date<\/li>\n<li><code>{delivery_date:X}<\/code> \u2014 delivery date with additional days<\/li>\n<li><code>{delivery_location}<\/code> \u2014 postcode display or entry prompt<\/li>\n<li><code>{delivery_cutoff}<\/code> \u2014 order cutoff countdown<\/li>\n<li><code>{postcode_display}<\/code> \u2014 plain-text postcode display<\/li>\n<li><code>{order_delivery}<\/code> \u2014 the estimate saved against a placed order (also <code>{order_delivery:range}<\/code> and <code>{order_delivery:both}<\/code>)<\/li>\n<li><code>{delivery_hours}<\/code> \/ <code>{pickup_hours}<\/code> \u2014 opening hours for that channel<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[arwoo_calculator]<\/code> \u2014 the full delivery board<\/li>\n<li><code>[arwoo_delivery_date]<\/code> \u2014 delivery date for the current postcode<\/li>\n<li><code>[arwoo_delivery_cutoff]<\/code> \u2014 cutoff countdown<\/li>\n<li><code>[arwoo_postcode_display]<\/code> \u2014 cache-compatible postcode display<\/li>\n<li><code>[arwoo_delivery_location]<\/code> \u2014 cache-compatible delivery location info<\/li>\n<li><code>[arwoo_order_delivery]<\/code> \u2014 the estimate saved against a placed order, for thank-you pages, emails and account pages<\/li>\n<li><code>[arwoo_service_hours]<\/code> \u2014 your opening hours, stated once and kept accurate (<code>channel=\"pickup\"<\/code>, <code>format=\"list\"<\/code>)<\/li>\n<\/ul>\n\n<h4>Arrival Pro \u2014 know when to arrive<\/h4>\n\n<p>Delivery tells shoppers when it lands. <strong>Pickup tells them when to arrive<\/strong> \u2014 and that's what <a href=\"https:\/\/embark.studio\/products\/arrival-for-woo\/\">Arrival Pro<\/a> adds:<\/p>\n\n<ul>\n<li><strong>Pickup readiness<\/strong> \u2014 \"Ready from 16:40 \u00b7 Open until 17:30\", aware of your store's opening days and hours, so the trip is never a guess.<\/li>\n<li><strong>Unlimited pickup locations<\/strong> \u2014 multi-branch and multi-yard support.<\/li>\n<li><strong>Holidays<\/strong> \u2014 one-off closures the board respects automatically.<\/li>\n<li><strong>Recurring holidays<\/strong> \u2014 set Christmas once, forget it forever.<\/li>\n<li><strong>Custom styling<\/strong> \u2014 brand colours and CSS variables to match your storefront.<\/li>\n<li><strong>Google Places<\/strong> \u2014 address-assisted location entry.<\/li>\n<\/ul>\n\n<p>Arrival Pro is sold separately at <a href=\"https:\/\/embark.studio\/products\/arrival-for-woo\/\">embark.studio<\/a>. Everything described above the Pro section works in this free plugin, forever.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any external service. Delivery dates, order cutoffs, shipping\nmethods and free-shipping progress are all calculated locally from your WooCommerce shipping\nzones and settings. No data about your site or your shoppers is sent anywhere.<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<p>This plugin bundles the following GPL-compatible third-party assets:<\/p>\n\n<ul>\n<li>Phosphor Icons (regular weight) \u2014 MIT licensed, Copyright (c) 2020-2021 Phosphor Icons.\nUnmodified from the official distribution: https:\/\/github.com\/phosphor-icons\/web<\/li>\n<li>jQuery UI 1.13.2 theme stylesheet \u2014 MIT licensed, Copyright jQuery Foundation and other\ncontributors. Shipped as the official minified distribution\n(assets\/vendor\/jquery-ui\/jquery-ui.min.css); the unminified source and the ThemeRoller\nsettings used to build it are linked in the file's own header comment and available at\nhttps:\/\/jqueryui.com\/download\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/arrival-for-woo<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> screen in WordPress.<\/li>\n<li>Navigate to <code>WooCommerce &gt; Arrival<\/code> to configure your schedule, cutoffs and messaging.<\/li>\n<li>Set up your shipping settings in WooCommerce.<\/li>\n<li>Use shortcodes or Bricks Builder dynamic tags to place the board wherever your theme needs it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20all%20woocommerce%20shipping%20methods%3F\"><h3>Does this work with all WooCommerce shipping methods?<\/h3><\/dt>\n<dd><p>Yes. Arrival works with standard WooCommerce shipping methods including flat rate, free shipping, and compatible third-party method setups.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20caching%20plugins%3F\"><h3>Is it compatible with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses cache-aware dynamic behaviour for postcode and date messaging, so customer-facing information stays reliable on cached pages.<\/p><\/dd>\n<dt id=\"does%20it%20support%20local%20pickup%3F\"><h3>Does it support local pickup?<\/h3><\/dt>\n<dd><p>Pickup readiness \u2014 including store opening days and hours, unlimited locations, and holiday handling \u2014 is part of <a href=\"https:\/\/embark.studio\/products\/arrival-for-woo\/\">Arrival Pro<\/a>. The free plugin focuses on shipping clarity.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20wording%20%E2%80%94%20for%20example%20%22delivery%20%26%20collection%22%20for%20a%20uk%20store%3F\"><h3>Can I customise the wording \u2014 for example \"delivery &amp; collection\" for a UK store?<\/h3><\/dt>\n<dd><p>The free plugin covers standard labels; full custom terminology, branding and styling are part of Arrival Pro.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20bricks%20builder%3F\"><h3>Does it work with Bricks Builder?<\/h3><\/dt>\n<dd><p>Yes. Arrival includes Bricks Builder dynamic-tag support and shortcode-based flexibility for custom storefront builds.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2 - 2026-08-19<\/h4>\n\n<p><strong>New<\/strong><\/p>\n\n<ul>\n<li><strong>The delivery estimate now appears on the order summary<\/strong> \u2014 thank-you page, the customer's account order page, and order emails. It is saved with the order too, so packing slips, dispatch labels and exports can print it. Put it anywhere else with the new <code>[arwoo_order_delivery]<\/code> shortcode or Bricks tag.<\/li>\n<li><strong>A new After-order message<\/strong> under Arrival &gt; Delivery tells customers what happens next \u2014 \"we will call to confirm your slot\" \u2014 on the confirmation page, in their account and in the order email. Web and email addresses in it become links, so you can send people straight to your contact form.<\/li>\n<li><strong>Opening hours can now be shown anywhere<\/strong>, with the new <code>[arwoo_service_hours]<\/code> shortcode or Bricks tag. Consecutive days are grouped for you, so seven rows read as \"Monday to Friday 07:30\u201316:30, Saturday 08:00\u201315:00 and Sunday 09:30\u201313:00\". Write <code>{hours}<\/code> in your after-order message and they appear there too \u2014 and stay right when you change them.<\/li>\n<li>On an order being collected, the estimate is headed with your own word for collection \u2014 \"Ready for Pickup\", or \"Ready for Click &amp; Collect\" if that is what you call it \u2014 instead of \"Estimated delivery\".<\/li>\n<\/ul>\n\n<p><strong>Fixed<\/strong><\/p>\n\n<ul>\n<li>A cancelled, failed or refunded order no longer shows the after-order message telling the customer their order is on its way.<\/li>\n<li>General fixes and polish: a same-day estimate no longer reads as a span from a date to itself, the after-order message keeps the paragraphs you type and is set apart so it reads as guidance rather than stray text, and long messages sit correctly on themes with their own spacing rules.<\/li>\n<\/ul>\n\n<h4>1.0.1 - 2026-08-17<\/h4>\n\n<p><strong>Improved<\/strong><\/p>\n\n<ul>\n<li>Deleting the plugin now keeps your settings. If you do want everything removed, there is a new option under Arrival &gt; Debug \u2014 it is off by default, so deleting to reinstall, or moving between the free and Pro editions, no longer loses your setup.<\/li>\n<\/ul>\n\n<h4>1.0.0 - 2026-07-24<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Delivery dates, order-cutoff countdowns, and free-shipping progress on product, cart, and checkout.<\/li>\n<li>Postcode-aware shipping methods, prices, and arrival dates.<\/li>\n<li>Shortcodes and cache-compatible display for real WooCommerce environments (block themes, mini-cart sync, Tax Switch aware).<\/li>\n<li>Bricks Builder dynamic tags and Automatic.css token support.<\/li>\n<li>Arrival Pro (sold separately): pickup readiness with opening days and hours, unlimited pickup locations, one-off and recurring holidays, custom terminology and styling, Google Places.<\/li>\n<\/ul>","raw_excerpt":"The arrivals board for your Woo store \u2014 show shoppers exactly when orders arrive, with delivery dates, cutoff countdowns and free-shipping progress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346104"}],"author":[{"embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/embarkstudio"}],"wp:attachment":[{"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346104"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346104"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346104"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346104"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346104"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}