What this solution does
Pickup point selection widget during order checkout
The buyer selects a pickup point, locker, or store for self-collection. The list displays addresses, nearby metro stations, operating hours, available services, delivery timeframes, and pickup costs. The system saves the selected point code in the order property. Configuring the store checkout template is required to enable the widget.
Search and filtering
Search operates by name, address, metro station, and city. Stop words are ignored, the letters yo and e are treated as identical, and house numbers are compared in full. Filters allow selection of points accepting card or cash payments, offering trial fitting, returns, or large item acceptance. Lockers do not support trial fitting.
After browser permission for geolocation is granted, the list sorts by distance from the buyer. Distance is calculated as a straight line and does not reflect actual route length. The search checks all matching records, but the number of displayed results is limited by configuration. Delayed responses from previous queries do not replace the current list.
Operating hours and limitations
The widget displays the closing time or the time of the next opening. It supports day groups, lunch breaks, fixed weekends, 24-hour operation, and night shifts. Times after midnight belong to the following day.
The module verifies that shipment parameters (weight, length of the longest side, and total volume) comply with the limits of the selected pickup point. All items in the cart are considered, including those with fractional quantities; deferred items are excluded from the current cart. When placing a new order on the storefront, the selected point is re-verified: if the point is closed or the shipment exceeds the allowed limits, the buyer receives an error message. The module does not modify existing orders upon re-saving.
The minimum cart value threshold for free pickup is applied consistently both when the widget is first opened and after a search. This threshold affects the displayed pickup cost; the delivery tariff is configured separately within the delivery service.
Directory management, CSV import, and reports
Pickup points can be created manually or imported from a CSV file with headers. Multi-line fields enclosed in quotes are supported. Re-uploading the file updates existing points based on their unique codes. Unique codes must be used for different delivery services. Pickup points that are not present in the uploaded file are not deleted from the system.
The reporting module tracks selected pickup points, associated orders, and conversion rates. It analyzes requested and ignored points, average distance to them, and cities where search returned no results. Errors are recorded only upon receiving empty search responses and are frequency-limited; this does not count all page exits or lost orders. A guest's selection of a point after logging in is automatically linked to the current order within the same session.
INTEGRATION AND COMPATIBILITY
The module consists of two components: the checkout widget ozhogov:pickup.widget and the public list ozhogov:pickup.list. The list functions without a map. To display a map, the site independently loads the Yandex Maps JavaScript API using its own key; the module SDK is not loaded.
Requirements include PHP 8.2 or higher, the main module main version 20.0.0 or higher, and the Internet Store (sale) module. The catalog module is required to read product parameters.
Supported databases are MySQL 5.7 or higher, MariaDB 10.3 or higher, and PostgreSQL. For PostgreSQL, the main module main version 23.900.900 or higher is required.
Rate calculation, order handover to the carrier, and status exchange remain the responsibility of the used delivery service. There is no built-in geocoder or IP-based city detection.
For “Pickup point selection widget”, General iT can perform integration, configuration and a final check after installation.