Prestashop New Econt and Speedy modules -- 3

Job ID: 35688706

Budget: €300 – €500 EUR

Econt and Speedy are couriers based in Bulgaria. They offer native modules for prestashop, but the way they work is limited. I am looking for a developer who will be able to create new modules for both couriers and integrate them with one step checkout. Both couriers offer API documentation that can be used.

Requirements:

Front end (for the customer):

Customer checkout, he/she should have the options:
1. Delivery to the office of Speedy
2. Delivery to the office of Econt
3. Delivery to address with Econt
4. Delivery to address with Speedy
5. Pick up from the store

When the customer chooses:
- Option 1 or 2, he/she needs to type the city, fetched from the database of the couriers (or by pre-synced local database so we are not dependent on external servers) and choose the office.
- Option 3 or 4 - he picks the city and writes his/her address (we need to check if a pre-synced local database is possible here too).
For all the options 1-5, the customer needs to write his phone number.

All this information is saved in the address section of the customers profile and new addresses can be added, modified or deleted. After the customer has chosen a delivery method, the system calculates the shipping cost and displays it to the customer, as well as adds it to the cart.

*Nice to have - next to all 5 options, an estimated price of the shipping is displayed, so the customers knows the cost and can choose more easily. (the APIs of the couriers offer such option)

Examples of such integration:

https://douglas.bg/ - magento based store, but great way of implementing it

https://kidso.bg/ - prestashop based store - almost as good as the first one

Back end (admin panel): In the oder edit section, the administrator must be able to do the following things:

1.Change the choice made by the customer from options 1-5
2. Edit the information from selected from options 1-4
3. Edit the description of the order (by default it should be the order ID)
4. Edit the packaging information (by default it is a box and this information is mandatory only for SPEEDY.)
5. Choose who is paying for the shipping (sender/receiver)
6. Edit How many boxes includes the order (by default 1)
7. Edit total Weight of the order (by default we take the calculation made by prestashop)
8. Choose if there is cash on delivery (by default: the amount of the order if the customer has chosen to pay cash on delivery or disabled when he has chosen to pay any other method - for example: bank wire, card, etc.)
9. Edit the sum of the cash on delivery, if it is active from p. 8
10. Choose if “check the package before opening” is allowed or not.
11. Choose if the package will be picked up from an address or dropped at the office of the courier (with their default options, set priorly in the setting of the module)
12. Ability to Generate Shipping label (fetched from the courier)
13. Add the tracking number to the order, automatically change the status of the order to “sent” and send an email to the customer
14. Option to Delete the generated shipping label, which will allow the administrator to start the entire process from the top.

Settings:
The option to have free delivery based on the total cart amount and customer group. For example - customer group 1 will have Free shipping for all options 1-4 for orders above X amount, but customer group 2 will have free shipping only for option 2 for orders above Y amount. Option 5 is always free for all customers for any amount. Free delivery option must be able to combine with additional discounts based on a cart value (set by the default options of prestashop).

API documentations:
Econt offer XML and SOAP/JSON (in Bulgarian)
API Links:
SOAP/JSON api - https://www.econt.com/developers/soap-json-api.html
XML api - https://www.econt.com/developers/xml-api.html#how-to
Speedy has REST api documentation in english. https://www.speedy.bg/en/system-integration
Related categories: PHP XML Prestashop JSON REST API