=== Advanced Shipment Tracking for WooCommerce  ===
Contributors: zorem,gaurav1092,eranzorem,satishzorem
Tags: WooCommerce, delivery, shipping, shipment tracking, tracking
Requires at least: 5.3
Tested up to: 6.8.3
Requires PHP: 7.2
Stable tag: 3.8.8
License: GPLv2 
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Advanced Shipment Tracking(AST) streamlines WooCommerce fulfillment, order fulfillment, reducing inquiries, and boosting customer satisfaction.

==Key Features==

* **🚀 Streamline Order Fulfillment** - Rename WooCommerce "Completed" to "Shipped" and add a "Partially Shipped" status for split shipments.
* **📦 Customizable Tracking Widget** - Display shipping details in emails and the My Account page.
* **🔄 Easy Tracking Management** - Add multiple tracking numbers to orders effortlessly. 
* **🌍 850+ Shipping Carriers**- Predefined tracking links for seamless customer experience.
* **🔗 Shipment Tracking API** - Update tracking via third-party services.
* **📁 Bulk CSV Import** - Quickly import tracking data from CSV files.

== Shipping Carriers == 

AST supports 850+ carriers, including USPS, ePacket, Delhivery, UPS, FedEx, DHL, Royal Mail, and more.

[View Full Carrier List](https://docs.zorem.com/docs/ast-free/shipping-carriers/#shipping-carriers-list-options/)

== Compatibility == 

Compatible with shipping label plugins, email customizers, order management tools, multi-vendor solutions, SMS plugins, and more. 

[Full Compatibility List](https://docs.zorem.com/docs/ast-free/compatibility/)

== Translations == 

AST supports multiple languages, including English, German, Hebrew, Hindi, Italian, Norwegian, Russian, Swedish, Turkish, Bulgarian, Danish, Spanish, French, Greek, Portuguese (Brazil), and Dutch.

[Submit Translations](https://docs.zorem.com/docs/ast-free/translations/#submit-translation-files)

== Documentation ==

Find setup guides, tutorials, and code snippets in the [ AST Documentation](https://docs.zorem.com/docs/ast-free/).

### We also offer a Pro version! ###

== AST PRO Fulfillment Manager ==
* **🔗 Seamless Integrations** - Connect with ShipStation, WooCommerce Shipping, Ordoro, Royal Mail Click & Drop, Sendcloud , Pirate Ship, Stamps.com, Printful and more.
* **📊 Centralized Fulfillment Dashboard** - Manage all shipments in one place.
* **📌 Item-Level Tracking** - Assign tracking numbers per order item.
* **✉️ Custom Email Templates** - Enhance notifications with a responsive tracking widget.
* **🔄 API Name Mapping & Automation** - Sync carrier names and auto-complete partial orders.
* **🎨 Custom & White-Labeled Carriers** - Define and brand shipping carriers.
* **🔍 Auto-Detect Carriers** - Identify carriers automatically when entering tracking numbers.
* **📂 Automated CSV Import via FTP/SFTP** - Schedule bulk tracking imports.
* **💰 PayPal Tracking Sync** - Auto-export tracking data to PayPal.
* **🏆 Premium Support** - Get priority assistance with AST PRO.

[Get AST PRO >](https://www.zorem.com/ast-pro/)

== TrackShip Integration ==

[TrackShip](https://wordpress.org/plugins/trackship-for-woocommerce/) enhances the post-purchase experience by automating tracking updates for over 850 carriers. Once tracking information is added to an order in WooCommerce, TrackShip automatically starts monitoring shipment progress in real time. Customers receive proactive delivery updates via email and can access a fully branded tracking page within your store.

With TrackShip, you can:

* Reduce order tracking inquiries by keeping customers informed throughout the delivery process.
* Provide a branded tracking experience that increases customer trust and engagement.
* Automate tracking status updates, ensuring timely notifications for shipments in transit, out for delivery, and delivered.
* Improve customer satisfaction and boost repeat purchases by offering a seamless post-purchase experience.

[Learn More](https://trackship.com/)

== Other Plugins by zorem ==

Optimize your WooCommerce store with our plugins:

* [Zorem Local Pickup Pro](https://zorem.com/plugins/zorem-local-pickup-pro/)
* [SMS for WooCommerce](https://zorem.com/plugins/sms-for-woocommerce/)
* [Country Based Restriction for WooCommerce](https://zorem.com/plugins/country-based-restriction-for-woocommerce/)
* [Customer Email Verification for WooCommerce](https://zorem.com/plugins/customer-email-verification-for-woocommerce/)
* [Sales By Country for WooCommerce](https://zorem.com/plugins/sales-by-country-for-woocommerce/)
* [Zorem Returns](https://zorem.com/plugins/zorem-returns/)
* [Email Reports for WooCommerce](https://zorem.com/plugins/email-reports-for-woocommerce/)
* [View as Customer for WooCommerce](https://zorem.com/plugins/view-as-customer-for-woocommerce/)

Explore more at [zorem.com](https://www.zorem.com/)

== FAQ == 

=Where will my customer see the tracking info?
The tracking info and a link to track the order will be added to the Completed (Shipped) order status email and will also display for each order on the customer accounts (orders tab). 

=Can I customize the Tracking info display on the order emails?
Yes, you have full control over the design and display of the tracking info, you can customize the display and content in a customizer with a live preview. Check out our [documentation](https://docs.zorem.com/docs/ast-free/setup-configuration/customize-the-email-notifications/#customize-the-tracking-widget) for more information + How to Video

=Can I add multiple tracking numbers to an order?
Yes, absolutely you can add as many tracking numbers to orders and they will all be displayed to your customers on the order email and their my-account area.

=Can I attach a tracking number to a specific product?
Yes, you can upgrade to the [AST PRO](https://www.zorem.com/ast-pro/) to split orders to a few shipments and attach tracking numbers to line items (products) and to product quantities.

=Does AST auto-track my orders and send delivery notifications to my customers?
AST provides ways to manage the fulfillment and add tracking information to orders and communicate this info to your customers, if you want to have tracking automation, you can install [TrackShip for WooCommerce](https://wordpress.org/plugins/trackship-for-woocommerce/). TrackShip is a Multi-Carrier Shipment Tracking API which integrates into the WooCommerce ecosystem, once you connect TrackShip to your store, it will auto-track your Shipped orders and will poractivally update your orders with shipment status, delivery events and delivery confirmation. With TrackShip you can automate the last mile, have a tracking page on your store and enable proactive shipment status & delivery notifications by email/SMS to your customers.

=Can I add a shipping carriers that is not on your list?
We provide a list of more than 850+ shipping carriers and carriers with a predefined tracking link. If you can’t find your shipping carriers on the list, you can suggest a shipping carriers on our [features board](https://feedback.zorem.com/ast) or on the [support forum](https://wordpress.org/support/plugin/woo-advanced-shipment-tracking/), If you need to add your own custom carriers, this feature is only available in the [AST PRO](https://www.zorem.com/ast-pro/). 

=Can I Import tracking information from CSV files?
Yes, you can use our [CSV import tool](https://docs.zorem.com/docs/ast-free/add-tracking-to-orders/csv-import/) to import multiple tracking numbers to orders, you need to add each tracking number in one row.

=Can I use Custom order Numbers when importing CSV files?
Yes, some plugins do not use the WooCommerce order_id (post id) and use custom fields instead for the order numbers. We added [compatibility](https://docs.zorem.com/docs/ast-free/compatibility/) and you can use the custom order numbers in the CSV file in the order_id column for more details, see our documentation.

=Can guests also view their shipment tracking info on my store?
Yes, if you use the [WooCommerce order tracking shortcode](https://docs.woocommerce.com/document/woocommerce-shortcodes/#page-shortcodes) and your guest customers will have to enter the email address and the Order ID to view their order details and track the shipment. 

=Do you have an API to update tracking info from my shipping service?
Yes, if you use external shipping services that work with the WooCommerce REST API to update your orders, they can use the [AST shipment tracking API endpoint](https://docs.zorem.com/docs/ast-free/add-tracking-to-orders/shipment-tracking-api/) to update the tracking information in orders. AST Pro comes with built-in integrations with shipping services to automate the fulfillment workflow and to automatically add tracking information to the shipment tracking order meta when generating labels. You can check all the integration list [here](https://docs.zorem.com/docs/ast-pro/integrations/)

== Installation ==

1. Upload the folder `woo-advanced-shipment-tracking` to the `/wp-content/plugins/` folder
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Select default shipping carriers from setting page and add tracking number in order page.

== Changelog ==

= 3.8.8 =
* Dev - Tested with WooCommerce 10.3.5
* Enhancement – Updated “Shipping Carrier Not Found!” message with a suggestion to sync carriers for the latest list.
* Fix – Updated deprecated WooCommerce script handles (jquery-blockui, jquery-tiptip, serializejson) to new handles (wc-jquery-blockui, wc-jquery-tiptip, wc-serializejson) for compatibility with WooCommerce 10.3+.

= 3.8.7 =
* Dev - Tested with WooCommerce 10.2.2 and WordPress 6.8.3
* Improvement - Responsive Design of Tracking Widget on My Account Order Details Page.

= 3.8.6 =
* Dev - Tested with WooCommerce 10.1.2
* Fix – Prevented duplicate tracking numbers and incorrect order status changes when pressing Enter in Add Tracking sidebar.
* Fix – Resolved fatal error when tracking numbers contain a percent symbol (%).

= 3.8.5 =
* Dev - Tested with WooCommerce 10.0.4 and WordPress 6.8.2 
* Improvement – Improved email preview to show tracking widget only for selected statuses.
* Fix - Tooltip Not Working with WooCommerce 10

= 3.8.4 =
* Dev - Tested with WooCommerce 9.9.4
* Dev - Updated shipped date format to use hyphens (e.g., dd-mm-YYYY) for clarity.
* Fix - Resolved issue where "Enable Carriers" button did not open the sidebar on the Shipping Carriers page.

= 3.8.3 =
* Dev - Tested with WooCommerce 9.9.3
* Fix - Undefined array key "wc-delivered", "wc-partial-shipped" warning in `wc_orders_count()` usage.

= 3.8.2 =
* Dev - Tested with WooCommerce 9.8.5
* Dev - Update Spanish language translation file

= 3.8.1 =
* Dev - Tested with WooCommerce 9.8.4 and WordPress 6.8.1
* Dev - Re-add Option to Add Tracking on Order Update Hook

= 3.8.0 =
* Fix – Resolved issue with dismissing notices.

= 3.7.9 =
* Dev - Tested with WooCommerce 9.8.1 and WordPress 6.8 
* Dev - Added option to log Shipment Tracking API requests in WooCommerce logs.
* Enhancement - Show tracking source (e.g., "Manual", "CSV", "API") in the Shipment Tracking meta box.

= 3.7.8 =
* Enhancement - Redesigned the AST settings page.
* Fix - Corrected translation loading timing for the WooCommerce text domain.
* Fix - Fixed preg_replace parameter handling to ensure proper functionality.
* Fix - Resolved incorrect usage of wpdb::prepare, ensuring the correct number of placeholders match the passed arguments.
* Fix - Fixed the Datepicker initialization issue.

= 3.7.7 =
* Dev - Tested with WooCommerce 9.7.1
* Fix - Fixed an issue where refund orders were not handled correctly, preventing potential errors.
* Fix - Fixed incorrect function call `_load_textdomain_just_in_time`, ensuring translation loading for the WooCommerce domain occurs at the correct stage

= 3.7.6 =
* Dev - Tested with WooCommerce 9.6.2 and WordPress 6.7.2  
* Fix - Resolved CSS override issue with WooCommerce Orders Activity Panel  
* Fix - Fixed incorrect function call `_load_textdomain_just_in_time`, ensuring translation loading for the WooCommerce domain occurs at the correct stage

= 3.7.5 =
* Dev - Tested with WooCommerce 9.6.0
* Dev - Added Version Parameter to Shipping Carrier Image URL to Prevent Caching
* Fix - Partially Shipped and Shipped order status email not disabling from Order status & Notification panel
* Fix - Resolved a design compatibility issue with WooCommerce version 9.6.0

= 3.7.4 =
* Enhancement - Use custom tracking provider name if exist
* Dev - Tested with WooCommerce 9.5.1

= 3.7.3 =
* Dev - Tested with WooCommerce 9.4.3 and WordPress 6.7.1
* Fix - Warning - _load_textdomain_just_in_time was called incorrectly. Translation loading for the ast-pro domain was triggered too early.
* Fix - Warning - Undefined array key tracking_id

= 3.7.2 =
* Dev - Added an admin notice for Black Friday Sale
* Fix - PHP Deprecated: preg_replace(): Passing null to parameter #3

= 3.7.1 =
* Fix - Translation issue with WordPress 6.7
* Dev - Tested plugin with WordPress 6.7
* Dev - Tested with WooCommerce 9.4.1

= 3.7.0 =
* Enhancement - Move Usage Tracking panel from settings to license tab
* Dev - added 'manage_woocommerce' permission through filter
* Dev - Tested with WPML 4.7 and update the documentation
* Dev - Tested plugin with WordPress 6.6.2
* Dev - Tested with WooCommerce 9.3.3
* Fix - Updated tracking order status email doesn't work

= 3.6.9 =
* Dev - Tested plugin with WordPress 6.6.1
* Dev - Tested with WooCommerce 9.2.3
* Fix - Resolved an issue where the Tracking Info email template was not being overridden in the theme/child-theme

= 3.6.8 =
* Improvement - Updated the string “selected” to use a non-translatable function for better compatibility.
* Dev - Tested plugin with WordPress 6.5.5
* Dev - Tested with WooCommerce 9.0.2
* Fix - Fixed the issue where custom email content was not being saved properly.

= 3.6.7 =
* Enhancement - Improved the tracking info template design for responsive
* Dev - Tested plugin with WordPress 6.5.4
* Dev - Tested with WooCommerce 9.0.0

= 3.6.6 =
* Add - UTM link for all the external links to zorem.com
* Dev - Tested plugin with WordPress 6.5.2
* Dev - Tested with WooCommerce 8.8.2
* Dev - Add nonce in all the admin message dismissable URL
* Dev - updated the Synch providers API call URL
* Fix - translation issue on Add Tracking slideout
* Fix - Deprecated warnings
* Fix - “Creation of dynamic property WC_Advanced_Shipment_Tracking_Actions::$providers is deprecated”

= 3.6.5 =
* Dev - Test plugin with WordPress 6.4.2
* Dev - change date format to 'Y-m-d' in the shipment tracking API response
* Fix - Undefined variable $src 

= 3.6.4 =
* Fix - $ is not a function while add Tracking

= 3.6.3 =
* Enhancement - Update the settings page design
* Enhancement - Updated the Shipping Carriers design
* Dev - Test plugin with WordPress 6.4
* Dev - Compatibility with PHP 8.2
* Improve - the add tracking in edit order details page
* Fix - Undefined property: stdClass::$custom_tracking_url
* Fix - Undefined variable $fluid_hide_shipping_date
* Fix - Remove Mark as Shipped from actions column when the order status is Shipped

= 3.6.2 =
* Fix - Shipping carrier not showing on add tracking sidebar

= 3.6.1 =
* Fix - Shipping carrier not found in Shipping Carriers list
* Dev - added a filter "wc_ast_default_mark_shipped" to unchecked the uncheck the Mark order as: Shipped checkbox

= 3.6 =
* Enhancement - Update the design of the Add tracking popup
* Enhancement - Updated the design of Shipping Carriers list
* Enhancement - Change the terminology - Shipping providers" to "Shipping Carriers"
* Dev - Add script in footer for Open the Track Button link in a new tab option
* Dev - Tested plugin with WordPress 6.3.1
* Dev - Tested with WooCommerce 8.2
* Improve - Duplicate Queries on orders list
* Fix - search by country name not working in shipping providers list
* Fix - Undefined variable $tracking_number on woo-advanced-shipment-tracking/includes/class-wc-advanced-shipment-tracking.php on line 1076

= 3.5.3 =
* Enhancement - Improve the Shipping providers list page header design
* Enhancement - Add an option in the settings for Usage Tracking
* Enhancement - Update the Usage data sign-up box content
* Dev - Remove the trackship tracking page funtinality and add a filter on ast_tracking_link for TrackShip to use
* Fix - Vulnerable to Cross Site Request Forgery (CSRF)

= 3.5.2 =
* Enhancement - Added admin message for Survey
* Dev - Add validation in CSV Import when added short tracking number
* Dev - Remove the TrackSip message for TrackShip connected but TrackShip For WooCommerce is not installed
* Dev - Add Plain Fluid Tracking Info template
* Dev - Delete old tracking from TrackShip while Replace tracking information in CSV Import
* Dev - Change tracking info email template structure from Div to Table
* Fix - Customizer save issue in Firefox

= 3.5.1 =
* Fix - Fatal Error - Error message: Uncaught Automaic\WooCommerce\Vendor\League\Container\Excep@on\NotFoundExcep@on: Alias (Automaic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController) is not being managed by the container

= 3.5 =
* Add - Declared HPOS compatibility.
* Dev - Change TrackShip tracking page link
* Dev - In Shipment tracking REST API response use store date format for shipped date
* Enhancement - Upgrade the settings page design
* Enhancement - Open tracking link on new tab in My Account page
* Fix - Order status Email content formating issue

= 3.4.7 =
* Fix - “syntax error, unexpected ‘)’ in class-wc-advanced-shipment-tracking.php on line 916” with PHP 7.2

= 3.4.6 =
* Enhancement - Move the fulfillment workflow panel on top in the settings page and updated the design of it
* Enhancement - Added "Display shipped/tracker section" option in the Tracking Widget customizer
* Fix - Translation issue in Tracking Widget
* Dev - tested with WooCommerce 6.8.0

= 3.4.5 =
* Enhancement - Added completed email in the AST customizer so you can customizer Completed email subject, heading and content
* Enhancement - Implement the new customizer for tracking widget and custom order status
* Enhancement - Re - design Tracking info widget
* Enhancement - Improve the Go Pro popup design
* Enhancement - Remove the Integrations tab from Shipment Tracking settings page
* Dev - tested with WooCommerce 6.7.0 and WordPress 6.0.1

= 3.4.4 =
* Dev - tested with WooCommerce 6.6.1
* Fix - Updated tracking email not sent

= 3.4.3 =
* Fix - Change esc_html__ to esc_html for dynamic variable in plain tracking info email template

= 3.4.2 =
* Dev - Change CURL to wp_remote_get to get the shipping provider image
* Dev - Remove text-domain from all the dynamic variables
* Dev - Improved the CSV Import functionality to work with shipping provider slug
* Dev - tested with WooCommerce 6.6

= 3.4.1 =
* Enhancement - Added AST PRO promotion message box in shipment tracking settings page
* Enhancement - Improved the design of TrackShip promotion page
* Dev - Removed the shipping providers zip file from plugin
* Dev - Improved code security
* Fix - Shipped date issue in spanish

= 3.4 =
* Enhancement - When sync providers, provider is disabled by default
* Dev - Update Greek translation files
* Dev - Test plugin with WooCommerce 6.5.1 and WordPress 6.0
* Dev - Test plugin with WooCommerce Multilingual 5.0.0
* Dev - Added compatibility with the Weglot Translation plugin
* Fix - Sync providers issue on plugin activation
* Fix - Date issue when adding tracking from CSV/API/Manually

= 3.3.2 =
* Enhancement - Make Shipped and Partially Shipped unremovable from Order Emails Display option
* Enhancement - Add Docs, Support and Review link on plugins page
* Enhancement - Added Sync providers Message on Shipping Providers list settings page
* Dev - Updated Croatian Translation Files
* Dev - Updated Deprecated jQuery code for jQuery keyup function
* Dev - Improve the synch providers functionality based on provider_slug
* Dev - Tested with WP 5.9.2 and WC 6.3.1
* Fix - Fixed error when add tracking information to order for PHP 8
* Fix - Fixed synch providers issue for J&T provider

= 3.3.1 =
* Dev - Added back the Delivered order status
* Dev - Added ParcelForce Integration
* Dev - Added admin message for database synch

= 3.3 =
* Dev - Removed TrackShip functionality
* Enhancement - Add line break for tracking # - orders list page
* Enhancement - Change uninstall > deactivate when deactivating the plugin
* Enhancement - Updated the design of settings page
* Enhancement - Updated the design of Go Pro page
* Enhancement - Remove clickable link from shipment tracking column in orders list page

= 3.2.9 =
* Enhancement - Updated addons page design
* Enhancement - Remove preview order option from tracking info and order status email customizer and set default dummy data
* Fix - Warning: Invalid argument supplied for foreach() in plugins/woo-advanced-shipment-tracking/includes/class-wc-advanced-shipment-tracking-admin.php on line 1801

= 3.2.8 =
* Dev - Removed the 'manage_woocommerce' capability when add tracking to orders

= 3.2.7 =
* Dev - Improve code security

= 3.2.6 =
* Fix - Fixed shipping provider search issue in Shipping provider settings page
* Dev - Improve code quality and security
* Enhancement - Added go pro lightbox in shipping provider page and integration page

= 3.2.5 =
* Dev - Added condition for standalone pro version
* Enhancement - Updated settings page design
* Dev - Removed Add custom provider functionality from shipping provider list
* Dev - Removed Edit custom provider functionality from shipping provider list
* Dev - Improved the security

= 3.2.4.1 =
* Enhancement - Added TrackShip menu inside Shipment Tracking if TrackShip not connected

= 3.2.4 =
* Dev - Tested with WordPress 5.7.2 and WooCommerce 5.3
* Dev - Added admin notice for the TrackShip For WooCommerce plugin
* Dev - Added WPML compatibility with TrackShip connection 

= 3.2.3 =
* Fix - Fixed warning - Undefined array key "wc_ast_tracking_page_customize_btn" on file "wp-content/plugins/woo-advanced-shipment-tracking/…class-wc-advanced-shipment-tracking-trackship.php" line: 435
* Dev - Tracking page on carriers website in Orders which are not tracked by TrackShip
* Dev - Tested with WooCommerce 5.2.0

= 3.2.2.4 =
* Fix - Fixed issue with default shipping provider not automatically select on Add Tracking form
* Dev - When user migrate from WooCommerce Shipment Tracking(official) to Advanced Shipment Tracking for WooCommerce plugin it will automatically migrate shipment tracking data
* Fix - Fix search provides design issue for small screen on shipping providers list page
* Dev - Improve TrackShip Tracking page design and make Estimate delivery date multilingual compatible
* Fix - Fixed - Failed Attempt filter not working on orders page

= 3.2.2.3 =
* Enhancement - Added datepicker on Add tracking lightbox on orders page
* Enhancement - Removed the multiple API name option
* Dev - Updated Admin html function

= 3.2.2.2 =
* Enhancement - Update order details, Shipping address and billing address email template
* Enhancement - Added admin notice and WooCommerce inbox message for Advanced Shipment Tracking PRO
* Enhancement - Split Shipment Tracking customizer and TrackShip customizer
* Fix - Fixed issue with the" Reset providers database" option in Synch providers

= 3.2.2.1 =
* Enhancement - Updated Settings page header design
* Enhancement - Updated TrackShip Settings page header design
* Enhancement - Updated Email order details template for shipment status emails
* Fix - Fixed Trackship shipment status customizer issue
* Fix - Fixed database warnings on plugin installation