Let's talk about....Shipping!

  • This post reminded me of a big frustration I have had with the PS shipping system. By extension this also means the 30bz shipping system as it is so far unchanged.

    The problem is that if you have two or more items in the cart that do not share any common carriers the checkout page presents odd combinations of shipping options and gives no indication of what they are. It just gives one or more prices.

    In some cases the cart will just say “no carrier available” and the customer can’t check out at all!

    A lesser problem (probably not a problem at all in many cases) is that if only one carrier is shared between all items in the cart then that will be the only shipping option presented to the customer.

    Not being able to effectively combine carriers is a problem when a shop wants to offer free shipping on some items but billed shipping on other items, or if they have some items that require special shipping (oversize etc).

    As an example a shop may have “Express Mail Free” and “Express Mail Billed” carriers, along with “Registered Airmail Billed”, “Economy Airmail”, and “DHL Oversize”.

    If we are doing automatic combinations my suggestion would be something like this:

    1. Assign a “Speed Grade” (SG) to each carrier. The ability to do this already exists in PS / 30bz. Using my examples from above:
      DHL Oversize: SG 9
      Express Mail Free: SG 7
      Express Mail Billed: SG 7
      Registered Airmail Billed: SG 5
      Economy Airmail Billed: SG 3

    2. Have a new page in 30bz where names (and maybe descriptions) can be assigned to different Speed Grades. Each Speed Grade gets one name, and one description.

    3. During the checkout process, carriers get grouped by Speed Grade and the names/descriptions assigned in #2 are shown to give information to the customer about what the shipping options are.

    Example 1
    Item 1: Carrier “Express Mail Free” (SG7)
    Item 2: Carrier “Express Mail Billed” (SG7)

    These two different carriers share the same Speed Grade and would therefore be automatically combined and presented as a single shipping option using the name assigned to that Speed Grade. The total cost of the two carriers would be added together to get the shipping cost.

    Example 2
    Item 1: Carrier “DHL Oversize” (SG9)
    Item 2: Carrier “Express Mail Billed” (SG7) / Carrier “Registered Airmail Billed” (SG5)
    Item 3: Carrier “Express Mail Free” (SG7)

    Once we get into more complicated combinations it becomes more difficult to effectively combine shipping options.

    My suggestion would be to build a list of all the available speed grades for items in the cart. Above would be SG5, SG7, SG9. Then build shipping options based on each Speed Grade.

    If an item does not have a carrier for a given Speed Grade then take the next HIGHER available speed grade. If there is no HIGHER speed grade then take the next LOWER speed grade.

    So for the above sample cart we would have shipping options:

    DHL + Express Mail (SG9 + SG7)
    DHL + Express Mail + Registered Mail (SG9 + SG7 + SG5)

    Prices would be calculated on a per-carrier basis and then added together for each option shown to the customer.

    Example 3
    Item 1: DHL Oversize (SG9)
    Item 2: Express Mail Free (SG7)
    Item 3: Express Mail Billed (SG7)
    Item 4: Express Mail Billed (SG7) / Registered Airmail Billed (SG5) / Economy Airmail Billed (SG3)
    Item 5: Express Mail Billed (SG7) / Registered Airmail Billed (SG5) / Economy Airmail Billed (SG3)

    Combinations would be:
    DHL + Express Mail (SG9 + SG7)
    DHL + Express Mail + Registered Airmail (SG9 + SG7 + SG5)
    DHL + Express Mail + Economy Airmail (SG9 + SG7 + SG3)

    Sometimes a given combination won’t make sense. For example in Example 3 it’s very possible that the cheapest option will be the fastest option, DHL + Express Mail due to the way the carriers are assigned. However this system would still be, IMO, a big improvement over the existing system that can’t handle combining carriers at all.

    Thoughts? Ideas?

    (Edit: 1,2,4… I need to learn to count apparently!)

  • Another thought:

    Currently for carriers we can set maximum dimensions and a maximum weight. However it would be fantastic to also be able to set a maximum PRICE.

    In the USA, for example, First-Class Mail International “Small Packet” items can only be valued up to US$400. Items more expensive than $400 must be sent using a different service. Japan has a similar limit, and I suspect many (perhaps all) other countries do, too.

  • It’s hard to understand your example, maybe I had to read it twice ;) Isn’t it possible to assign priority to every carrier, and if customer buys two products one with higher priority and one with lower, automatically the system to assign the carrier with higher priority.
    Or maybe you don’t want to combine shipping?

  • Coming back to this topic tonight as I am going to start working on some shipping options for my dev shop again.

    It really would be ideal to be able to set a “maximum order value” for a carrier, for a bunch of reasons.

    As mentioned above, in some countries there is a maximum price limit for First Class International (“small packet”) items. The USPS limit is $400. Japan doesn’t limit small packet item value but only offers up to 6000yen (~$60) insurance for these items. Other countries have various limits, too.

    Another good example is that if a purchase exceeds US$750 (total cart value) then PayPal requires signature delivery confirmation (search for 750 to find the relevant section.) Many inexpensive shipping options don’t offer signature-on-delivery so they should be limited to orders of $750 or less. Currently there is no way to do this in PS or 30bz.

    So there are plenty of examples of why this would be a good option to offer, assuming it isn’t an insane amount of work to implement.

    @mdekker, is a “maximum order value” for each carrier something that could be done without causing problems or creating a huge amount of work?

  • If you create a carrier and use billing according to total order value then you can disable the carrier if the order is out of range. Is that what you are after?

  • @Havouza said in Let's talk about....Shipping!:

    If you create a carrier and use billing according to total order value then you can disable the carrier if the order is out of range. Is that what you are after?

    Pretty much, yes.

    When you create a carrier you set the maximum package size and the available weight range. I suggest adding an available order price range as well, or at least a maximum allowed order price. If a customer’s cart exceeds the allowed maximum price then the carrier is not offered at checkout.

    This already happens if the maximum allowed carrier weight is exceed or if the maximum allowed package size is exceeded. As such adding a maximum order price doesn’t seem (on the surface…) like it should be all that difficult to do.

  • That you decide yourself. Either calculate on wieght or price

Log in to reply

Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.