Pacejet

- CASE OF STUDY -

Pacejet service is an enterprise multi-carrier shipping software our client uses to manage his stores' shipping of orders.

What is Pacejet

Pacejet provides a list of carries the client wants to use for his stores and calculates live shipping rate quotes using order data.

MPS developed the private Custom Shipping Rates Integration Shopify application for 5 client’s stores. The application outputs on Shopify Checkout page calculated live shipping rate quotes from Pacejet in additional to flat rate shipping prices on lightweight products from the Shopify store. Embedded Shopify application integrates Pacejet functionality to the Shopify Checkout page via API, allows the client to manage dimensions of each product variant item, carrier groups, and custom box in an easy way.

Pacejet integration schema

The Project

Business Situation

During the first discussion of the project requirements the task of our team was to add the ability to manage dimensions of product variants, send an order, buyer data and store address to Pacejet and output calculated by Pacejet live shipping rates to Shopify Checkout page.

The client confirmed with Pacejet that they return calculated shipping rates less than in 10 seconds (Shopify requirement).

A great advantage of working with the client is his professional technical background and skill to describe requirements in an accessible and understandable way for business analytics.

During the development process, we proposed to add the search of variants to the application and the client requested to add import/export of CSV file with dimensions of product variants.

We proposed and implemented a new algorithm of interaction with Pacejet when there was found Pacejet didn’t return calculated shipping rates in 10 seconds Shopify limit. The carriers the client uses were divided into groups and requests to Pacejet to calculate rates were sent for each group in parallel to reduce the time of Pacejet’s answer.

Later the client requested to use different sets of carrier groups in different stores. We proposed to add the ability to choose needed carrier groups to the application and implemented it.

When the application was ready the client requested to add the dimensions and weight fields for cases. The application should allow us to manage them and send to Pacejet for ordered products. Pacejet was going to add functionality to calculate rates depending on the number of product items - when a number of products corresponds to the quantity in a case then data of case are used to calculate shipping rates.

The client requested to add address validation when the application was installed to 5 client’s stores. And to send to Pacejet different flags depending on the address is Residential or not.

Challenges
  • We needed to develop and implement the new algorithm into the ready code to reduce time of receiving calculated shipping rates from Pacejet because Pacejet was not able to reduce time on their side.
  • Each time the application was ready to be deployed to Live client’s server - the client added new requirements to implement.
  • Delay which was caused by the Pacejet slow communication so we had to wait for their answers to continue the work.
  • A lot of time was spent checking that clients issues were caused on Pacejet side.
  • Initially, the Client was going to setup server and install SSL certificate himself. We have waited for a long time for this to happen. As a result the Client agreed to involve our DevOps engineer.
Work Process

As we got fully described requirements and the app should go live when it’s absolutely ready - we have decided to use waterfall model. We used JIRA for project management and Confluence for collaboration on the project.

The Fixed Price pricing model was chosen for the working process. The price was updated when new requirements were added.

The Solution

Before proposing solution to the Client we analyzed the project needs from features and technology perspectives and estimated an approximate cost. After that, we sent a proposal that completely satisfied the Client's needs. Next, we carried out a whole complex of work on project management, business analysis for new features, frontend, backend development and testing. 

Now we:

  • develop new feature and perform regression tests
  • work closely with our Client to define what side issue they have.
  • Project Manager/Business analyst 
  • Frontend/Backend Developer 
  • QA Engineer 
  • DevOps
Team

Technologies

  • PHP
  • MySQL
  • Linux
  • Apache/Nginx
  • Shopify API
  • HTML
  • CSS
  • Pacejet API

Goals Achieved

ResultsResults
Results
Results
  • The application development
  • New features implementation
  • App server setup

Pacejet Features

Carrier groups

Store owner can choose carrier groups that will be sent to Pacejet to calculate shipping rates for each store.

Checkout page

The application outputs calculated live shipping rate quotes from Pacejet in additional to flat rate shipping prices on lightweight products from Shopify store.

Address validation

The application will check address on Checkout page and will send to Pacejet different flags depending on the address is Residential or not.

Search by fields
Product ID Product Name Variant ID SKU
Managing product variant/case dimensions in real time:
Length Width Height Weight Product quantity a case
Variant list
The application keeps the list of variants up to date with Shopify in case if product/variant was added/removed, price/weight/SKU changing
Export/Import product variants to/from CSV file
Export of CSV file with current variant dimensions Import of CSV file with updated variant dimensions
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More