10. Bookings App
Date: 2024-06.23
Status
Accepted
Context
The project aims at making resource bookings a lot easier. It needs to be developed with little ressources and quickly. There is an existing booking process, that start with a wordpress form, a pdf, e-mail and a crm system and two spreadsheets. It is mandatory, that users can - in the new system - perform these (booking related) actions:
create a booking request for an organizations
cancel a booking
write a message for a specific booking
create multiple bookings for recurring meetings at once
Resource administrators on the other hand mus be able to:
confirm a booking request (or multiple bookings being part of the same recurrence)
cancel a booking request (or multiple bookings being part of the same recurrence)
Decision
We will handle all things closely related to a booking in the Booking App. This Booking app will specifically at least contain these models:
Booking (itself), which is the single most important Model of the whole application
RecurrenceRule, which can be linked from one or multiple Bookings, if they are part of the same recurrence rule
BookingMessage, which allows users to write Messages directly attached to one Booking
Consequences
The Bookings app is at the very heart of the whole application. Errors or integrity failures in the respective models and database tables might make the whole app useless and changes should be made very carefully.