Email procedure (beta), WorkFlow update

This commit is contained in:
2026-09-02 11:44:54 -05:00
parent 826a70bdf6
commit edd5f2a886
12 changed files with 450 additions and 8 deletions
+46
View File
@@ -150,6 +150,52 @@ that doesn't go through this shipment/label flow at all - those
tickets just won't have tracking numbers pulled, which is expected for
now, not a bug. Flag it when you're ready to handle it.
## Packing: serial numbers and marking Done
Reflects your actual workflow: staff enter serial numbers (mostly via
**barcode scanner**) and mark a ticket packed as devices go into the
box - this is the beginning of what eventually becomes the Ship Sheet,
built directly into the app instead of a separate spreadsheet.
Select a ticket and click **Pack Ticket**:
- **Suggested fields, not a fixed schema.** Device types and their
field sets vary a lot by company and by kit (confirmed against your
real Ship Sheet - Oak Street tracks OptiPlex/Laptop/Phone, Signify
tracks iPad/Spiro/Laptop/Phone x2), so hard-coding columns per device
type would fight the "versatile" requirement. Instead, fields are
suggested from keywords in the ticket's line items
(`DEVICE_FIELD_SUGGESTIONS`) - a starting point staff can always
extend with a custom field. A "Shipping - Return Label X" line item
is deliberately excluded from matching (tested against this - it
describes a label deliverable, not an actual second device).
- **Built for the scanner, not around it.** Each field's Enter key
(which a scanner sends automatically after scanning) jumps focus to
the next field - scan straight through a device list with zero mouse
clicks. After the last field, focus lands on the **Packed** checkbox
rather than auto-submitting, so finishing still takes one deliberate
action.
- **Reopening a partially-packed ticket** preserves whatever was
already scanned and still shows the current suggestions for what's
left - tested explicitly.
- This data is **staff-entered, not sourced from JIRA**, and a JIRA
re-import never touches it - confirmed the update path doesn't
reference `serial_numbers`/`packed` at all. It's exactly the data
the eventual end-of-day JIRA push will need, whenever that gets
built.
**Assignee** (who's working the ticket, from JIRA) and **Shipping
Method** (the outbound label's service, from the ShipStation tracking
pull - `ups_ground` -> "Ground", etc. via `SHIPPING_METHOD_LABELS`,
confirmed against ShipStation's real UPS service codes) are also
pulled in now, matching two more Ship Sheet columns.
**One consequence worth knowing:** since packing data doesn't come
from JIRA, **Reset Local Database now also clears it** - the warning
dialog says so explicitly. Before this update, a reset was always
harmless (just a rebuildable cache); now it isn't, for this one kind
of data.
## Emergency: Send to ShipStation
For the rare case a ticket needs to skip the normal daily batch. Select