Skip to main content
    Portfolio · Shipping & Logistics

    Multi-Carrier Shipping Platform

    Live FedEx, USPS and CanadaPost rates side by side, virtual warehouse addresses across the US and Canada, and labels, tracking and invoices in one system so the customer can see what shipping actually costs before they commit.

    PHPLaravelMySQLAWS
    Multi-carrier shipping platform showing live USPS, FedEx and Canada Post rates side by side and the virtual warehouse two-leg routing flow

    Project Overview

    Client
    A shipping and package forwarding operator serving US and Canadian customers
    Our role
    Design and build of the platform carrier integrations, rate engine, virtual address system, labels, tracking, invoicing and all three admin tiers
    Carriers
    FedEx · USPS · CanadaPost
    Footprint
    Two warehouse addresses in the United States, one in Canada
    Stack
    PHP · Laravel · MySQL · AWS
    Integrations
    FedEx API · USPS API · CanadaPost API · SendGrid

    The project

    Our client moves parcels for people who cannot simply click “deliver to my address” and be done with it high-value items going out for repair, orders from stores that will not ship to a particular location, packages crossing the US and Canadian border.

    We built the platform that quotes those shipments, books them, labels them, tracks them and invoices for them. Then we built the piece that turned it from a tool into a business.

    A shipping quote the customer can check

    The brief did not start with logistics. It started with an argument.

    Someone sending a surfboard across the country for repair is handing over something expensive and awkward to ship. When the delivery charge comes back as a single number with no working shown, a reasonable person wonders whether it is the real carrier price or the real carrier price plus a little extra. Often it is not a markup at all but there is no way to tell, and that doubt is corrosive when the item itself is worth a lot.

    The answer was not a better explanation. It was to stop quoting one price.

    The platform calls FedEx, USPS and CanadaPost at the moment of quoting and puts their live rates next to each other. Cheapest, fastest, cross-border whatever matters for that parcel. The customer picks. There is nothing left to dispute, because there is no single figure to dispute.

    When the store will not ship there

    Plenty of orders fail at the last field in the checkout. The store does not deliver to that state, that province, or across the border at all. The customer wants the item; the retailer simply will not send it that far.

    A virtual warehouse address solves that by splitting one impossible journey into two possible ones. The customer is issued an address at one of the operator's warehouses two in the United States, one in Canada. The store ships there, because that is the destination it already serves. The warehouse then forwards the parcel on.

    The customer can check what warehouse-to-door will cost before they order, so the decision is made with the full picture rather than half of it.

    Then the parcel arrives, and this is the part that matters. Warehouse staff check it in and record what really turned up its true weight and dimensions. That is the first moment the onward leg can be priced properly rather than estimated from whatever someone typed into a form, and for awkward items it is often a different number. The platform issues a firm delivery estimate to the final address, and the parcel moves once the customer accepts it.

    Nothing ships, and nothing is charged, on a guess.

    “Two shorter legs the carriers will accept, instead of one they will not and the second leg priced on the real parcel, once it is in the building.”

    How a shipment moves through the platform

    1. 1

      Enter the shipment

      Origin, destination, weight and dimensions entered once by the customer in their own login.

    2. 2

      Pull live rates

      The platform queries the FedEx, USPS and CanadaPost APIs in parallel and returns what each would charge for that exact parcel.

    3. 3

      Compare and choose

      Rates are shown side by side with service levels, so the choice is cost against speed rather than take-it-or-leave-it.

    4. 4

      Route through a warehouse, if needed

      Where direct delivery is not possible, the shipment is split into two legs via a virtual warehouse address.

    5. 5

      Check in and quote the onward leg

      On arrival, warehouse staff record the parcel's real weight and dimensions, and the platform issues a firm delivery estimate to the final address for the customer to approve.

    6. 6

      Book and label

      The carrier is booked through its API, and the shipping label is generated in the system, ready to print.

    7. 7

      Track

      Carrier tracking is pulled back into the platform, so the customer follows the parcel without leaving for three different carrier websites.

    8. 8

      Invoice

      The shipment is invoiced with the carrier charge and any handling fee itemized, and confirmations go out by email.

    What we built

    Three carrier integrations

    FedEx, USPS and CanadaPost, called live at quote time rather than read from a stored rate table that drifts out of date.

    Side-by-side rate comparison

    The same parcel is priced by every connected carrier, with service levels, so the customer chooses on cost or speed.

    Virtual warehouse addresses

    Addresses across two US warehouses and one Canadian, turning an undeliverable order into two deliverable legs.

    Indicative price check

    Warehouse-to-destination is priced online before the customer orders, so nobody commits to a route without knowing roughly what the far end costs.

    Estimate on arrival

    When a parcel is checked in, its real weight and dimensions are recorded and a firm onward estimate goes to the customer for approval — priced on the actual item, not on what was typed into a form.

    Warehouse check-in

    Staff log what physically arrived against the expected shipment, so a parcel is never forwarded before anyone has looked at it.

    Shipping labels

    Carrier-compliant labels generated in the platform and ready to print, with no re-keying into a carrier portal.

    Unified tracking

    Tracking from all three carriers pulled into one view, so customers stop hunting across carrier websites.

    Invoicing and email

    Invoices raised per shipment with charges itemized, and transactional email through SendGrid.

    Configurable handling fee

    A fee on warehouse-routed shipments, set in the admin panel and shown in the quoted total — the revenue line that makes the forwarding service viable.

    Three levels of access

    Super admin for the platform, a warehouse admin panel per location, and customer logins. Warehouse staff see only their own building's parcels.

    Three carrier APIs, one page that has to stay fast

    Carrier APIs are not uniform, and they are not always quick. Each has its own authentication, its own address validation rules, its own idea of what a service level is called, and its own occasional slow morning.

    Two decisions followed from that. Rate requests go out in parallel and are normalized into one internal shape before they reach the screen, so the customer sees a single comparable list rather than three vendors' vocabularies. And carrier calls run through Laravel's queue system, so one carrier having a bad day degrades that option rather than hanging the page for everybody.

    The same applies to failure. If a carrier does not answer, the quote returns with the carriers that did, clearly showing which one is missing rather than showing an error, or worse, silently showing an incomplete comparison as if it were the whole market.

    There is a related honesty problem on the warehouse side. Carriers price on dimensional weight as well as actual weight, so a light but bulky item — a surfboard being the obvious example — can cost far more than its weight suggests. Quoting that from customer-entered dimensions would produce a number that is wrong often enough to matter, which is why the firm estimate is issued at check-in, from measurements taken on the real parcel.

    Technology, and why

    TechnologyRoleWhat it does here
    PHP and LaravelApplicationThe whole application rate engine, virtual address system, labels, tracking, invoicing and the admin tiers. Laravel's queues and scheduling do the heavy lifting around carrier calls.
    MySQLDatabaseShipments, addresses, rates, labels and invoices. Transactional work where the record of what was quoted and what was charged must be exact.
    AWSHostingHosting and storage, including generated labels and documents.
    FedEx, USPS and CanadaPost APIsIntegrationsLive rating, booking and tracking. Three separate integrations, normalised into one interface.
    SendGridEmailTransactional email booking confirmations, tracking updates and invoices kept off the application server so deliverability is somebody's actual job.

    On the same platform, other shipping businesses

    Live multi-carrier rating, a virtual address layer and a configurable margin. Change who the parcels belong to and the same engine runs:

    Package forwarding and mail forwarding services
    Repair businesses that ship items in and back out again
    Cross-border retail and personal shopper services
    Third-party logistics and fulfilment operators
    Marketplaces that need transparent shipping at checkout
    Any e-commerce business quoting real carrier rates rather than flat fees

    Need carriers talking to your system?

    If you are quoting shipping by hand, pasting between carrier portals, or losing orders because a destination is out of reach, we have built this before. Tell us which carriers and which countries, and we will tell you honestly what is straightforward and what is not the carrier APIs differ more than anyone expects.

    Frequently asked questions

    What is a multi-carrier shipping platform?

    It is a system that connects to several shipping carriers at once and returns their live rates for the same parcel side by side, so the sender can compare and choose rather than accept a single quoted figure. This platform integrates FedEx, USPS and CanadaPost, and handles the rest of the job too label generation, tracking and invoicing so the shipment never has to leave the system.

    How does a virtual warehouse address work?

    The customer is issued an address at one of the operator's warehouses two in the United States and one in Canada on this platform. When a store will not deliver to the customer's own location, they ship to the virtual address instead, and the warehouse forwards the parcel on. The customer can check an indicative warehouse-to-door price online beforehand, and once the parcel is checked in at the warehouse a firm onward delivery estimate is issued from its real weight and dimensions, for the customer to approve before it moves.

    What happens when my parcel arrives at the warehouse?

    Warehouse staff check it in and record what actually arrived its real weight and dimensions. That is the first point at which the onward leg can be priced properly rather than estimated from what someone typed into a form. The platform then issues a delivery estimate to the customer's final address, and the parcel only moves once that estimate is accepted. Nothing is shipped, and nothing is charged, on a guess.

    Why compare carrier rates instead of quoting one price?

    Because a single quoted figure is unverifiable, and customers know it. When someone is shipping a high-value item such as a surfboard for repair, a delivery charge they cannot check reads as a markup whether or not it is one. Showing live rates from three carriers turns an argument about price into a choice between options, and the disagreement disappears.

    Can the operator earn revenue from the platform?

    Yes. A configurable handling fee is applied to shipments routed through the warehouses, covering the real work of receiving, storing and re-dispatching a parcel. It is set in the admin panel rather than hard-coded, and it is shown to the customer as part of the quoted total before they book.

    What technology is the shipping platform built with?

    PHP and Laravel with a MySQL database, hosted on AWS. Carrier integrations use the FedEx, USPS and CanadaPost APIs, and transactional email runs through SendGrid. Laravel's queue system handles carrier calls so a slow response from one carrier never blocks the customer's page.

    Who uses the different admin panels?

    There are three. The super admin panel runs the whole platform carriers, fees, users and reporting. Each warehouse has its own admin panel for the parcels physically in that building. Customers have their own logins for quoting, booking, labels, tracking and invoices. Warehouse staff see only their own site's work.

    Get In Touch

    Ready to Start Your Project?

    Let's discuss how we can help transform your business with our expertise

    Send us a message

    We respond within 24 hours

    Security check

    By submitting, you agree to our privacy policy. We respect your data.

    Quick Contact

    Email us

    info@flyitsolution.com

    Call us

    +91 9876613997

    Business hours

    Mon - Fri, 9AM - 11PM IST

    Our Offices

    🇮🇳

    Mohali

    Cabin 1, E 279 (Biggbang), Industrial Area, Sector 75, Sahibzada Ajit Singh Nagar, Punjab 140307

    🇺🇸

    Minneapolis

    Unit B11, St Louis Park, MN 55426, United States

    🇨🇦

    Moncton

    Gordon Street, Moncton, NB E1C 5K9, Canada

    Fast Response Guarantee

    We respond to all inquiries within 24 hours. Most queries get a response within 2-4 hours during business hours.