5 ms·
The "invalid tracking number" thing drives me nuts. Both Fedex and UPS do it. How hard is it to stick a record in the database the moment a tracking number is g
by zootboy 3y ago
The "invalid tracking number" thing drives me nuts. Both Fedex and UPS do it. How hard is it to stick a record in the database the moment a tracking number is generated so that I don't get a "This tracking number is invalid" message? And it's not like it's invalid for a few minutes; I've had tracking numbers remain "invalid" for almost a day. Absolutely insane.
- Nextgrid 3y agoI bet the "invalid tracking number" is just a generic exception handler. The number is valid and exists in the DB, but some additional data that the tracking application is expecting to see isn't yet there, so it all explodes and you hit the catch-all exception handler.
- ericcholis 3y agoHaving worked a lot on the shipper side, it's possible that the package hasn't been picked up by the carrier yet. I've seen tracking numbers issued "client-side" that get re-issued or invalidated after pickup as well.
- zootboy 3y agoThat is a separate state in both of these systems, though. My complaint is that a perfectly valid tracking number isn't immediately in the "awaiting pickup" state after being generated by their systems, and is instead in the scary limbo state of "I dunno, that might be an invalid tracking number".
- chrisandchris 3y agoThat's exactly the issue mentioned in the post. Then show something like "not yet picked up" or "tracking number created" (a matching context for the user) instead of saying "we don't know this number" (technical context)
- concerned_user 3y agoHere in europe that is exactly what I see, a store will show me tracking number and if I click on it carrier website says - "Label printed" so you know it is not picked up yet. DPD carrier does it like that.
- keyringlight 3y agoIIRC there are systems to pre-generate tracking numbers that get allocated to and used by larger customers of couriers, so they can do more of the dispatch setup internally without thousands of "book this shipment and give me a tracking number" calls to the courier and they reconcile it later. That could at least get you to "this is a valid tracking number" stage, but before it's within the courier's logistics they've no way of knowing if it's active or what package it belongs to, which doesn't seem like any better of a customer experience. If you wanted to make it universal it'd be a higher hurdle for small volume shippers, and it wouldn't surprise me if there's challenges to be overcome with a large number of outstanding 'valid but not used' tracking ids.
- wolfgang42 3y agoA lot of the systems involved were designed in an era before ubiquitous connectivity, when electronic data transfer involved calling a mainframe over the phone with a modem or sometimes even mailing magnetic tape. In that world the answer to “how hard is it to stick a record in the database” is “surprisingly complicated,” so these systems tend to work on the principle of “very eventual consistency.” I used to work for a company that had been doing eCommerce since the early 2000s, so can give an example of the way this happened: FedEx had given us a prefix in their tracking number range. When we printed a shipping label, the server sitting in a corner of the warehouse just allocated a tracking number and added a note to the order information in its database. Since this is a local-only operation, the data transfer method to synchronize state between our server and FedEx’s was the physical package: they didn’t have any way of knowing that we had used any given number until the label showed up in their truck and got scanned in. (IIRC it wasn’t until the monthly billing run that the two databases were actually compared to reconcile any differences.) This sometimes interacted poorly with ship notice emails, since our system sent those as part of its day close batch job and it didn’t have any way of knowing whether the truck had come by to pick up any given package yet. Eventually we switched to a new warehouse management system that did make an API call out to FedEx as soon as it generated a label, but even then that transmission was best-effort only (to prevent an API outage from bringing down the entire shipping line). And there are a lot of legacy systems out there where integrating something like that just isn’t worth the effort versus answering a few extra emails from customers confused by the fallback message.
- fmajid 3y agoThe solution to that problem is to pregenerate tracking numbers that are then doled out by the remote system with intermittent connectivity. Or use a hierarchic numbering scheme.
- wolfgang42 3y agoA hierarchical numbering scheme is exactly the prefix system I just described. Pregenerating numbers still doesn’t solve the problem that the carrier doesn’t know when any given number goes from “generated, will be handed out someday” to “awaiting pickup.”