One rule, changed with care.
A member asks for four places on a repair session that has three left, and the booking is accepted. This story follows the fix. Names, numbers and outcomes are invented.
Invented example · outcomes are hypothetical
The need
The workshop team wants one thing: a reservation can never exceed the places available.
What they should see: a clear message, and the booking not held. What they should not see: a changed confirmation message, or a slower page for people booking one place.
Where the change lands
Which responsibility changes
- Reservations
It owns the booking rule. A booking is accepted only when its places have been secured.
Changes- Availability
Already owns the count of free places, and confirms or refuses a request to set places aside.
Unchanged- Notifications
Still receives "booking confirmed".
Unchanged
Which interface matters
- Setting places aside
Reservations asks Availability to set places aside, and Availability confirms or refuses. Knowing how many places are free is not enough on its own.
Decisions
- Accept only secured bookings
A booking is accepted only when its places have been secured. The reviewer checks that two simultaneous requests cannot both take the last place.
Decided- Bookings already over the limit
Listed for the coordinator to resolve, not cancelled automatically.
Needs a person
What a reviewer needs to see
The rule, in plain words.
The last-place case, including two requests for the last place at the same moment.
Proof that the way Availability sets places aside works the same for every caller.
How the change is undone.
What the team might observe after release
Illustrative outcomes: fewer sessions over their limit, and refused bookings that give a clear message. The team might also hear questions about sessions that now show as full.
Some signs would prompt a rethink or a revert: people abandoning a booking after the message, or coordinators facing a long list of bookings over the limit.
Where this connects
Composition model
Why Reservations can change on its own.Delivery and assurance
How a change is checked and released.Contract governance
How a changing interface stays dependable.