We have a WordPress ecommerce website running woocommerce at phspallet.com. This is a multisite install of WordPress hosted with Flywheel (www.getflywheel.com) comprising 7 other websites (those are linked to from the homepage). This website is the only one with true ecommerce allowing purchases.
We need to integrate Woocommerce with a freight shipping tool known as CarrierRate 2.0 (https://carrierrate.globaltranz.com/). Freight shipping is for large, heavy or unusual objects that can't be shipped by regular mail and must be placed on a truck.
Using API documentation provided by CarrierRate (attached to this job), we need the website to request shipping quotes during checkout, which the consumer can then select and pay for within woocommerce to finish their order. Once the order is completed, the details should appear in the shop's CarrierRate dashboard so we can ship it out.
Here is a similar plugin built to query a different Freight API, which you can use for reference:
If the interface works very much like the above plugin, we would consider that a success. The user adds products to their cart, and then when they enter their shipping address during checkout, shipping options are fetched via the API. The user selects a shipping option, which updates their total order price, and they complete their purchase. Once the purchase is completed, the shipment details are sent to the site admin's CarrierRate account via the API.
Shipping must be calculated based on the product dimensions and weight. However, we have one other unusual requirement. Some products are stackable. One product may be 6 inches tall, but two would be 8 inches instead of 12, for instance. So, we need to add an additional product dimension field called "Stacked Height." If the user buys 10 of a stackable product where Height = 6 inches and Stacked Height = 2 inches, the total height would be 1*6 + 9*2 = 24 inches (that's the height of a single unit, plus all other units using their Stacked Height). If no Stacked Height is specified, the normal product dimensions should be used.
Project budget is to be determined.