SLM WooCommerce Plugin


Introduction

The SLM WooCommerce Plugin is a robust solution that elevates your WooCommerce store by seamlessly incorporating the convenient SLM ship-to-locker functionality for customer orders. This plugin empowers your customers with the flexibility to opt for SLM lockers as their preferred delivery choice while completing their purchases. By seamlessly integrating SLM's shipping services into your WooCommerce platform, it delivers a smooth and effective process for fulfilling orders, enhancing the overall order management experience.

Supports:


Wordpress Versions Tested : [6.3, 6.1, 5.2, 4.4]

WooCommerce Versions Tested : [3.0, 3.6, 7.9]

Anything in between propably works.

Downloads:


Download:

Getting Started

Orders that are made with shipping method of SLM Delivery Service are defined as seperate order in your system, under the sidepanel tab SLM Orders.

The order exists in your system as any other order with the addition of creating, updating, cancelling the order only in the SLM Orders tab. Any action made in the typical WooCommerce Order page will not take effect on the SLM servers. For example changing the status of an order in the WooCommerce Order page will not change the status of the order in the SLM servers.

Important: Please ensure you have been provided with the required information and access keys before proceeding with the installation.

Install the App

Note: This plugin is designed to complement the WooCommerce Plugin. Therefore, it is essential to ensure that you have the WooCommerce Plugin installed before using this extension..

SLM WooCommerce Plugin is a zip file that you must have been provided with.

  1. The first thing to install this Plugin, is to go to Plugins -> Add New

  2. Then click the "Upload Plugin" button and upload the provided zip file (.zip file).

  3. Then go to Plugins and activate SLM Delivery plugin.

  4. You have to add the shipping method through WooCommerce -> Shipping -> Shipping Zone to your desired shipping zones.

  5. The plugin is now installed and activated.

Configuring the plugin


Important: Ensure that all fields are filled in correctly to ensure proper functionality of the Plugin.

Fig 1: Example of filled fields on SLM Settings

SLM Settings tab is placed on WooCommerce Settings

Required Fields Marked with (*)

Shipping Fields

  1. Title*: Title of SLM service as will be seen by client on available shipping methods.

  2. Taxable

  3. Cost*: The Cost of the SLM Shipping Method, that you will charge your clients.

  4. Free delivery: Optionally free shipping from a total account and above, leave blank to disable.

Fig 2: Edit the shipping fee, and optionally free shipping from a total account and above.

SLM Settings

  1. Base Url*: SLM Server url

  2. Map Url*: Url of the map that your clients will select Skroutz Point

  3. API Token*: Access Authorization Token for Creating SLM Orders.

  4. Pickup Location Code*: This establishes both your identity and your warehouse location. You can have more than one warehouse separated by a comma.

  5. Partner Id*: This is for further Identification.

  6. Store Number*: This is your phone number of your store.

Optional Fields

  1. WooCommerce Order Status on Voucher Create: What WC Order status should be after the SLM Voucher is created.

  2. WooCommerce Order Status on Voucher Cancel: What WC Order status should be after the SLM Voucher is cancelled.

  3. WooCommerce Order Status on Voucher Fail: What WC Order status should be after the SLM Voucher is failed.

  4. WooCommerce Order Status on Voucher Complete: What WC Order status should be after the SLM Voucher is completed.

  5. Calculate Weight: SLM Delivery allows a maximum parcel weight of 25kg. When a customer attempts to place an order exceeding this weight limit, the option for SLM shipping will be deactivated. Accuracy of each product weight value is expected for this to work properly.

  6. Choose map type: Plugin default map type is "popup" (recommended), that means that map of lockers will show up as a popup window on top of checkout. Map type "iframe" will show the map when SLM method is selected. You have to place [add-slm-map-iframe] shortcode somewhere in checkout page for this to work, custom css rules may be needed.

  7. Include Categories: Include the categories to be eligible for SLM Delivery. If at least one category is not included of the carts products categories then SLM shipping method will not show.

  8. Soft Include: Change default strict behaviour of Include Categories to, if at least one category is included for each product categories of cart then SLM Shipping method will show.

Basic Features


Client Side


Fig 3: SLM Locker Delivery Button


Client will have the option to select SLM Locker Delivery Method. Client can search for an address, discover the lockers at the map and select one of them.


Fig 4: SLM Map




Admin Side


Create Voucher: When an order is made from a customer then will have to Create a voucher to inform SLM to provide a voucher for you. You will have to pick Pickup Location (as added from Pickup Location Codes on SLM Settings), and Pickup date/time.

Update Voucher: You can only edit the Pickup Date and time when Updating an order in SLM.

Complete Voucher: For any reason you can mark the order as complete. This does not have any effect on SLM Servers.

Cancel Voucher: You can also cancel an order by pressing the circled 'x' button. This will cancel the order on your system and on SLM Servers.

Sync Latest Status of SLM: You have to click the refresh button, to update your orders with the latest status from SLM. If an order is in final state then it gets its status changed on your store too (WooCommerce System). An order may be marked as cancelled, failed, completed depending order's status on SLM Servers (SLM Tracking Column). You have to do this often to sync your system with the latest SLM status change.

Voucher Column: contains the voucher id, clicking on it will download the voucher pdf.

Status Column: is the latest action that you performed on an order.





Changelog


[1.1.0] - 2023/08/28

Mainly improvements, features and fixes.

IMPORTANT: Uninstall of plugin now removes all slm-orders from slm table and all data of SLM plugin.

Fixes

  • Fix: WooCommerce Order Status on Voucher Create/Cancel/Fail/Complete options, if not set at init, changing the order to the first available WC Status.
  • Fix: Disabling slm shipping method info messages appearing outside cart/checkout pages.
  • Fix: Show error message from SLM Servers when available on slm sync error message bar.
  • Fix: Pdf not opening on chrome and some other programs.

Improvements

  • Improvement: Add locker name instead of locker external id on SLM Orders page, make it backwards compatible to fallback to locker external id if name does not exist.
  • Improvement: Change styling of map to window instead of fullscreen, and make background grey.
  • Improvement: Add confirmation before submiting complete,cancel buttons.
  • Improvement: Change style of slm-settings.
  • Improvement: Change exclude categories to be include categories, and the style of the component in slm-settings.

Features

  • Feature (client): Disable cash on delivery with SLM (options Cash On Delivery disappears)
  • Feature (admin) : Locker name on click opens map with locker selected.
  • Feature (admin) : Add proper install/update/uninstall plugin hooks. IMPORTANT: Uninstall of plugin now removes tables and all data of SLM plugin.
  • Feature (admin) : Add SLM Last Sync timestamp display before refresh button, also do a sync automatically on SLM Orders page load if havent be done in the last three hours.
  • Feature (admin) : Add status colors on orders table.
  • Feature (admin) : Add required fields check before saving slm-settings.
  • Feature (admin) : Add weight calculation enable/disable options.
  • Feature (admin) : Add option to change map type from popup to iframe with shortcode available.

[1.1.1] - 2023/08/29

Patch SLM Orders page popup map

Fixes

  • Fix: SLM Orders page -> Locker popup map some times redirecting to users location. Disabled that.

[1.1.2] - 2023/09/08

Patch SLM Orders page popup map

Fixes

  • Fix: Make map-open-button not full width.
  • Fix: Fix map close icon not showing up.
  • Fix: Mobile view map height from 70% to 100%.
  • Fix: 3rd Plugin conflict.

[1.1.3] - 2023/09/12

Client Improvements.

  • Improvement: Make map with bigger width to show vertical-split view of the map.

[1.1.4] - 2023/09/13

Hot Patch

  • Fix: If free delivery is not set (empty) then cost doesn't calculated (0€) at the checkout.
  • Improvement: Add Soft Include option on settings. For a product to be eligible for SLM Delivery. Disabled (Default): All categories of products must be included. Enabled: At least one category from the list of product categories must be included.

[1.1.5] - 2023/09/21

Improvements and fixes

  • Fix: Give Popup button left margin
  • Improvement: Make Popup map bigger
  • Improvement: Parse option urls to remove '/' and replace http with https
  • Improvement: Add warning message if testing keys are used

[1.1.6] - 2023/09/28

Improvements and fixes

  • Fix: IPhone safari map becoming grey and unclickable
  • Fix: Remove popup map for Locker on order page
  • Improvement: Add description for Tax Status

[1.1.7] - 2023/10/12

Fixes

  • Fix: Replace php 8 function str_contains with strpos for better compatibility.
  • Fix: Add support for other weight units.

[1.1.8] - 2023/11/20

  • Improvement: Various code fixes/improvements
  • Feature: Add link to Tracking-Page for each voucher, and improve styling of Voucher Column.

[1.1.9] - 2024/01/12

  • Improvement: Various code fixes/improvements
  • Improvement: Let the auto sync to the sync and remove sync orders button.

[1.1.10] - 2024/02/13

  • Fix: Do a hack fix for duplicate maps
  • Fix: Some times disabled slm option message appears when it should not.
  • Fix: Allow pickup of the same day for evening if its before 2pm.

[1.1.11] - 2024/03/08

  • Fix: Evening pickup window send as morning pickup window
  • Improvement: Add WC Order status column.

[1.1.12] - 2024/04/08

  • Improvement: Disable Create Voucher On click

[1.1.13] - 2024/07/23

  • Fix: Some functions throw silent errors, fixed them.
  • Use different hook and method for storing selected locker,name (before saving to db) at the completion of the order.
  • Update woocommerce_new_order hook priority from 20 to 10.
  • Improvement: About the popup map, dont disable body, wrap the popup to a div that acts as a fullscreen background.

[1.1.14] - 2024/12/12

  • Fix: Sync orders wouldn't change woocommerce status.