Treat rebooking as a new decision
Synthetic rule: a cancelled booking cannot become active again. Rebooking creates a new ID and evaluates the new start time against the package expiry. An old cancellation may have returned a session, but that does not extend its usable period or guarantee a replacement place.
| Record | Start or boundary | Package effect | Decision |
|---|---|---|---|
| B-R0 cancelled | Original start 10 Oct 18:00 | 1 returned to P-R | Keep cancelled |
| P-R | Unusable from 12 Oct 00:00 | 1 available until boundary | Check replacement start |
| B-R1 proposed | 12 Oct 09:00 | Expired for new start | Reject package allocation |
Link the replacement without reviving the original
- Read the old cancellation result and the returned session source.
- Evaluate the new start, package validity and booking conditions.
- Create a replacement only when eligible; record the old booking as its reference.
If the customer chooses another valid package, record that allocation explicitly; do not silently switch it.
Can the returned P-R session fund B-R1?
Show the worked answer
No. B-R1 starts nine hours after the unusable boundary. The return restores quantity only.
The old cancellation and new booking remain separate records, making later attendance and session usage explainable.