What you need before connecting Omniva
To register shipments you need a business customer contract with Omniva. With the contract you receive credentials that the store uses to register parcels in Omniva's system. Showing the list of lockers does not require a contract, but labels cannot be created without one.
- A business customer contract and credentials
- Sender address and contact person
- Product weights and dimensions in the store, so bulky goods are not offered for locker delivery
- A decision on whether you drop parcels at a locker yourself or book a courier pickup
Shipping prices depend on the contract and parcel size. The current price list is on Omniva's website.
How ordering works for the buyer
- The buyer selects Omniva parcel locker as the delivery method
- They search for a locker by city or address in a dropdown or on a map
- After payment the store registers the shipment and receives a tracking number
- You print the label and hand the parcel over
- When the parcel is in the locker, the buyer gets an SMS or email with the door code
The phone number must be a required field at checkout: without it the door code never reaches the buyer and the parcel comes back.
WooCommerce, Shopify and custom stores
On WooCommerce we install the Omniva plugin, which adds the locker picker to checkout and a label button to the order screen. Shopify's standard checkout limits how delivery methods can be customised, so how comfortable locker selection is depends on the app used and the Shopify plan.
In a custom Next.js store we load the locker list from Omniva's public data file, cache it and refresh it regularly. The shipment is registered through the Omniva API right after the payment is confirmed.
Testing and typical problems
Before launch we place a test order with every delivery method, print the label and check that the chosen locker shows up in the order, in the confirmation email and on the label.
- The locker list does not refresh because the update depends on site visits rather than a scheduled server job
- The chosen locker is not saved with the order and no label can be created
- Estonian, Latvian and Lithuanian lockers are mixed in one list because the country filter is not configured
- Label creation fails on a missing phone number or product weight