Device Inspection
Each device in a batch goes through inspection — functional tests, cosmetic grading, lock checks, and photo capture.
Where to find it
Admin: /process/inspectdevice/{id} (legacy)
Portal: /portal/devices/{id}
Mobile: Inventory module in the field app
API: /api/v1/inventory/{id}
What gets recorded
Basic identifiers:
- IMEI / serial number
- Asset tag
- Manufacturer + model
Device attributes:
- Storage capacity
- Color
- Carrier
- Battery health %
Lock status:
- SIM lock (Locked / Unlocked / Unknown)
- Activation lock (iCloud "Find My" for Apple devices)
- MDM enrollment status (for managed devices)
- Carrier blacklist / graylist status
Condition codes:
- Functional code — from diagnostic test results
- Cosmetic code — physical appearance grade
- Letter grade — A/B/C/D/F overall grade calculated from func + cosmetic
Data handling:
containsData— was there data on the device?dataErased— has data been sanitized?
Photos
Each device can have multiple photos uploaded:
- Stored in
commerce__inventory_photos - Files in
/uploads/inventory/ - Shown in a gallery in the device detail view
- Useful for dispute resolution if a client claims a device wasn't damaged
History
Every state change is logged to ehs__deviceHistory:
pre-inspection— initial receiptinspection— functional / cosmetic test resultserasure— data sanitization event (tracks the method + completion)- Each entry has the user who did it + timestamp
Grading workflow
- Technician opens a device's detail view
- Runs diagnostic test — results auto-populate functional code
- Visually inspects → picks cosmetic code
- Letter grade is computed from the two codes
currentLetterCodeis saved — this is the grade that determines pay-out
Status progression
| Status | Meaning |
|---|---|
| 0-4 | Pre-inspection / in process |
| 5 | Ready for sale |
| 6 | Verified ready for sale |
| 7 | Reserved / on hold |
| 9 | Sold / reused |
| 10 | Recycled |