First, let me commend you on a well designed and useful app. I can (at least partially) appreciate the complexity of your work, with the many, many data sources and diverse set of users.
Second, I'll list some specific conditions that exist now. They are useful for understanding a few requests I will make at the end.
- "Estimated Delivery Date" (EDD hereinafter) apparently is "User EDD." Because all delivery dates are estimates, what really matters is the source of the estimate. Thus, assuming the info comes from the "Provider," the "Expected Delivery Date" (ExDD hereinafter) is really an estimate also.
- "Providers" (sellers and couriers/shippers) often provide vague or no delivery date estimates (ExDDs?). "Within 5-35 business days" is far from a specific ExDD.
- In many cases these days, shipments are carried by multiple couriers, one handing off to another along the way. And in many of these case, there is no ExDD provided by the courier during, say, the first and longest leg of the trip (say, from China ;-). Sometimes status is provided for the first time by the last courier, sometimes on the day of delivery itself.
- This situation increases the value of User EDD.
- When an User EDD is used to show an interval of X days or Y weeks until delivery, as time goes on and the date passes, in the app the number of days/weeks abruptly changes to a different greyed out value, the number of days since the "Created date" maybe? Usually this is a larger number. And since the number seems to be used for sorting the list, independent of what the number is based on, the record then jumps to the bottom of the sorted list. The value of the User EDD is suddenly no longer utilized.
- For some "Providers," perhaps only USPS, Shipping date can be entered by the user, but that data does not seem to be used for anything displayed to the user, except in the data entry form.
So, not to say it is not a great app. It is. But here are some related requests that would enhance usability with (hopefully) little new effort:
- Try to prevent the User EDD from being null. If the User has not entered an EDD, set that value to the ExDD, if that exists.
- Give the user the option of always displaying "days until delivery" number, even if it becomes a negative number. A negative number would preserve the sorting order, plus it would make it evident to the user that their estimate needs to be revised. Abruptly changing from: "days until delivery" based on User EDD, to: "days since record was created" based on Created date... is confusing and perturbs sort order prepared by users.
- Give the User an option of having the Shipped date displayed, if the date is known.
- Maybe give the user the ability to provide a Shipped date. Seeing shipped date info helps the user make better observations about things like possible problems, like: 'not shipped/out of stock' conditions, versus unexpectedly long shipping durations. Sometimes a long delay has nothing to do with courier performance (though it usually does).
- In cases where the user knows in advance a "Provider" will not providing status, could you create a placeholder or dummy provider? This would allow the user to keep manually tracked items sorted in their list. There would be no processing delay trying to look up status for these records.
- If it's important, you could (continue to) use font shading to indicate some characteristic of the data, e.g. differentiate between the days until delivery is based on Provider or User estimates.
Thanks in advance to anything you can do to address these requests.