The original idea was to have an optional “end” field in addition to the “start”. But my thinking changed after seeing the need to not immediately make the pickup go away as soon as the time starts (see Delay pickup and conversations dissapearance by ~30 minutes · Issue #1172 · karrot-dev/karrot-frontend · GitHub) - so I implemented the pickup date field as a date range, so they always have a range (by default 30 minutes), which will make the handling for that simpler.
Now the question is how to display this, here’s two options:
But for pickups where you are supposed to actually turn up exactly on time, then is this confusing? I actually implemented it at the moment so if the duration is less than an hour then it shows the duration in minutes, otherwise show the end time.
I think displaying the start and end time would indeed be confusing if the foodsavers are meant to show up on time. I prefer the second way of displaying it but would add the small word ‘lasts’ or ‘takes’ in front of the ‘30 minutes’ to make it even clearer.
… and then only those with a duration have it displayed:
I also have in mind the generalization topic where “normal events” generally have a duration (e.g. a meeting, or a workshop) meaning you should be present throughout the whole time, whereas one of the “pickup with end date” use case is the “turn up at any time within this time frame” thing (more like opening hours), so need to keep it workable for both cases.
The case which I think is not very well handled by this mechanism is really long time frames, e.g. days, weeks, months (the end date will not be shown as I have it right now, only the time) - and there are some use cases that ask for that, but it might be they are not best represented by a pickup/event (e.g. the food baskets on foodsharing are kind of like a pickup, and kind of not). I think the long duration use case needs more thought (separately to this).
… and right now it’s specified as a fixed set of possible durations (e.g. 15 minutes, 30 minutes, 1 hour,…). I think it might be better so you can specify duration and/or end time and have them mutually update each other (google calendar works like this), but I’m hoping to get this version merged without implementing that
Edit: Oh, I was totally lying about google, it looks like this:
Also it was already mentionend i also think that especially new people might be confused that the timespan shown with time- time looks more like an invitation to come “whenever during that period”.
or i miss the option on how it is shown in the pickup creation
@adis I agree - as it’s implemented now it’ll only show it like that if you choose an end time.
If it does have an end time, we would have to rely on the context being clear, e.g. if it’s a meeting it probably means the duration… but if it’s not clear then writing in the description could clarify.
Hi. It’s a very nice and helpful feature. I’ve just had a bit of a play around this on DEV and like it very much. Is my understanding correct that a pickup won’t be removed from the pickup list until the end date?