Hold Until Date Analysis

From NewHaven Software Wiki

Revision as of 22:41, 15 January 2014 by Russ horton (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Analysis for the pre-processing (early fulfillment) of scheduled future shipping orders.

Contents

Overview

Companies with heavy seasonal business may be taking orders well in advance of the holiday and, when the holiday is close to arriving, the user finds themselves with the monumental task of shipping thousands of packages a day where they otherwise would normally process 100 or less. The request from these companies is the ability to prepare these shipments weeks in advance, when they are slower, in order to even out the workload.

Current Challenges

The only way to manage future shipments in CMS today is to use the future fulfill option (which we call future ship.) It really is, however, a delay of the fulfillment. When a future ship order is fulfilled early, it alters the fulfill date and CMS expects that you want it to ship today. There is also no current facility to communicate a future pickup date to UPS Worldship or to delay the sending of shipping confirmation emails since CMS creates these as soon as the invoice is set as shipped.

Elements of the solution

  • Ability to schedule a shipment for the future
  • Communicate the desired pick-up date to the carrier via shipping integrations (Worldship and Dazzle at minimum)
  • Post-dating a future shipping date or delaying the setting of the shipped date so the shipped date reflects the date it will actually ship (pick-up date), not when the label is printed
  • Update packages with tracking numbers when labels are printed and have some visibility into the state the order is in (labelled but not shipped, and corresponding controls/lock-downs)
  • Post-dating shipping confirmation emails to match pick-up date (so post-dating is taking place on package and invoice)
  • Way to see, set, and alter the date in the CMS Manifest
  • Means of deciding which orders to release and when without losing the pickup date (date to ship)

Concerns

  • Does CMS need to enforce or warn about carrier's delayed pickup date limitations when releasing a HUD order early?
    • USPS only allows 7 days advance
    • UPS allows 6 months advance
    • FedEx - Freight must be today, Ground up to 14 days, Air services only can be delayed until next shipping day
  • Some indication to the operator that this has been processed/labeled so they do not edit
  • When is the payment processed? Any concern with authorization on release if shipping/capture occurs after the auth expires?
  • For an order that is labeled but not shipped, what is the recourse for an operator to modify or return the order (i.e. customer calls to alter gift message after label printed)
  • If we are allocating early to orders shipping in the future, there is a greater chance the item will not actually be on the shelf when it comes time to pick. Should any provision be made to explicitly handle this (removing the item from the order without restocking) or is it up to the user to simply do what they'd have to do today which is remove the item from the order and manually adjust stock (and contact the customer)?
  • For items that have fixed availability (the primary impetus of wanting to allocate at the time of order) should they be set as discontinued to disallow back orders or do we need a new flag that doesn't set it as discontinued but also does not allow back ordering?

Ideas for the Solution

One possible way to handle these orders could be with a new Hold type called Hold Until Date (HUD) much like our Hold Until Complete (HUC) feature. These would be manually placed on HUD (vs HUC which CMS can automatically-set). This gives us the following benefits:

  • Exposure that the order is being held until a certain date
  • Allocation for future ships
  • Means of identifying and reporting on orders through FulfillMan>Holds
  • No -2 fulfillment invoice
  • Released from Hold Manager (does release change/update any dates on the order, invoice, package, payment, etc?)
  • Integrations
    • Mods to our XML integration to pass the pick-up date which we know to work
    • Mods to UPSPackages to include the pick-up date for keyed imports (must be tested although we know Worldship can be set in a pick-up date mode so may not be needed)
    • Endicia - TBD
    • FedEx - Possibly not required for a phase 1 solution
  • Like HUC, HUD would not allow for BO items, future ship items, or multiple invoices (or does it need to?)

Analysis

Proof of Concept

Ideas to test in special builds to help expose all needed aspects of the solution.

Step 1 - Label <> Shipped

In CMS disconnect any logic that would automatically set a shipped date based on the creation of a label or updating of a tracking number. We'll want to separate the two so a label can be generated without posting as shipped.

  • How should this be automated? Possibly we set as shipped if label processed date <= date to ship otherwise leave to other mechanism to set as shipped (Unshipped, EoD update from Worldship, or ?)

HUD

Explore the "Hold Until Date" idea. Order could be a mix of HUC and HUD and could only fulfill if both were met. Possibly an HUC fulfillment would be allowed to occur but remain on HUD if the date has not been met. How then are HUD's released and how would we handle an early release so its original date could be retained for use in passing through to the shipping integrations for Pickup Date. Seems to require a new HUD tab in Fulfillment Manager. Like Future Ships, seems there should be an override option. Could future ships and HUD be merged and released from the same list (like we do for HUC) or should they remain separate?

Use Cases

List of user stories/cases to better understand what they are trying to accomplish and expected behavior:

C.River

L.Orchards

Personal tools