VibeFox Sameday Easybox for WooCommerce — Help
Requirements
WordPress: 5.8 or later.
WooCommerce: 7.0 or later, installed and active. The plugin refuses to activate without it.
PHP: 8.0 or later.
Sameday API username and password: API access is part of a Sameday business account in Romania, Hungary or Bulgaria. Ask your Sameday account manager or the Sameday integration team. The credentials are often the same as for the eAWB portal (eawb.sameday.ro, .hu or .bg). For the demo API Sameday gives separate test credentials. Without an API username and password the method is not offered, because the customer could not choose a locker.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In WordPress go to Plugins > Add New > Upload Plugin, choose the plugin ZIP file and click Install Now. You can also upload the vfd_sameday_easybox folder to /wp-content/plugins/ by FTP.
2. Click Activate.
3. Open the settings: WooCommerce > Settings > Shipping > VibeFox Sameday Easybox, or click Settings under the plugin name on the Plugins page.
4. Enter your VibeFox license key in the license block at the top of the page and click Activate.
5. Enter your Sameday API username and API password, choose the Sameday country and save. The page should show "Connected to Sameday ... easybox lockers". Pickup point and Easybox service are filled in from your account.
6. Set your prices: Exchange rate of the estimate if your store currency differs from the Sameday currency, and a Country prices row (for example * Default) or a Fallback cost.
7. Add VibeFox Sameday Easybox to the shipping zone of your Sameday country in WooCommerce > Settings > Shipping > Shipping zones, or turn on Ignore shipping zones.
Configuration
All settings are on one page: WooCommerce > Settings > Shipping > VibeFox Sameday Easybox. They apply to every shipping zone. When you add the method to a zone, the zone window has only one field:
Title (zone): the name customers see in this zone. Leave it empty to use the global Name.
Above the settings the page shows the connection status: the Sameday host, the number of easybox lockers and when the list was updated, or that Sameday rejected the username or password. It also lists configuration problems, for example no credentials, no price, or no exchange rate for the estimate.
All prices and limits accept a comma or a point as the decimal separator (4,99 or 4.99). An invalid number is refused with a message.
General
Enable/Disable: turns the method on or off in all zones at once.
Name: the shipping method name shown to the customer. A zone can override it with its own Title. Default: Sameday easybox.
Tax status: Taxable adds WooCommerce tax to the shipping cost, None does not.
Sameday account (API)
When you save, the plugin logs in to Sameday and loads your services, pickup points and the easybox locker list. The list is refreshed daily.
API username: your Sameday API username.
API password: your Sameday API password. If Sameday rejects it, it is not tried again for 10 minutes.
Sameday country: the country of your Sameday account: Romania (api.sameday.ro) (default), Hungary (api.sameday.hu) or Bulgaria (api.sameday.bg). Its lockers are offered, and the method is shown for this destination country only.
Test mode: uses the Sameday demo API with demo credentials.
Prices
The order of use is: the Sameday estimate (when Pickup point and Easybox service are set), then the country prices table, then the fallback cost. Table prices are entered in the store currency.
Pickup point: your Sameday pickup point, where Sameday collects the parcels. After a successful login it is a list of the pickup points of your account, and the default one is chosen automatically. Needed for the Sameday estimate. Choose - not set (price table only) - to use only the price table.
Easybox service: the Sameday service for easybox delivery, usually "Locker NextDay" (code LN), which is chosen automatically. Needed for the Sameday estimate.
Exchange rate of the estimate: Sameday estimates in the currency of your Sameday country: RON, HUF or BGN (EUR for Bulgarian shops that sell in euro). If your store sells in another currency, enter the value of 1 unit of the Sameday currency in your store currency, for example 0.20. Without it the estimate is not used and the price table applies. Lev and euro are converted at the fixed rate automatically.
Table price: Per order charges the price once. Per item (price x quantity) multiplies it by the number of shippable items. This applies to the table price and the fallback cost. The Sameday estimate is always for the whole parcel.
Country prices: a price per destination country and parcel weight. Click + Add country to add a row and the cross to remove one. Each row has a Price and weight columns: XS up to 1 kg, S 1–2 kg, M 2–3 kg, L 3–5 kg and XL over 5 kg. A weight column left at 0 uses the Price column. The * Default row is used for countries without their own row. A new row starts as * Default with all prices at 0, which means free shipping. Choose the country and enter the prices before you save, or remove the row. If the same country is in two rows, only the first one is kept when you save. If a cell is not a valid number, the table is not saved.
Fallback cost: used when there is no Sameday estimate and the country table has no row for the destination. Leave it empty to not offer the method then.
Free shipping from: the cart subtotal (after discounts, without tax) from which easybox delivery is free. It applies only where a price is found: a country row, the * Default row or the fallback cost (then no estimate is requested), or the Sameday estimate. Leave empty to never offer free shipping.
Availability
Minimum weight (kg): hide the method when the cart weighs less. The weight is converted from your store weight unit. Empty or 0 means no limit.
Maximum weight (kg): parcels heavier than this are not offered easybox delivery. Default: 30. Check the limit of your Sameday contract and the easybox box sizes. Empty or 0 means no limit.
Minimum cart subtotal: offer the method only when the cart subtotal (after discounts, without tax) reaches this amount.
Excluded shipping classes: hide the method when the cart contains a product from any of these WooCommerce shipping classes.
Ignore shipping zones: when on, the method is offered for the countries selected below, even if it is not added to the matching shipping zone. When off, it is offered only in the zones it is added to.
Countries (ignore zones mode): the destination countries for that mode. Leave empty to use the Sameday country. Countries other than the Sameday country are skipped. This field is used only when Ignore shipping zones is on.
Advanced
Debug log: writes rate calculations, API calls and locker choices to WooCommerce > Status > Logs (source "vfd-sameday-easybox"). API errors are always logged. No password, token or customer personal data is logged. Turn the log off when you are done.
Remove data on uninstall: when on, deleting the plugin removes the settings and the zone instances of this method. Deactivating the plugin never deletes anything. The locker saved in orders is always kept.
How it works at checkout
When the customer enters a delivery address, WooCommerce asks the plugin for a rate. The plugin checks the conditions: delivery country of your Sameday account, API credentials and a usable locker list, cart weight, minimum cart subtotal and excluded shipping classes. Then it looks for a price: the Sameday estimate, the country table, the fallback cost. If there is no price, the method is hidden. If free shipping applies, the customer sees the method at no cost.
Otherwise the plugin asks Sameday for an estimate, once the customer has entered a city and a county. It sends your pickup point and service, the parcel weight and the customer's street address, city, county and postcode. No name, e-mail or phone number is sent. Bucharest is sent as "Sector 1", like the official Sameday plugin. The estimate is converted to your store currency. If there is no estimate (not set up, no city or county yet, error, no exchange rate), the price comes from the country table, then from the fallback cost. If there is no price, the method is hidden.
Sameday problems never break the checkout. The estimate is cached for 1 hour. An error is cached for 10 minutes. After a timeout or a server error no estimate is asked for 5 minutes. Requests time out after 15 seconds. The locker list is read from your server, not from Sameday, during checkout.
The method works on the classic checkout and on the Cart and Checkout blocks. It is compatible with WooCommerce High-Performance Order Storage (HPOS).
The plugin does not create AWBs (shipments), print labels, track parcels or handle cash on delivery. It has no home courier delivery and no Sameday map widget. Create the AWB in the Sameday eAWB portal or your usual tool with the locker ID shown on the order.
Pickup points
When the customer selects the method, an easybox locker block appears below it with two lists: - Select city - and - Select easybox locker -. The customer's own city is pre-selected when it has lockers. Each locker shows its name and address. The choice is remembered when the checkout refreshes or the page reloads.
The locker is required. Without one, checkout stops with "Please choose a Sameday easybox locker." The server checks that the chosen locker is in the list, in the classic and in the block checkout. A forged or removed locker ID is refused with "The selected easybox locker is not available any more. Please choose another easybox locker." The name and address saved with the order come from the list, not from the browser.
Admin order screen: Sameday easybox locker with the name and address and the Locker ID for the Sameday AWB, below the shipping address. If an easybox order has no locker, the screen says "No easybox locker was selected for this order."
Thank-you page and order view: Sameday easybox locker: with the name and address.
Order e-mails: the locker name and address in HTML and plain-text e-mails. Admin e-mails also include the Locker ID.
In the database the locker is stored in the order meta _vfd_sdeb_locker_id (the Sameday locker ID for the AWB) and _vfd_sdeb_locker_name (name and address).
License key
The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Shipping > VibeFox Sameday Easybox. Paste the key into License key and click Activate. The block shows the status, for example the date the license is active until and your domain. Use Check now to check the status again, Change key to enter another key and Remove key to remove it from this site. The link Manage licenses and domains in your account opens your vibefox.net account.
One key works on one domain. Removing the key from a site does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, Sameday easybox is not shown to customers at checkout. Logged-in store managers still see it, marked (unlicensed — visible to admins only), so you can set up and test the plugin before you buy a key. A reminder appears on the Plugins page and on WooCommerce pages. Existing orders are not affected.
When a license expires, the plugin keeps working, but updates and support need a renewal. The status is checked again automatically in the background.
Troubleshooting
Sameday easybox does not appear at checkout: check that the license is active, Enable/Disable is on, the API username and password are entered and the settings page says "Connected to Sameday", and the destination country is the country of your Sameday account. Check that a price is available (Sameday estimate, country row, * Default row or Fallback cost), the weight and subtotal limits, Excluded shipping classes, and that the method is added to the matching zone (or Ignore shipping zones is on). Turn on Debug log to see the reason in WooCommerce > Status > Logs.
Sameday rejected the API username or password: check them and save again. Demo credentials work only with Test mode on, production credentials only with it off. Until then the stored locker list is offered, if there is one, and the Sameday estimate is not used.
The price comes from my table, not from Sameday: the estimate needs a Pickup point, the Easybox service and, when your store currency differs from the Sameday currency, the Exchange rate of the estimate. It is asked only after the customer has entered a city and a county. When Sameday is unreachable or returns an error, the table or fallback cost is used; the reason is in the log.
The locker list is old or missing: save the settings. The list is loaded again when it is empty, older than an hour or the last load failed. If a refresh fails, the previous list is used and the status says so.
Shipping is free by mistake: check Country prices for rows with a Price of 0, especially a * Default row added with + Add country and left unfilled.
Cross-border lockers: developers can add destination countries with the vfd_sdeb_countries filter. The locker list is always the one of your account.
The license block shows an error: follow the message in the block. For example, if the key is already used on another domain, free a slot in your vibefox.net account and click Check now. If the site address changed, click Check now to activate the key for the new domain. If the license server cannot be reached, the plugin keeps working on the last known status.
Uninstall
Deactivating the plugin keeps all data and only stops the daily locker list refresh. To remove it, deactivate and delete it on the Plugins page. The license key and license status of this plugin are always removed, together with the stored locker list, the account check result and all caches. Settings and zone methods are removed only if Remove data on uninstall was on. Otherwise they stay for a later re-install. Existing orders keep their shipping lines and the saved locker.
Sameday and easybox are trademarks of their respective owners. This plugin is not affiliated with or endorsed by Sameday.
