Bookable Storage
MVP
The user can view a list of numbered storage slots, with the status of each slot shown. This includes whether it's currently available or booked, and when the current booking ends.
From the storage slots list, the user can click to book an available slot for the standard booking period, if the user does not currently have the maximum number of concurrent bookings.
Separately, the user can view a list of their current bookings, and the expiry dates.
From the current bookings list, the user can click to release a booking they currently hold.
Stretch Goal 1
From the current bookings list, the user can click to renew a booking by the renewal booking period, if that booking is within the rebooking period, and the booking has not already reached the maximum number of renewals.
Stretch Goal 2
From the storage slots list, the user can click to book an unavailable slot if if it will become available within the Book Ahead Period. Their booking will be for the standard booking period, starting from when the current booking ends.
Stretch Goal 3
Show the list of all storage slots as a graphical representation of their physical layout in the space.
Config
With the above, the following are config variables that can be tweaked as we bed in:
- Standard Booking Period - the length of a booking (eg: 1 month)
- Renew Booking Period - the length of a renewal (eg: 2 weeks)
- Maximum Number of Current Bookings - how many slots a user can have at once (eg: 2 slots)
- Maximum Number of Renewals - how many times a slot booking can be renewed (eg: once)
- Renewal Booking Period - when the renewal option is available in relation to the end of the booking (eg: 1 week)
- Book Ahead Period - when the booking option is available on soon-to-expire slots, in relation to the end of the current booking (eg: 3 days)