Summary
The Pick-Up Point Selector lets shoppers browse and choose a nearby pick-up location (PUDO: pick-up, drop-off) directly inside your checkout flow, as an alternative to home delivery. It lists the closest lockers, parcel shops and service points with address, opening hours and distance, shows them on a map, and holds the checkout until one is chosen.Who it’s for
Brands selling in markets where pick-up, parcel-shop or parcel-locker delivery is a significant share of e-commerce, such as Germany, France, Spain, the Benelux, the Nordics, Poland, Czechia and parts of Asia-Pacific. It also serves operations and customer service teams who want fewer failed first-attempt deliveries and the support contacts that follow them.Key benefits
- More delivery choice at checkout. Pick-up becomes a first-class option alongside home delivery, without the shopper leaving the checkout.
- Fewer failed deliveries. A share of “where is my order” queries on home delivery comes from failed first attempts (no one home, incorrect address, restricted building access). Pick-up chosen up front avoids them.
- One integration across carriers. Location data comes through the PUDO Locations API, which aggregates and normalises pick-up networks across supported carriers.
- The closest points first. Locations are sorted by distance to the shopper’s address, re-sort when the address changes, and can be refined by postal code.
- No order without a pick-up point. When pick-up is the chosen shipping method, checkout cannot complete until a location is selected.
How it works
The flow below is the default experience; the UI and flow are adapted to your preferences during onboarding.Viewing locations
When a shopper selects pick-up as the shipping method, the widget shows a list of nearby locations based on the postal code and address already provided in the checkout. The shopper does not enter anything twice. Each location shows its name, address, opening hours where available, and distance from the shopper’s address. Up to five locations are shown by default, with an Expand option to see all locations returned for that postal code; the number can be adjusted per customer. A loading indicator appears while results are fetched.Map view
Shoppers can toggle a map with a marker for each location, on desktop and mobile. Tapping a marker scrolls to and highlights the matching location card; tapping a card expands its details.Search and refinement
If the default results are not what the shopper wants, they can enter a different postal code and both the list and the map update.Selection and dynamic updates
The shopper selects a location by tapping its card. The selection is clearly indicated before payment, with the option to change it. If the shopper changes the shipping address mid-checkout, the list and the sorting refresh automatically for the new postal code.Blocking validation
Where pick-up is the chosen method, checkout cannot complete without a location selected. On Shopify the app blocks Continue to payment until a pick-up point is chosen and writes the chosen pick-up point ID onto the order. There is nothing to toggle.If locations cannot be loaded
The shopper sees a fallback message (“We couldn’t load pickup locations right now. Please try again, or enter a different postal code.”) and can retry, try a different postal code or switch to a different shipping method such as home delivery. The checkout does not dead-end.Delivery date and pick-up points
The estimated delivery date is calculated for home delivery on the shipping address. No delivery date is shown per pick-up location.Supported carriers
Location types are normalised across carriers into a standard set (Service Point, Post Office, Parcel Locker, Parcel Shop, Others), so the selector presents the same experience whichever carrier is behind a location. Pick-up is configured per country: you decide the markets and the carriers shown in each, and Perform.AI configures them. Confirm the latest coverage for your carrier mix with your account team.
Languages
The widget UI is translated, and labels are chosen automatically from the shipping destination country. Localised pick-up shipping option labels are available in French and Spanish, with further languages added during onboarding. On Shopify these strings are bundled inside the extension and are not editable in Shopify’s theme content or checkout language settings; provide the final copy for every language up front.Set up in the portal
Shopify
For Shopify stores, Perform.AI builds a Checkout UI Extension app and sends you a custom install link tied to your store. You need a Shopify Plus plan, checkout extensibility active, and a user with Apps and channels and Settings permissions.- Open the install link in your Shopify admin, review the requested access scopes and select Install app. If you see “This app isn’t approved for distribution”, tell Perform.AI; your store domain must be added to the app’s distribution list first.
- Go to Settings > Checkout, select Customize on the active checkout profile, open the Shipping step, select Add app block, choose the Perform.AI pick-up point block, place it and save. Installing the app does not make the block appear on its own.
- Approve the app in the checkout authorization prompt so it also appears in Shop Pay, which runs on a separate domain.
- The map is powered by a Google Maps JavaScript API key restricted by HTTP referrer. Add every storefront domain and
shop.appto the key’s referrer allowlist. A blank map almost always means the current domain is missing from that list. - Test both checkout paths (guest checkout in an incognito window, and Shop Pay) for every market: confirm the list and map load, the right carriers show, the copy is in the right language, a point can be selected, checkout cannot continue without one, the list refreshes when the address changes, and the pick-up point ID is present on a test order.
Use via API and MCP
- Guide: Retrieve PUDO locations searches pick-up points by postal code, coordinates or location ID across your configured carriers and returns a carrier-agnostic
pudo_location_uuid. - Guide: Create a Booking passes that
pudo_location_uuidin the booking request. Perform.AI resolves it to the carrier-specific ID, validates shipping service compatibility, location validity and carrier acceptance, and routes the parcel to the pick-up point while the shopper’s home address stays on the booking. The booked location, with its type, name, address and opening hours, is shown in the portal under Shipment Details and Booking Details. - API reference: Retrieve PUDO locations and Create booking.
- MCP:
list_carriersfilters the carrier catalogue by retrievable data points and booking type, including pick-up point support. Documented on MCP tools.