1. Wiki
  2. Before It's Gone
  3. Data Model

Data Model

Every item stored in the inventory is an InventoryItem object. This page describes each field.


FieldTypeRequiredNotes
idstringYesUUID generated on creation.
namestringYesHuman-readable product name.
quantitynumberYesCurrent stock count (whole units).
locationstringYesWhere the item is stored. Built-in values: fridge, freezer, pantry. Any custom string (defined in Settings) is also accepted.
barcodestring | nullNoEAN/UPC barcode, or null if not scanned.
expiresAtstringYesISO 8601 timestamp for the expiry date (e.g. 2026-12-01T23:59:59.000Z).
shelfLifeDaysnumberNoExpected shelf life in days, used to pre-fill the expiry date on restock.
createdAtstringYesISO 8601 timestamp set when the item is first added.
updatedAtstringYesISO 8601 timestamp updated on every edit.
categorystring | nullNoFree-text category label (e.g. dairy, meat), or null.
depletionThresholdnumber | nullNoQuantity at or below which a low-stock notification fires. null disables the alert.
tagsstring[]YesArray of free-text tags; empty array when none are set.
recurringbooleanNoWhen true, a new item is automatically created from this one when it is fully consumed. Defaults to false.
restockQuantitynumberNoStarting quantity for the auto-created restock item when recurring is enabled.
photostringNoData URL of an optional item photo.

For the serialised format used when importing and exporting, see Import & Export Format.

Last updated: 2026-10-04 AetherAssembly/Before-Its-Gone → License: GNU AGPLv3