Restrict checking in to positions of certain categories
pc-coholic opened this issue · 11 comments
By allowing to restrict the checkin to positions of certain categories, we could limit accidental scans and invalidation of tickets.
Using the tickets of SHA as an example:
- Entrance will only be able to scan and invalidate positions from the Standard and Business category.
- Parking-Lot will only invalidate the parking-related stuff
- Merch will only scan Merch-Tickets.
Hi! I also thought about this idea. It could be done by recieving all ticket types via https://docs.pretix.eu/en/latest/plugins/pretixdroid.html#get--pretixdroid-api-(organizer)-(event)-status- and then sending the ticket secret together with the current "allowed" item ids to pretix, which then looks up the item id of the scanned ticket and returns an error to the app, if it is not an allowed one.
I'm unsure if this is something we shoud do in the app or rather in pretix itself. Tito has a concept of checkin lists that solves this easy and clean: https://ti.to/docs/checkins
Also, this prevents
That closing was unintentional, I'm on mobile right now...
@raphaelm Ti.to's concept sounds good, but whats about "synchronizing" between mutliple clients? Is that in their concept, too?
Well, currently our app is online-only. Offline or sync support might come later but are not touched by this separation into "lists".
The list-concept seems nice, too - but I feel like this would make it a lot more complicated to implement...
I'm not actually sure. For a simple start you'd need a "List" model with a n:m relation to products and a new 1:n relation from checkins to lists. Then, 1-2 forms and few changes to the API, while the app doesn't need.to know anything and the benefits are great.
On the other hand, doing this in the app results in state (i.e. a list of products) in the app, which we don't have yet and makes things conceptually more complicated (sync etc.). Also, it doesn't bring some very useful features that the lists would do.
Since we all agree, that this is something that should be handled in pretix-core and not the app, I think we might as well close the issue here and move it over to the pretix-issues for someone to take a whack at it?
Please feel free to reopen if you don't agree :)
Agreed :)
As an intermediate solution that could be later re-worked into the referenced check-in lists, this feature is now implemented as part of "app configurations" inside pretix, see: pretix/pretix@631cded
checkin-lists are there as well now :) https://pretix.eu/about/de/blog/20171204-release-1100/