Appearance
FAQ
For merchants
Do I need a courier account or delivery API?
No. All pricing is done by the plugin from your rules and surcharges. The only outside service is the map backend (Google Maps or OpenStreetMap) that finds the address and measures the drive.
Google Maps or OpenStreetMap?
OpenStreetMap needs no account and is the default, but its public servers forbid heavy or commercial use — for production run your own Nominatim and OSRM. Google needs an API key with billing and charges per request. See Distance & map providers.
Is it straight-line distance?
No, driving distance by road, from the map provider's routing.
Does every cart update call the map service?
No. Distances are cached for 30 days per address (configurable), and addresses that can't be found for 1 hour. Changing the cart's contents doesn't need a new lookup; changing the address does.
Why is a real address rejected?
The map provider only matched it to an area — a postcode, city or country — not a street. The plugin then refuses to guess. The customer should check the street name and house number.
Can I charge by weight or size only, without distance?
Yes. A rule's conditions are optional; use only weight, longest edge, item count or order value. The address is still looked up, so a map backend and fulfilment location are needed anyway.
Can I offer free delivery above an order value?
Yes: a higher-priority rule with the condition Order value from 100 and a price of 0.
Can I limit the delivery area?
Yes: make your highest distance band end where you stop delivering and add no rule beyond it. Customers further away see Instant Delivery is not available for your address… and choose another method. A Rule Builder scope (e.g. by postcode or country) also works.
Can different storefronts have different prices?
Yes — price rows per sales channel on each rule, a separate fulfilment location and map settings per storefront, and surcharges limited to sales channels.
Do surcharges replace the price?
No, they add to it, and several can apply at once. Rules decide the base price (only one rule wins); surcharges stack on top. See Surcharges.
Which time do peak-hour surcharges use?
The time the cart is calculated, in the Fulfilment timezone you configure (UTC if empty). There are no delivery slots.
What happens if Instant Delivery can't be priced?
The customer sees a clear message and can't place the order with Instant Delivery until the address is fixed or another method is chosen. The plugin never charges zero or a guess.
When is the delivery code sent?
When the order's delivery status is set to In transit — not when the order is placed — so it is fresh when the rider leaves. It is valid for 60 minutes by default.
Can staff see the code?
No. Only a hash is stored. The code is in the customer's email only. If it's lost, Resend code sends a new one.
Can the customer get the code by SMS?
Yes, by adding an SMS action to the code generated flow, e.g. with the SMS plugin, using {{ otp }} in the message.
Does the rider need an Administration login?
Yes. Verification happens on the order's Delivery verification card (or through the Admin API). Give riders a role with the permission Last-Mile Delivery for Shopware 6 → Manage plus Shopware's Orders → Viewer, so they can open the order page.
Can I confirm deliveries with a photo instead of a code?
Yes: set Automatic shipped verification requirement to Proof of delivery image only. Photos must be uploaded after the order was placed. Note that the delivery confirmed email is only sent for a verified code.
Does the plugin set orders to "Delivered"?
It uses Shopware's own Shipped status for a completed delivery, so other integrations keep working. The verification record holds the confirmed hand-over and its time.
Does it work for orders with other shipping methods?
Pricing applies only to Instant Delivery. The In transit status and delivery codes work for any order.
What happens to my data if I uninstall?
With keep user data nothing is lost. Without it, rules, surcharges, breakdowns and verification records are deleted; orders stay. See Uninstalling.