-- HikaShop version -- : 4.0.3
-- Joomla version -- : 3.9.5
-- PHP version -- : 7.2
Hi,
For a current project I'm looking for someone to develop a new shipping plugin.
If you're interested, please carefully read this post in its entirety, then please PM me here and include contact details, so we can take it further from there via email, Whatsapp, Skype or else.
It's about "Easyship" (
https://www.easyship.com
), which enables shop owners to present customers with a range of carriers and their different services at very attractive rates, and without any monthly cost. It goes further to creation and management of shipment, download of shipping labels, arranging pick-up, shipment tracking, etc, though this can be dealt with through the Easyship site as well.
It's similar to ShipStation, but not as "U.S.-centric" and without the monthly cost and limitations.
API docs, reference and dev forum can be found at
https://developers.easyship.com
With Easyship accounts being free and a sandbox mode, it should be simple for a dev to get and keep going.
We can assume that necessary HikaShop custom fields of types product, address and order already exist or can be created manually in the HikaShop backend (Business Edition). So, no need to do this programmatically during plugin installation.
To get something usable soon, and because shop owners can do everything also in their dashboard on the Easyship website, this is what needs to be done for starters and what you may please be quoting for:
- Backend: UI for setup/configuration of Easyship shipping method: fields for Easyship account data (such as API token), in addition to the usual HikaShop fields, restrictions etc.
- Frontend checkout, step "shipping methods": Request Easyship rates and display carrier names and rates like every other shipping method, so the customer can select from them.
- On order creation (checkout finished): Create Easyship shipment according to customer's selection and store the response data in the order record (response data comes as JSON object/array).
- Backend, order details/edit (clearly the simplest of all, haha): display "easyship_shipment_id" in a text input form field, so it can be edited in case of changes. (Later, once step 2 here below has been done, it'd be read-only.)
That's it for starters as far as I can see - probably not a biggie, especially if you've made a shipping or payment plugin before. Again, if you can do this, please let me know asap per PM.
Once you've quoted your rate and it's acceptable, I'd have an idea of how to proceed but am open to your suggestions as well, of course.
Also, I don't expect it to be finished and ready "over night", haha. A timeframe of about 10-14 days would be ok, I guess?
Once this first part is settled, there'll be more work to do to further integrate Easyship with HikaShop, and we shall look at achieving the following steps then (unless you'd be able and willing to quote and work on this in the shorter term):
Step 2:
Adding Easyship "Retrieve, Update and Delete Shipments" to the Joomla/HikaShop backend.
Open for discussion, but it seems to make most sense if an admin were able to update or delete and Easyship shipment when editing the respective order.
Retrieving list data could be an option, too, since HikaShop's backend order listing allows filtering only by payment method and order statuses, not shipping method (wonder why not...).
Step 3:
Bringing Easyship "Confirm and Buy Labels" into the Joomla/HikaShop backend. There may again be multiple options for how to do this, but it should be a manual step for the admin, like a button in the order details page opening a popup or so.
Only once order status is "confirmed" and manually, because in between customer's payment and actual shipment confimation anything can still happen (plus, Easyship does not allow cancellation/refund after labels have been bought).
Step 4:
Manage Easyship "Courier Pick Ups" via the Joomla/HikaShop backend: select a collection slot, book the collection, confirm "handed over" in the system.
Finally, get Easyship "Tracking Updates" (CRON?), and display them in both frontend and backend order details. (Not the hardest part either, lol!)
Also separately and just FYI, I might need a new payment plugin as well.
But first things first, and back to the beginning: I look forward to hearing from you regarding the first step for the shipping plugin... thanks in advance!