So we have Reservation Stages, and each reservation normally follows a set lifecycle pattern, simple enough.
But there is a lot going on behind the scenes that may not be not so obvious.
This has implications for making changes and correcting mistakes
check out stamp
|Item||Ready (or for other reservation?)||Ready (or for other reservation?)||Checked Out||Ready (or for other reservation?)|
|Planner||check out stamp(s)||check in stamps|
|check in stamps|
All of this means that a change of stage (e.g. a correction) might provoke 3 things to happen;
- change the Reservation Stage
- change the Item(s) Status(es)
- change the item availability (re-book any bikes that were checked in early)
- But here have a choice. What if a partial check-in occurred. Save or delete?
- when un-cancelling you may also want to re-price.
It also means you might not be able to go back, because bikes may have been taken by someone else in the meanwhile.
The really dangerous one is to check in a reservation (or bike) by mistake. Because it causes that bike(s) to be made instantly available to others.