Every state one copy can be in
Four states. Everything in the product is a view of this.
1
On the shelf
in the box, take it
Out a long time
same as out, but red
Three stored states and one computed from a date.
2
What moves a copy, and who can do it
passerby, no account
curator, signed in
the system
curator
nothing → on the shelf
adds a donated book, scanning or typing
↓
passerby
on the shelf → out
scans the lid code and checks it out
↓
curator
on the shelf → out
notices the gap on the shelf, taps mark out
3
↓
system
out → out a long time
just the date passing. no email, no status write
↓
passerby
out → on the shelf
taps I put it back, from the receipt or the lid code
↓
curator
out a long time → gone
decides it is not coming back. the only judgment call in here
↓
curator or passerby
gone → on the shelf
it turned up. no re typing, no new row
Transitions I left out
out → gone, automatically
A timer has no idea whether a book is at a cabin or in a recycling
bin, and the curator often actually knows. Nothing in this product
changes a status on a schedule.
4
on the shelf → reserved
Cut. A copy anybody can walk up and take cannot be held for somebody
who is twenty minutes away, and promising otherwise would be the
product's first real lie.
any state → deleted
Cut. Gone already does the job and keeps the history, which the
log depends on.