Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ETA in API result is off by 23+ hours because of time zone error #29

Open
ryancwalsh opened this issue Jan 1, 2017 · 6 comments
Open

Comments

@ryancwalsh
Copy link

Hi,

The UPS tracking page for 1ZY11A540340532092 says (or said):

Scheduled Delivery: Friday, 12/30/2016 (Estimated Delivery Time: 2:15 P.M. - 6:15 P.M.)

Converting the latest datetime in that "Estimated Delivery Time" range to UTC makes it 2016-12-30 23:15.

If you look at https://api.goshippo.com/v1/tracks/ups/1ZY11A540340532092, the ETA says "2016-12-30T00:00:00Z". Since you are using Zulu time, which is UTC, your API should instead display the ETA as 2016-12-30 23:15.

Your API currently seems inaccurate by 23+ hours!

Am I misunderstanding something? I personally can't use an API that could be off by a whole day. I doubt others could either. Thanks for your help and for your cool service.

@smkrz
Copy link
Member

smkrz commented Jan 5, 2017

Thanks for reporting this issue! Our team is actively investigating the UPS tracking timezones. It does look like the API incorrectly returns UTC in some cases, instead of the corresponding locations' local timezone. We have prioritized this as a high priority bug and will provide updates here as soon as we know more.

@aschmoe
Copy link

aschmoe commented Jul 13, 2017

@simonkreuz has there been any progress on this issue?

@mootrichard
Copy link
Contributor

So we have plans on improving the datetimes that are being returned for tracking events soon. We are just wanting to solidify instances where a carrier doesn't provide any location or timezone information for a given event, and how best to clarify that via the API.

We're always happy to hear input on this as we're working or improve what you get back.

@jlyon
Copy link

jlyon commented Nov 22, 2017

Is there an update on this one?

@smkrz
Copy link
Member

smkrz commented Nov 22, 2017

Yes - we've made a lot of progress! As an example, try using UPS tracking number 1Z306A440213992774. The Delivered event, for instance, is shown by UPS as "Tuesday, 11/21/2017 at 7:19 P.M" in San Francisco CA. Our API now correctly returns this event with a status_date of 2017-11-22T03:19:00Z.

Some additional notes:

  • Each carrier has a different way of handling timezone & location information. FedEx, for instance, always returns the time in UTZ, which is great. UPS and USPS always return local time. To get to the accurate timezone we look at several datapoints, including the location returned (e.g. city & zip). The more information we get the better.
  • In some cases, based on the data provided by the carrier, it's not possible to determine the timezone. We use additional logic to infer the timezone, if possible. However, there will be some cases that don't have an accurate timezone.

@jlyon
Copy link

jlyon commented Nov 23, 2017

Thanks for the update @simonkreuz!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants