content: model reservations — check out what is ready, and let kits answer a reservation - #324
carlosvirreira wants to merge 3 commits into
Conversation
Triggered by: - Shelf-nu/shelf.nu#3057 - Shelf-nu/shelf.nu#3063 A check-out now needs at least one item to go out and nothing more, so an unassigned model reservation no longer blocks it, and a reservation stays adjustable while the booking is Ongoing or Overdue. Corrects two pages that told readers the opposite.
Preview deployment |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe documentation describes kit members settling model reservations and the fulfillment scanner accepting kits. It also covers partial checkout with unassigned reserved units, reservation adjustments, and later assignment or release. ChangesModel reservation documentation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Merge Risk: ⚪ Minimal · up to The booking and reservation guidance is consistent across the supplied pages; no identified issue prevents merging after normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
A fleet you can hand out any unit of is the audience this page is written for, and the page never mentioned book by model. #3057 is what makes the honest version of the claim possible: an unfilled reservation no longer stops the booking going out.
|
Added one more page after opening this: Reason: that page is written for exactly the audience book-by-model serves — interchangeable fleets — and it never mentioned the capability at all. #3057 is what makes the honest version of the pitch possible, because "a unit you cannot find does not stop the job" was not true before it. Page count in the body above is now: 6 modified, 1 created. |
Triggered by: Shelf-nu/shelf.nu#3071 An asset now discharges a reserved model unit whether it is picked loose or arrives inside a kit, at most once per booking. Booking rows that answered a reservation carry a "Fulfils <model>" chip, and the Fulfil reservations & check out scanner accepts kit scans on the web and on the phone instead of refusing them. Lands on this branch because it corrects a line this PR already edits: require-explicit-check-in-and-check-out.mdx still said the fulfil scanner refuses kits.
|
Added a second product change to this branch: shelf.nu#3071 — kits fulfil model reservations (merged and deployed 2026-09-23 07:00Z). It belongs here rather than in its own PR because it invalidates a line this PR already edits. What changed in the product, and where it is written up:
Files added to this branch: No alternatives page was touched: none of the 22 mentions book-by-model today, and #3071 completes an existing capability rather than creating a new competitive claim. |
Triggered by
Both are LIVE on the web: the
🚀 Deployrun for5f7fbbc1asucceeded on 2026-09-22 06:21Z, and both merges are ancestors of it.Product change summary
A check-out now needs at least one item to go out, and nothing more. A model reservation nobody has assigned yet no longer refuses the whole booking — Shelf names the open units in a confirmation, checks out what is ready, and leaves the reservation open on the ongoing booking. Separately, a reservation's quantity is now editable on Draft, Reserved, Ongoing and Overdue bookings from a new Adjust quantity dialog, with a one-click Release the N still unassigned. The floor is unchanged: a reservation never drops below the units already assigned to it, and a reservation with assigned units is reduced rather than removed.
Content changes
Factual corrections
content/knowledge-base/adding-assets-and-kits-to-a-booking.mdx— said "a booking cannot be checked out while any reservation is outstanding". That is now false. Replaced with the pill's real meaning plus links to the two new sections.content/knowledge-base/require-explicit-check-in-and-check-out.mdx— said fulfil-and-check-out "refuses while a model reservation is still unassigned". Removed that clause (kits are still refused on this path — verified infulfil-and-checkout.server.ts) and added what the rule actually insists on: a scanned item, with the note that scanning an item already on the booking now checks it out instead of being dropped as a duplicate.Content enhancements
content/knowledge-base/adding-assets-and-kits-to-a-booking.mdx— two new sections: Adjusting or releasing a reservation (the dialog, the floor, reduce-vs-remove, why a reduction skips the availability check, and the knock-on that an unreduced reservation keeps holding units against overlapping bookings) and Checking out while units are still unassigned (the confirmation copy, what is still refused, and which screen the Check out button opens per status).content/knowledge-base/progressive-checkout-of-bookings.mdx— new Checking Out With Reserved Units Still Unassigned section, cross-linked to the above.content/features/bookings.mdx— Book by Model now says a missing unit does not hold the booking back, and that reservations stay adjustable while the booking is live.content/glossary/asset-models.mdx— same point, one paragraph, linked to the KB.New content
content/updates/check-out-what-is-ready-when-units-are-unassigned.mdx— changelog entry covering both PRs and the explicit-check-out duplicate-scan fix.Review notes
checkout-dialog.tsx, "Release the N units still unassigned" and "N of M units assigned so far" fromadjust-model-reservation-dialog.tsx, the menu labels frommodel-request-row-actions-dropdown.tsx, the Models tab row frommanage-model-requests.tsx, and the status set fromcanEditModelReservationsinutils/booking-model-requests.ts.688f89a1on 2026-09-21, so the phone's confirm step is live and the changelog says so. #3063's companion half (the quantity stepper'sminfloor) is not in that OTA, so the changelog says only that the server rule now lets the app's existing model manager work on Ongoing/Overdue bookings, and that the on-screen floor follows in the next phone update.content/updates/model-reservations-countable-and-fulfillable.mdx(2026-08-12) still contains "an outstanding reservation blocks check-out". It sits inside a "Until now…" paragraph describing the state at that date, so it was left as the dated record it is rather than rewritten. Say the word if you would rather it carried a note.Impact scope
Generated by Shelf Content Intelligence — PR→Website Sync
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Bug Fixes
Documentation