Arrival for Woo

Opis

Every shopper asks the same question: when will it get here?

Arrival reads your shipping zones, schedules and order cutoffs, then answers that question everywhere it matters — product page, cart, checkout — the way a board announces flights: a date, a time, a countdown. No guessing before the buy button. Fewer „do you deliver to…” emails. Fewer abandoned carts.

What the board shows

  • A real delivery date — „Get it by Wed 22 Jul”, calculated from your zones, schedule and cutoffs, shown on product pages, cart and checkout.
  • An order-cutoff countdown — „Order within 2 h 14 m” states the deadline as a fact, so urgency never has to shout.
  • Postcode-aware answers — shoppers enter their postcode once and see the methods, prices and dates that actually apply to them.
  • Free-shipping progress — „Add $7.20 more to unlock free delivery” builds baskets with information, not persuasion.
  • Cache-compatible behaviour — dynamic postcode and date messaging designed for real WooCommerce environments with page caching.

Why store owners install it

Clarity converts. When the answer to „when will it arrive?” is on the page, shoppers don’t leave to ask it by email — 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.

Bricks Builder dynamic tags

  • {delivery_date} — calculated delivery date
  • {delivery_date:X} — delivery date with additional days
  • {delivery_location} — postcode display or entry prompt
  • {delivery_cutoff} — order cutoff countdown
  • {postcode_display} — plain-text postcode display
  • {order_delivery} — the estimate saved against a placed order (also {order_delivery:range} and {order_delivery:both})
  • {delivery_hours} / {pickup_hours} — opening hours for that channel

Shortcodes

  • [arwoo_calculator] — the full delivery board
  • [arwoo_delivery_date] — delivery date for the current postcode
  • [arwoo_delivery_cutoff] — cutoff countdown
  • [arwoo_postcode_display] — cache-compatible postcode display
  • [arwoo_delivery_location] — cache-compatible delivery location info
  • [arwoo_order_delivery] — the estimate saved against a placed order, for thank-you pages, emails and account pages
  • [arwoo_service_hours] — your opening hours, stated once and kept accurate (channel="pickup", format="list")

Arrival Pro — know when to arrive

Delivery tells shoppers when it lands. Pickup tells them when to arrive — and that’s what Arrival Pro adds:

  • Pickup readiness — „Ready from 16:40 · Open until 17:30”, aware of your store’s opening days and hours, so the trip is never a guess.
  • Unlimited pickup locations — multi-branch and multi-yard support.
  • Holidays — one-off closures the board respects automatically.
  • Recurring holidays — set Christmas once, forget it forever.
  • Custom styling — brand colours and CSS variables to match your storefront.
  • Google Places — address-assisted location entry.

Arrival Pro is sold separately at embark.studio. Everything described above the Pro section works in this free plugin, forever.

External services

This plugin does not connect to any external service. Delivery dates, order cutoffs, shipping
methods and free-shipping progress are all calculated locally from your WooCommerce shipping
zones and settings. No data about your site or your shoppers is sent anywhere.

Third-party libraries

This plugin bundles the following GPL-compatible third-party assets:

  • Phosphor Icons (regular weight) — MIT licensed, Copyright (c) 2020-2021 Phosphor Icons.
    Unmodified from the official distribution: https://github.com/phosphor-icons/web
  • jQuery UI 1.13.2 theme stylesheet — MIT licensed, Copyright jQuery Foundation and other
    contributors. Shipped as the official minified distribution
    (assets/vendor/jquery-ui/jquery-ui.min.css); the unminified source and the ThemeRoller
    settings used to build it are linked in the file’s own header comment and available at
    https://jqueryui.com/download/

Zrzuty ekranu

Instalacja

  1. Upload the plugin files to the /wp-content/plugins/arrival-for-woo directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Navigate to WooCommerce > Arrival to configure your schedule, cutoffs and messaging.
  4. Set up your shipping settings in WooCommerce.
  5. Use shortcodes or Bricks Builder dynamic tags to place the board wherever your theme needs it.

Najczęściej zadawane pytania

Does this work with all WooCommerce shipping methods?

Yes. Arrival works with standard WooCommerce shipping methods including flat rate, free shipping, and compatible third-party method setups.

Is it compatible with caching plugins?

Yes. The plugin uses cache-aware dynamic behaviour for postcode and date messaging, so customer-facing information stays reliable on cached pages.

Does it support local pickup?

Pickup readiness — including store opening days and hours, unlimited locations, and holiday handling — is part of Arrival Pro. The free plugin focuses on shipping clarity.

Can I customise the wording — for example „delivery & collection” for a UK store?

The free plugin covers standard labels; full custom terminology, branding and styling are part of Arrival Pro.

Does it work with Bricks Builder?

Yes. Arrival includes Bricks Builder dynamic-tag support and shortcode-based flexibility for custom storefront builds.

Recenzje

Wtyczka nie ma jeszcze żadnej recenzji.

Kontrybutorzy i deweloperzy

„Arrival for Woo” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.

Zaangażowani

Rejestr zmian

1.3.0 – 2026-09-22

New

  • Put the product-page module where you want it. Alongside before and after Add to Basket, there is now „Only where I place it” — nothing is placed automatically, and you drop it in yourself with the shortcode or the Bricks element. Placing it by hand previously meant switching the module off under Integrations and then adding the shortcode: two settings that did not look related, and if you missed the first one the module appeared twice.
  • The fulfilment module is now a Bricks element, not only a shortcode. It sits in the Arrival group in the element picker with Display and Layout controls, and its heading and description can each be hidden or reworded on their own — useful where the section around it already names it, but you still want the line explaining what the field does.
  • See the module as your shoppers will, from the builder. „Preview as” shows it with no postcode entered, or worked out for a postcode you type, without touching the one your own browser is set to. Real rates and real dates; nothing is invented. It changes the canvas only.
  • Near dates are said in words. A delivery landing today or tomorrow reads „Today” or „Tomorrow” rather than a date you have to check against your own calendar. Only those two days, and never in email or on a placed order, where a message read the next day would say „Today” about yesterday. Switch it off under Customise Date & time formatting.

Improved

  • A postcode you cannot deliver to now says so, instead of the delivery option disappearing. Shown alongside collection, dimmed, it says delivery is not available to that postcode yet, with a prompt to try another. Removing the option made a delivery-area limit look as though the shop does not deliver at all, and took the way out with it. Stores that genuinely do not deliver are unaffected.
  • Checking a postcode now shows the delivery forecast strip’s loading placeholder while it works, the same one it shows on page load. Nothing happened on screen for the second the check takes, and the strip could ask for a postcode from somebody who had just entered one.
  • The „enter your postcode” invitation on the forecast strip now looks like something you can press, with a location pin and an underlined label. A dashed box of grey text reads as a placeholder or a disabled field, so there was no reason to think clicking it would do anything.

Fixed

  • The method a shopper picks at checkout is the method they get. The remembered choice from the product page was applied again when the cart or checkout page loaded, and on a slow connection that could land a moment after the shopper had already switched to something else — quietly putting the remembered method back on the order while the checkout carried on showing the one they picked. An order placed in that moment went through as collection when the shopper had chosen delivery, or the other way round.
  • Delivery day numbers now mean the same thing all day. A method set to „3 days” delivered on the third day in the afternoon and the fourth in the morning, because the day the cutoff moved you to was being counted twice. „3 days” is now the third day either way. If you had adjusted a method’s day count to work around this, check it after updating — its dates will now land a day earlier.
  • The fulfilment card no longer breaks for shoppers who can collect but cannot get delivery. Their card squeezed the availability text to nothing, which then wrapped one character per line into a tall column of empty card. The postcodes affected are the ones furthest from the shop.
  • Clearing your postcode now clears the delivery forecast strip too. Every other block updated and the strip kept showing the dates worked out for the postcode you had just removed, until the page was reloaded.
  • The postcode drawer slides in wherever it is opened from, and pressing Enter submits it. It never actually animated — the panel had nowhere to travel from — and the field is not inside a form, so the browser’s usual „Enter means go” never applied.
  • A postcode button placed outside the delivery module now opens the address drawer. It only ever worked for buttons sitting inside the module itself.
  • The loading placeholder’s sheen sweeps smoothly and in the right place. It had been travelling a longer path than it was drawn for, and doing it the expensive way.
  • Spacing in and around the fulfilment module is even. A gap above the module was left behind when the postcode form is hidden, and the space above the delivery date doubled up where there is no free-delivery progress to show.

1.2.0 – 2026-09-01

New

  • A service summary for each way of getting an order— a short explanation of how delivery, or collection, actually works. Show it above the cards, below them, or behind a „How delivery works” link. Each is written on that method’s own settings screen, next to the message customers see after ordering.
  • The estimate on a placed order can now be written as a span— „Get it between Mon 24 Aug and Thu 27 Aug” — or as a single date for stores with a fixed lead time. Both are yours to edit, in their own Order page estimate section.
  • Show the price on a fulfilment card only when there is a charge (the new default), always, or never— set for each method.
  • The „what happens next” message can now be placed anywhere on a page you have designed yourself, as a block or a shortcode, so it can sit beside the order details rather than always above them.
  • Two more ways to present a method description: collapsed behind the method row, or as a text link below the cards.
  • A setting for the earliest-delivery line beneath the date, and the order number and customer email address are now available for your own wording.

Improved

  • Pages carrying the fulfilment widget can now be held by a page cache. Checking a delivery date no longer starts a WooCommerce session or touches the shopper’s basket, which is what made those pages uncacheable and slow.
  • The fulfilment card has been tightened throughout: blocks meet on a line, the date leads the method it belongs to, and the countdown is a plain row rather than a coloured panel competing with everything around it.
  • The loading placeholder now matches the card that replaces it, row for row, so the page no longer shifts as the card arrives.
  • Opening hours are now a „View hours” link on the method row itself, beside the service it describes. Where two cards sit side by side they stay the same height, whichever is selected.
  • Settings screens open and scroll noticeably faster on stores with several methods, collection points or stages.
  • Wording in Customise now uses named tokens— {day}, {time_window}, {earliest}, {latest} — so a percent sign in your own copy is simply a percent sign.

Fixed

  • „Order within” is legible on dark cards again, and sits evenly in its row.
  • Turning off the collection method description now works— it used to follow the delivery setting and report nothing — and the secondary date line setting now governs both delivery and collection.
  • On a translated store the delivery countdown no longer reverts to English a second after the page loads.
  • The free-delivery progress bar in the basket keeps up with the basket. Lowering a quantity back below the threshold left it saying free delivery had been applied while the totals charged for it, until the page was reloaded.
  • Smaller fixes to spacing inside the cards, and to addresses that printed the same line twice when a detail had been entered in two fields.

1.1.1 – 2026-08-24

Fixed

  • 1.1.0 could show warning messages on your shop, basket and checkout pages. If your store also sells to more than one country, the postcode field used your store’s default wording for every shopper instead of theirs — „postcode” for an Irish customer who should have seen „Eircode”, or an American who should have seen „ZIP Code”. No order was ever affected. Stores selling to one country saw only the warnings.

1.1.0 – 2026-08-23

New

  • Opening hours can now be set per delivery method. A next-day service and a weekly run no longer have to share one cut-off, so each one tells customers the truth about when it dispatches.
  • Where the order is going and who paid for it, and the service the order is on, are now available for your order confirmation page — as elements for Bricks, and as shortcodes for anywhere else.
  • New values you can drop into your own wording: the customer’s name, the delivery or billing address, and the fulfilment method.
  • The opening-hours output is now placeable in Bricks as well as by shortcode, with an option to open it in a pop-up rather than sitting on the page.

Improved

  • The „order within” countdown now changes as the cut-off gets closer, so a customer with ten minutes left sees something different from one with six hours.

Fixed

  • Cart and checkout could take many seconds to load on stores that ship to a single country. The plugin was re-checking your shipping zone setup hundreds of times on every page load instead of once; it now works it out once and remembers the answer until you change your zones. Stores that ship to several countries were never affected.
  • A number of smaller corrections to the opening-hours output.

1.0.3 – 2026-08-20

Fixed

  • 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 — the Save button included — behind a second scrollbar that was easy to miss.

Improved

  • The [arwoo_service_hours] 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.
  • Shorter, plainer help text under the settings fields.

1.0.2 – 2026-08-19

New

  • The delivery estimate now appears on the order summary — 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 [arwoo_order_delivery] shortcode or Bricks tag.
  • A new After-order message under Arrival > Delivery tells customers what happens next — „we will call to confirm your slot” — 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.
  • Opening hours can now be shown anywhere, with the new [arwoo_service_hours] shortcode or Bricks tag. Consecutive days are grouped for you, so seven rows read as „Monday to Friday 07:30–16:30, Saturday 08:00–15:00 and Sunday 09:30–13:00”. Write {hours} in your after-order message and they appear there too — and stay right when you change them.
  • On an order being collected, the estimate is headed with your own word for collection— „Ready for Pickup”, or „Ready for Click & Collect” if that is what you call it — instead of „Estimated delivery”.

Fixed

  • A cancelled, failed or refunded order no longer shows the after-order message telling the customer their order is on its way.
  • 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.

1.0.1 – 2026-08-17

Improved

  • Deleting the plugin now keeps your settings. If you do want everything removed, there is a new option under Arrival > Debug — it is off by default, so deleting to reinstall, or moving between the free and Pro editions, no longer loses your setup.

1.0.0 – 2026-08-15

  • Initial public release.
  • Delivery dates, order-cutoff countdowns, and free-shipping progress on product, cart, and checkout.
  • Postcode-aware shipping methods, prices, and arrival dates.
  • Shortcodes and cache-compatible display for real WooCommerce environments (block themes, mini-cart sync, Tax Switch aware).
  • Bricks Builder dynamic tags and Automatic.css token support.
  • 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.