makerspace / makeradmin

Stockholm Makerspace member administration and store.
https://docs.makeradmin.se/
21 stars 16 forks source link

Create and book courses within Makeradmin #221

Open nitro2k01 opened 2 years ago

nitro2k01 commented 2 years ago

This is a big, low priority, long term project concerning replacing (roughly) the role that Simple Signup has today. If someone wants to start implementing it, great, but as of writing this, there are more important things to improve in Makeradmin. The issue is posted here for inspiration. The specification below is not final. Feel free to comment and discuss below.

The feature would be a way for members to create a course event which is approved by the board, and which then allows booking, optionally with a payment.

Workflow

Creating a course event

Booking and paying

emanuelen5 commented 2 years ago

See #65

GenuineAster commented 1 year ago

I started looking into this yesterday, since our course booking flows aren't super great. As well as improving flows and making life easier and having more control over course bookings etc, I would like to improve our ability to book courses further in advance so our calendar looks more welcoming to users and possibly because having more courses booked further in the future may reduce contention on reservations. I'm just generally interested in improving this aspect of our workflows.

I agree with the suggested workflow, but will add one component to have this mesh more easily with #222: courses and events book time on the places and resources they use, so I'll add a small feature for defining physical places in the makerspace (rooms, areas and machines) which get booked by events/courses, and the machine booking system can then use the same system to avoid scheduling conflicts. Admittedly, this is not necessary to accomplish either goal, this is partially inspired by our conversation in the board of having "course days" but coordinating use of meeting rooms etc being difficult. We are starting to have more courses and events on weekends though, so I think this will be more relevant soon.

With this system we can also do things like marking machines as out-of-order, booking maintenance slots and non-course events that may render parts of the space unusable for others. We can then have a very rich calendar integration to keep members up-to-date, and have more visibility on space usability.

I quite like the idea of templating courses/events, that allows the board to approve prices etc but give course leaders free reign for scheduling.

Not committing to finishing this, but I'm at least making some progress :) Allegations of over-engineering warmly welcome.

nitro2k01 commented 1 year ago

221 and #222 are kind of overlapping and would ideally depend on each other, in that a course can book a room. I still filed them as two separate issues to avoid scope creep and encourage someone with limited time to start working on just one of them alone. I'd say #221 has priority. Whereas, reconsidering it, #221 might even be a slight anti-feature as a user facing feature (as opposed to an internal feature mostly used by the course booking system). The reason being that it might create the norm that rooms should/must be booked for normal use, and prevent people from coming to work on projects spontaneously. The exception being (like today) the laser cutter and maybe some other selected machines.

GenuineAster commented 1 year ago

Whereas, reconsidering it, https://github.com/makerspace/makeradmin/issues/221 might even be a slight anti-feature as a user facing feature (as opposed to an internal feature mostly used by the course booking system).

I guess you mean #222 here?

I think booking makes sense for "submit and wait" machines like 3D printers and laser cutters, just so people have an idea of availability since jobs to those machines can take a very long time, but we shouldn't normalize booking everything. Having a booking system at least allows people to be polite and social if they need to use a machine for a very long time (like.. printing a 10-part 3D print in parallel where each part takes 6 hours?) where they won't necessarily even be around to supervise. We should be careful with which machines we allow users to book though, and not expose every physical part of the space as bookable for the general membership.