Qapla' Pickup Points
Pickup Points for WooCommerce – Offer Your Customers the Flexibility They Want
Transform your checkout by adding a new shipping method: pickup points. With Qapla’ Pudo, your customers choose when and where to collect their orders, without waiting at home for a courier.
A complete solution that grows with your business
This plugin integrates seamlessly into WooCommerce (via Qapla’ or GLS) and puts you on par with major market players. Your customers get a reliable and convenient delivery option, while you reduce logistics costs and inventory buildup.
What you can do:
- Enable pickup points at checkout with simple configuration
- Customize shipping costs for this method (or make it free above a threshold)
- Choose between interactive maps (Google Maps or OpenStreetMap) or list view: desktop and mobile adapt automatically
- Access thousands of pickup points across Europe – Qapla’ integrates 20+ couriers (UPS, DHL, GLS, FedEx, TNT, InPost, and many others)
Compatible with:
- Qapla’ Platform – access a network of European couriers with extensive coverage
- GLS Platform – use exclusively the GLS pickup network
The plugin is free to use. You’ll need an active contract with Qapla’ or GLS to use it.
Third Party Services
This plugin connects to the following external services:
Qapla’ API
- Service URL: https://api.qapla.it
- Purpose: Retrieve pickup points (PUDO) near a shipping address, and retrieve the list of available couriers (admin settings page only).
- Terms of Service: https://www.qapla.it/terms-and-conditions/
- Privacy Policy: https://www.qapla.io/privacy-policy
- Data transmitted: Shipping address (postcode, city, country, street) is sent on checkout to find nearby pickup points. The private API key is sent with each request for authentication. For the couriers list, only the private API key is transmitted (no user data).
GLS Italy API
- Service URL: https://api.sellsend2.gls-italy.com
- Purpose: Alternative API for GLS pickup points (when GLS platform is selected)
- Terms of Service: https://www.gls-italy.com/it/chi-siamo/legal/condizioni-di-trasporto/
- Privacy Policy: https://gls-group.eu/IT/it/privacy-policy
- Data transmitted: Shipping address (postcode, city, street) to find nearby pickup points
OpenStreetMap Nominatim
- Service URL: https://nominatim.openstreetmap.org
- Purpose: Geocoding service to convert addresses to coordinates for map display
- Terms of Service: https://operations.osmfoundation.org/policies/nominatim/
- Privacy Policy: https://wiki.osmfoundation.org/wiki/Privacy_Policy
- Data transmitted: Shipping address for geocoding
Google Maps API (Optional)
- Service URL: https://maps.googleapis.com
- Purpose: Map display when Google Maps view is configured by the user
- Terms of Service: https://cloud.google.com/maps-platform/terms
- Privacy Policy: https://policies.google.com/privacy
- Data transmitted: User location data for map rendering
- Note: Requires user to provide their own Google Maps API key
Qapla’ Tracking Service
- Service URL: https://tracking.qapla.it, https://api.qapla.it and https://cdn.qapla.it
- Purpose: Display shipment tracking widget and live status on the order detail page. Shipment event status icons are loaded from https://cdn.qapla.it as part of the tracking data returned by the Qapla’ API.
- Terms of Service: https://www.qapla.it/terms-and-conditions/
- Privacy Policy: https://www.qapla.io/privacy-policy
- Data transmitted: Tracking number and API key are sent to retrieve tracking events. Status icon images are loaded directly from cdn.qapla.it as part of the service response.
- Note: Only active when a tracking number has been assigned to the order and the Tracking View setting is not set to “Hide tracking”.
Development
Building Assets
The plugin uses npm for building JavaScript assets. To build:
- Navigate to the plugin directory
- Run
npm installto install dependencies - Run
npm run buildto build production assets
Source Code
The source code for all compiled/minified files is included in this plugin package under js/src/.
-
js/dist/qapla-pudo-block.js
- Built from: js/src/qapla-pudo-block.js (included in this plugin)
- Build command: npm install && npm run build
-
js/google-markerclusterer.min.js
- Library: Google Maps MarkerClusterer v2.5.3
- License: Apache 2.0
- Original upstream source: https://github.com/googlemaps/js-markerclusterer
- TypeScript source included in this plugin at: js/src/google-markerclusterer/ (files: index.ts, markerclusterer.ts, cluster.ts, renderer.ts, marker-utils.ts, overlay-view-safe.ts, algorithms/)
Third Party Libraries
- Leaflet.js (v1.9.4) – BSD 2-Clause License – https://leafletjs.com/
CARTO Tile Service (Optional)
- Service URL: https://basemaps.cartocdn.com
- Purpose: Alternative map tile styles (Voyager, Positron, Dark Matter) when OpenStreetMap view is configured
- Terms of Service: https://carto.com/legal/
- Privacy Policy: https://carto.com/privacy/
- Data transmitted: Map tile coordinates for rendering
- Note: Only used when user selects a CARTO tile style in plugin settings
High-Performance Order Storage (HPOS)
This plugin is compatible with WooCommerce High-Performance Order Storage (HPOS).
To enable HPOS in WooCommerce: 1. Go to WooCommerce → Settings → Advanced → Features 2. Enable “High-Performance Order Storage” 3. Click “Save changes”
The plugin uses the WooCommerce Order API ($order->get_meta(), $order->update_meta_data()) for all order data operations, ensuring full compatibility with HPOS.
