{"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-20T13:46:29","modified_gmt":"2026-08-20T13:46:29","slug":"arrival-for-woo","status":"publish","type":"plugin","link":"https:\/\/ido.wordpress.org\/plugins\/arrival-for-woo\/","author":18781233,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1","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-20 13:46:29","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":227,"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"},"1.0.3":{"tag":"1.0.3","author":"embarkstudio","date":"2026-08-20 13:46:29"}},"upgrade_notice":{"1.0.3":"<p>Fixes a settings screen that could leave the Save button out of sight, and lists the opening-hours shortcode under Documentation.<\/p>","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":3659292,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/?product=stoneware-table-lamp\",\"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\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"arrival-for-woo\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Alder & Ash\",\"blogdescription\":\"Considered homeware, made to last.\"}},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\\\/arwoo-demo-postcode.php\",\"data\":\"<?php\\n\\\/**\\n * Alder & Ash demo: pre-seed the visitor's postcode so the Arrival module opens\\n * straight to results instead of an empty field. Demo-only; lives in mu-plugins\\n * inside the Playground instance and ships nowhere else.\\n *\\\/\\nadd_action( 'wp_head', function () {\\n    ?>\\n    <script>\\n    try {\\n        if ( ! localStorage.getItem( 'arwoo_postcode' ) ) {\\n            var now = Date.now().toString();\\n            localStorage.setItem( 'arwoo_postcode', '94110' );\\n            localStorage.setItem( 'arwoo_postcode_timestamp', now );\\n            localStorage.setItem( 'arwoo_country', 'US' );\\n            localStorage.setItem( 'arwoo_country_timestamp', now );\\n        }\\n    } catch ( e ) {}\\n    <\\\/script>\\n    <?php\\n}, 1 );\\n\"},{\"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 store, 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\\\/* Alder & Ash \\u2014 San Francisco homeware store, USD. *\\\/\\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' );\\nupdate_option( 'woocommerce_enable_checkout_login_reminder', 'no' );\\n\\n\\\/* Let demo visitors complete a real order: guest checkout + Cash on Delivery\\n * (core gateway, no external service, works inside Playground). *\\\/\\nupdate_option( 'woocommerce_enable_guest_checkout', 'yes' );\\nupdate_option( 'woocommerce_cod_settings', array( 'enabled' => 'yes', 'title' => 'Pay on delivery', 'description' => 'Pay in cash when your order arrives.', 'enable_for_virtual' => 'yes' ) );\\n\\n\\\/* Catalogue: 8 believable products. Images sideloaded below (networking is on). *\\\/\\n$catalogue = array(\\n    array( 'Stoneware Table Lamp', 'stoneware-table-lamp', '89', 'Hand-glazed stoneware base with a natural linen shade. Warm, low and calm.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/stoneware-table-lamp.jpg' ),\\n    array( 'Oak Side Table', 'oak-side-table', '149', 'Solid European oak, turned by hand. A quiet place for a book and a cup.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/oak-side-table.jpg' ),\\n    array( 'Wool Area Rug 5x8', 'wool-area-rug', '219', 'Flat-woven New Zealand wool in undyed natural tones. Softens any room.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/wool-area-rug.jpg' ),\\n    array( 'Rattan Pendant Shade', 'rattan-pendant-shade', '68', 'Open-weave rattan that throws warm, dappled evening light.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/rattan-pendant-shade.jpg' ),\\n    array( 'Linen Throw', 'linen-throw', '45', 'Stonewashed Belgian linen. Gets softer every year you own it.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/linen-throw.jpg' ),\\n    array( 'Ceramic Vase Set of 2', 'ceramic-vase-set', '38', 'Two matte, hand-thrown vessels in complementary heights.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/ceramic-vase-set.jpg' ),\\n    array( 'Walnut Serving Board', 'walnut-serving-board', '32', 'End-grain walnut, food-safe oil finish. Kitchen workhorse, table centrepiece.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/walnut-serving-board.jpg' ),\\n    array( 'Cast-Iron Candle Holders', 'cast-iron-candle-holders', '26', 'A weighted pair in blackened cast iron. Steady, simple, sculptural.', 'https:\\\/\\\/ps.w.org\\\/arrival-for-woo\\\/assets\\\/demo\\\/cast-iron-candle-holders.jpg' ),\\n);\\n\\nrequire_once ABSPATH . 'wp-admin\\\/includes\\\/media.php';\\nrequire_once ABSPATH . 'wp-admin\\\/includes\\\/file.php';\\nrequire_once ABSPATH . 'wp-admin\\\/includes\\\/image.php';\\n\\n$cat = wp_insert_term( 'Homeware', 'product_cat' );\\n$cat_id = is_wp_error( $cat ) ? 0 : (int) $cat['term_id'];\\n\\nforeach ( $catalogue as $row ) {\\n    list( $name, $slug, $price, $blurb, $img ) = $row;\\n    $product = new WC_Product_Simple();\\n    $product->set_name( $name );\\n    $product->set_slug( $slug );\\n    $product->set_regular_price( $price );\\n    $product->set_short_description( $blurb );\\n    $product->set_status( 'publish' );\\n    if ( $cat_id ) { $product->set_category_ids( array( $cat_id ) ); }\\n    $pid = $product->save();\\n    $att = media_sideload_image( $img, $pid, $name, 'id' );\\n    if ( ! is_wp_error( $att ) ) { set_post_thumbnail( $pid, $att ); }\\n}\\n\\n\\\/* Shipping: one US zone, three methods designed to show three DIFFERENT dates\\n * and two different countdowns at any time of day. *\\\/\\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 Delivery', 'cost' => '6.95', 'tax_status' => 'none' ) );\\nupdate_option( 'woocommerce_flat_rate_' . $express . '_settings', array( 'title' => 'Express Delivery', 'cost' => '14.95', 'tax_status' => 'none' ) );\\nupdate_option( 'woocommerce_free_shipping_' . $free . '_settings', array( 'title' => 'Free Delivery', 'requires' => 'min_amount', 'min_amount' => '150' ) );\\n\\n$weekdays = array( 1, 2, 3, 4, 5 );\\nupdate_option( 'arwoo_method_settings_' . $standard, array( 'min_days' => 2, 'max_days' => 4, 'processing_days' => 1, 'cutoff_time' => '15:00', 'delivery_days' => $weekdays ) );\\nupdate_option( 'arwoo_method_settings_' . $express,  array( 'min_days' => 1, 'max_days' => 1, 'processing_days' => 0, 'cutoff_time' => '17:30', 'delivery_days' => $weekdays ) );\\nupdate_option( 'arwoo_method_settings_' . $free,     array( 'min_days' => 3, 'max_days' => 5, 'processing_days' => 2, 'cutoff_time' => '15:00', 'delivery_days' => $weekdays ) );\\n\\n\\\/* Service days & hours: weekdays 08:00-18:00. Weekend gaps make the dates jump,\\n * which is the visible proof the plugin is computing rather than decorating. *\\\/\\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']      = $weekdays;\\nupdate_option( 'arwoo_general_settings', $general );\\n\\nflush_rewrite_rules();\\n\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"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.3 - 2026-08-20<\/h4>\n\n<p><strong>Fixed<\/strong><\/p>\n\n<ul>\n<li>The settings screen no longer cuts content off. The panel had been scrolling inside the page instead of with it, which left blank space below the shorter screens and put anything past the fold \u2014 the Save button included \u2014 behind a second scrollbar that was easy to miss.<\/li>\n<\/ul>\n\n<p><strong>Improved<\/strong><\/p>\n\n<ul>\n<li>The <code>[arwoo_service_hours]<\/code> shortcode is now listed under Documentation. It has worked since 1.0.2, but there was no way to find it without being told it existed.<\/li>\n<li>Shorter, plainer help text under the settings fields.<\/li>\n<\/ul>\n\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:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346104"}],"author":[{"embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/embarkstudio"}],"wp:attachment":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346104"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346104"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346104"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346104"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346104"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}