Automatically cancelling of bookings

Hi there!
We have an issue with bookings. It hasn´t been a problem so far, but I think our users change a bit :wink:
However, there is the possibility to check the option “Limit booking exclusivity” in the “Your Space” set-up.
For us it would be helpful, if there was also an option to automatically cancel bookings if they do not show up after a certain time-span.
Background: We do not charge our students (at a Fachhochschule) for using our equipment, but it occurs more and more often, that they reserve a whole day (0-24 hours), but actually do need it just for several hours and therefore show up in the afternoon or something, whilst the machine is blocked. Somebody else could use it with the already implemented option, but if the original reseravtion shows up, he/she then cancells the ongoing print job or whatsoever, because it is seen as his/her right, since a reservation was made…
Best wishes.
Reini

2 Likes

Hey Reini,

that’s an interesting problem. What kind of machines are you letting people book? Have you considered restricting how long people can book a piece of equipment per day?

Well, Lasercutter, Milling Machines, … but in this specific case it´s about 3d printers. And because the print jobs take a while, it might be the case for automatically “switch off” because of not using it after the job is done, but still the reservation is there.
The max. duration thing - I´m aware of that, but this doesn´t help… We have all kind of print jobs. Research ones can take up to 2 days!

1 Like

Thanks for the details! I’ll let you know once we have a better solution for that.

In the meantime you could help yourself by automatically cancelling stale bookings via the API:

  1. You could periodically (eg. every 10 minutes) check for currently active bookings (via GET /bookings?state=confirmed&fromDateTime=<current_time>&untilDateTime=<current_time>).
  2. Then for each one that has been active for long enough: check the resource log to see if that member has shown up since the start of the booking (via GET /resource-logs?type=allowed&resource=<booking_resource>&member=<booking_member>&from=<booking_start>).
  3. If not, you can cancel the booking via PUT /bookings/<id> by setting state: 'cancelled'.
  4. Maybe send the member an email to explain why you’ve cancelled the booking.
1 Like