Use Case: Bulk Actions on Collection Members (UC-504)
Use Case: Bulk Actions on Collection Members (UC-504)
Created: Mon 07 Jul 2025 (stub) Updated: Thu 25 Jun 2026 12:33:57 CEST — fleshed from the WS3-B “Samla” design as part of the use-case-catch seeding sweep Document Version: 1.0 Security Classification: Internal Technical Documentation Target Audience: iOS Developers, Product Author: Paul Wisén
⚠️ Draft — needs Paul’s confirmation of intent. Fleshed from the stated goals of the WS3-B design (
Plings-iOS/docs/specs/2026-06-22-ws3b-object-picker-bulk-actions-design.md) by the use-case catch (ADR-0046). The flow (how it works now) is documented atPlings-iOS/docs/flows/samla.md; this is the why.
Overview
A user can act on many objects at once rather than one at a time — select a set of objects and apply a single action (set location, set home, set status, …) to the whole set. The first implemented surface is Samla (bulk capture): a scan-driven selection that ends in a bulk location action.
User story
As a user with many physical objects, I want to record where a whole batch of things is — or belongs — in one sweep, so that re-shelving, putting things away, and stock-taking don’t cost one slow interaction per object.
Why it matters
- Speed at scale — Plings only earns its keep if digitising/maintaining a real inventory is fast. The target is ~1 object/second; a per-object dialog would make a shelf of 50 objects a chore. (The hard rule “a scan never blocks” follows from this — see ADR-0021.)
- Separates where it is from where it belongs — the dual current/normal model (ADR-0005) becomes usable in bulk: “everything I just scanned is here now” (current), or “this is their home” (normal), or both, applied to the set.
- Reusable primitive — a selection-of-objects is the basis for future bulk actions beyond location (status, “för salu”, named lists) — see ADR-0021.
Scope
- v1 (live): scan-driven selection (Samla) → three bulk location actions (set current / set home / set both) to one target container. The Samla review defaults to “Sätt både” (home + current) — in parity with the single-object Flytta flow (UC-303, ADR-0048) — so the same semantics repeat across both flows.
- Future: non-location bulk actions (status, sale, saved named lists), a navigator entry point (“Skanna in saker här”), a bulk API mutation. See the flow doc + ROADMAP Backlog.
Related
- Flow: Samla —
Plings-iOS/docs/flows/samla.md - Decisions: ADR-0021 (object-picker-first), ADR-0005 (current/normal)
- Adjacent use-cases: UC-305 Inventory Audit & Misplacement, UC-303 Move Between Containers