=== Shipper360 === Contributors: shipper Tags: shipping, woocommerce, tracking, carrier vouchers Requires at least: 5.8 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.1 License: GPL v2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Integrate multiple Greek shipping carriers into your WooCommerce store with real-time rates, label generation, and shipment tracking. == Description == Shipper connects WooCommerce with major Greek carriers, offering real-time rates, label generation, and shipment tracking. A **Shipper account is required** to use this plugin. == External Service Usage (Required by WP.org Guideline 6) == This plugin communicates with the external logistics platform **Shipper (shipper360.io)** to retrieve carrier rates, generate shipping labels, and process shipment tracking updates. Shipper provides services including: * Multi-carrier shipping rates (ACS, Speedex, Geniki) * Shipment creation with label generation * Delivery point lookup * Shipment tracking and status updates * Webhook notifications for order status changes External service links: * Terms of Use: https://www.shipper360.io/en/terms-of-use/ * Privacy Policy: https://www.shipper360.io/en/privacy-policy-gdpr/ * Data Processing Agreement (DPA): https://www.shipper360.io/en/dpa-data-processing-agreement/ * Website: https://www.shipper360.io == External Service: OpenStreetMap (Map & Geocoding) == To let customers choose a delivery locker or store on a map at checkout, this plugin uses OpenStreetMap services. This only happens on the checkout page, and only when a pickup-point shipping method is available. * **Map tiles** are loaded from OpenStreetMap tile servers to render the interactive pickup-point map. * **Nominatim** (nominatim.openstreetmap.org) geocodes the customer's postcode into map coordinates so the nearest pickup point can be suggested. Only the postcode and the country (Greece) are sent — no personal or order data. Results are cached for 7 days to minimise requests. OpenStreetMap links: * Terms of Use: https://osmfoundation.org/wiki/Terms_of_Use * Privacy Policy: https://osmfoundation.org/wiki/Privacy_Policy * Nominatim Usage Policy: https://operations.osmfoundation.org/policies/nominatim/ == What Data is Sent to Shipper == The plugin sends only the data required to provide shipping functionality: **During rate calculation (checkout/cart):** * Destination country, city, postcode * Package weight and dimensions * Cart/order total value * Selected carrier/service * Store API credentials **During shipment creation (manual or automated):** * Customer shipping name * Shipping address (street, city, postal code, country) * Customer phone and email * Order number and WooCommerce order metadata * Package contents (items, weight, dimensions) * Selected carrier service and delivery point (if any) **During webhook communication (from Shipper to your site):** * Shipment status updates (accepted, in transit, delivered, failed, returned) * Tracking number * Carrier event timestamps No payment or billing information is ever sent to Shipper. == Key Features == * Multi-carrier support (ACS, Speedex, Geniki) * Real-time shipping rate calculation * Automated shipping label generation * Live shipment tracking * Customer tracking notifications * Delivery point selection * Return shipment handling * Bulk label printing * Custom shipping rules == Carrier Integration == * **ACS Courier**: Real-time rates, label generation, and tracking * **Speedex**: Automated shipping with service area support * **Geniki**: Complete shipping integration with delivery points == Requirements == * WordPress 5.8 or higher * WooCommerce 6.0 or higher * PHP 7.4 or higher * Valid Shipper API credentials == Installation == 1. Upload the 'shipper' folder to the '/wp-content/plugins/' directory 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Go to WooCommerce → Settings → Shipping → Shipper 4. Enter your API credentials 5. Configure your shipping preferences == Frequently Asked Questions == = Do I need a Shipper account? = Yes, you need a valid Shipper account to use this plugin. Visit [shipper360.io](https://shipper360.io) to create an account. = Which carriers are supported? = ACS, Speedex, and Geniki. = How are shipping rates calculated? = Rates are calculated in real time based on: * Package dimensions and weight * Delivery destination * Selected carrier * Your negotiated or standard rates = Can I track shipments? = Yes, tracking is available through: * WooCommerce order page * Customer order emails * Tracking page widget == Changelog == = 1.1 = * New: Pickup point / locker selection at checkout with an interactive map (lockers and stores), including nearest-point suggestion based on the delivery postcode. * New: Dedicated admin settings page (WooCommerce → Shipper360) with General, Orders, Tracking and Cache management tabs. * New: Subscription plan awareness — plan and remaining vouchers are shown, and the tracking feature is gated to Advanced/Enterprise plans with an upgrade notice on Starter. * New: Configurable WooCommerce order status → Shipper status mapping sent with webhooks. * New: Sandbox/demo mode toggle to switch between the production and demo Shipper API. * New: Wolt Drive carrier support. * Improvement: Cash on delivery is now disabled only for pickup points that cannot collect COD (e.g. ACS smartpoints/stores) while home delivery and BoxNow lockers keep COD. * Improvement: Webhook payload now includes the selected locker code and pickup point details, and backfills a missing phone number from custom checkout meta (filterable via `shipper360_meta_field_fallbacks`). * Improvement: Duplicate `order.updated` webhook fired while an order is being created is now suppressed. * Improvement: Admin styles/scripts now load only on the plugin's own settings screen. * Improvement: Pickup points and postcode geocoding results are cached (transients) to reduce API calls. * Security: Tracking API requests now verify SSL certificates. * Compatibility: Tested up to WordPress 7.0. = 1.0 = * Initial release * Multi-carrier support * Real-time rate calculation * Automated label generation * Shipment tracking * Customer notifications * Return handling == Upgrade Notice == = 1.1 = Adds checkout pickup point/locker selection with map, a new settings page, and subscription-plan and order-status-mapping support. Tested up to WordPress 7.0. = 1.0 = Initial release of the Shipper plugin for WooCommerce. == Support == For support please contact: * info@shipper360.io == Privacy Policy == This plugin processes: * Order shipping details * Customer delivery data * Store location information This data is transmitted securely to the external Shipper service for: * Shipping rate calculation * Label generation * Tracking updates For full Shipper privacy details, please review: * https://www.shipper360.io/en/privacy-policy-gdpr/