streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.9k stars 357 forks source link

Improve opening hours control (similar to maps.me UI) to support 'multiple' different opening hours #108

Closed CloCkWeRX closed 7 years ago

CloCkWeRX commented 7 years ago

Unfortunately the current UI makes a simple assumption of "All of the days selected are open for these hours"; which isn't the case in a lot of businesses.

maps.me gets this a bit more right (still can't handle restaurants open for lunch; closed; then reopen for dinner) by defaulting to 'all of these days are open all of these hours'; and lets you then add additional hours for specific days.

Probably a lot of effort; so a short term fix may be including an answer of:

westnordost commented 7 years ago

Did you try to add i.e. Mo-Fr 8:00-12:00 and then Mo-Fr 14:00-18:00?

StreetComplete will then add opening_hours=Mo-Fr 8:00-12:00,14:00-18:00

Am 6. April 2017 06:05:36 MESZ schrieb CloCkWeRX notifications@github.com:

Unfortunately the current UI makes a simple assumption of "All of the days selected are open for these hours"; which isn't the case in a lot of businesses.

maps.me gets this a bit more right (still can't handle restaurants open for lunch; closed; then reopen for dinner) by defaulting to 'all of these days are open all of these hours'; and lets you then add additional hours for specific days.

Probably a lot of effort; so a short term fix may be including an answer of:

  • "Multiple opening hours" -> Add note

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/westnordost/StreetComplete/issues/108

-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

penpendede commented 7 years ago

I first entered

Mo-Sa 08:00-13:00

and then

Mo-Fr 14:00-18:30

and got

Mo-Sa 08:00-13:00; Mo-Fr 14:00-18:30

Is that the way it is supposed to be? Wouldn't one rather this?

Mo-Fr 08:00-13:00, 14:00 - 18:30; Sa 14:00-18:30

This is the result after entering said opening hours for node 3363052691, see http://www.openstreetmap.org/node/3363052691

westnordost commented 7 years ago

@penpendede: Depends on how you enter it. You can enter it either way and both are semantically correct.

Am 6. April 2017 10:21:46 MESZ schrieb penpendede notifications@github.com:

I first entered

Mo-Sa 08:00-13:00

and then

Mo-Fr 14:00-18:30

and got

Mo-Sa 08:00-13:00; Mo-Fr 14:00-18:30

Is that the way it is supposed to be? Wouldn't one rather this?

Mo-Fr 08:00-13:00, 14:00 - 18:30; Sa 14:00-18:30

This is the result after entering said opening hours for node 3363052691, see http://www.openstreetmap.org/node/3363052691

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/westnordost/StreetComplete/issues/108#issuecomment-292103355

-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

westnordost commented 7 years ago

So, everything cleared up, right?

Sora1248 commented 7 years ago

I just ran into the same problem and as far as I understand a semicolon will override any previous definition for the given days while a comma will append them.

In this changeset StreetComplete created opening_hours=Mo-Fr 08:30-12:30; Mo,Th 14:00-18:00; Tu,We,Fr 14:00-16:30. This will look like this (notice the missing 08:30-12:30 timespan). One correct way would be opening_hours=Mo-Fr 08:30-12:30, Mo,Th 14:00-18:00, Tu,We,Fr 14:00-16:30 which looks like this. Now it includes the 08:30-12:30 timespan.

I made a little test after finding this with some made up times: screenshot_2017-05-06-19-40-42

Version 3 of this way contains the resulting opening_hours-tag. (Version 4 reverts the changes right away). The Tu-Th times are grouped correctly and the Mo-Fr time overrides everything at the end.

So either there is a bug when handling the opening hours or the UI is missleading.

westnordost commented 7 years ago

Hmm! It looks like I misunderstood a a detail how opening hours are defined! This'd be bad.

Please create a seperate bug out of it and I will flag it as high priority. This warrants a patch release.

westnordost commented 7 years ago

Ah whatever, I'll just reopen this bug, it is related

westnordost commented 7 years ago

It looks like this can be solved by just concatenating the rules with "," instead of ";" because all rules specified in the UI are meant to be additive.

westnordost commented 7 years ago

I am not usually this quick with fixing and releasing a new version, but this concerns the validity of data inserted into the OSM DB, so it has critical priority.

Sora1248 commented 7 years ago

Thanks for solving it right away! :+1: I'll have a look at it when it pops up on F-Droid.

ax3l commented 7 years ago

@westnordost I just got a remark to my newly added opening hours in changeset https://www.openstreetmap.org/changeset/48702644 on a supermarket https://www.openstreetmap.org/node/420205285/history

Are you sure the format in 0.10 is correct and the recommended way to add them?

The market opens Mo-Sa in the morning and Mo-Fr also in the evening. I (and the app) simply put Mo-Sa 07:30-12:00, Mo-Fr 15:30-19:00 and the reporter adjusted to Mo-Fr 07:30-12:00,15:30-19:00; Sa 07:30-12:00. Looks semantically identical to me, no?

westnordost commented 7 years ago

luschi already answered on the changeset: Both are correct. Which format is "simpler" is a matter of taste.

I usually write down opening hours the way it is mentioned on the opening hours plate.

But no need to rub his nose in it, peace.

ax3l commented 7 years ago

ok, that's also my understanding.

I still don't get why people get so obsessed with formatting the opening hours beyond semantic correctness. First sentence in all OSM manuals is OSM is a database and "do not optimize for a renderer". That also means to me that short and on the point data sets are preferred over longer formats. Dates and opening hours should not be printed out raw as in the DB anyway and are queried instead of printed in many ways how one would work with them ("open right now"; "open on date X and time t", etc.).

westnordost commented 7 years ago

Germans

ax3l commented 7 years ago

Haha, we all three are ... I guess. But I don't want to do wrong to luschi.

I usually write down opening hours the way it is mentioned on the opening hours plate.

Which still would result in Mo-Fr 07:30-12:00, Mo-Fr 15:30-19:00, Sa 07:30-12:00 instead of the slick Mo-Fr 07:30-12:00,15:30-19:00; Sa 07:30-12:00

;)