Closets vs boxes — when to use which
The most common question we get from new users: should this be a closet or a box? The two types feel similar but they have different jobs.
The short version
- Box = packing unit. Things you keep together but might unpack.
- Closet = furniture. A piece of stuff that stays where it is.
If you'd carry it to a moving truck, it's a box. If you'd disassemble it and rebuild it at the new place, it's a closet.
When in doubt, draw the layout
Imagine your home as a floor plan.
- The rooms are locations (Bedroom, Living room, Kitchen).
- The furniture in the rooms is closets (Wardrobe in the bedroom, Pantry in the kitchen, Bookshelf in the living room).
- The packed-up groups of stuff are boxes (Winter clothes box on the wardrobe's top shelf).
- The single things are items (a specific coat hanging in the wardrobe, a specific book on the shelf, a specific can of soup in the pantry).
A box can sit inside a closet (like a winter-clothes box on the top shelf of a wardrobe). The closet has a location; the box has a closet... wait, actually no. In ItemTrack today, boxes belong to locations, not closets. A box has a location_id, not a closet_id. So a box sitting on a closet shelf is modeled as: box at this location, where one of the items in the box is "the wardrobe is the physical place".
If this comes up often we'll add box-in-closet relationships. Today, model it with the description field on the box: "Top shelf of bedroom wardrobe".
Examples
Scenario: You have a bookshelf with 200 books and you want to inventory all of them.
This is a closet ("Living room bookshelf"), and each book is an item with closet_id set. Don't make it a box — books are individually accessible, you don't open the bookshelf as a unit.
Scenario: You're packing for a move. You filled a moving box with kitchen utensils.
This is a box ("Kitchen 3 — utensils"), and each utensil can be an item with box_id set. Or, if you don't want to enter every spatula individually, the box itself has a description "spatulas, spoons, ladles, two whisks".
Scenario: Your basement has plastic storage bins on metal shelves.
The metal shelves are a closet ("Basement shelf rack"). Each plastic bin on the rack is a box. The items in each bin are items with box_id set. The closet itself goes in a location ("Home").
Scenario: Self-storage unit you rent.
The unit is a location ("Self-storage Hertogstraat"). Inside the unit you might have boxes stacked, and maybe a couple of pieces of furniture. The boxes are boxes at this location. The furniture is — case by case. A wardrobe with stuff in it is a closet at this location. A loose dresser with nothing inside is just an item.
Scenario: A safe-deposit box at a bank.
This is interesting because the word "box" appears in the name. Model it as a location of kind "safe deposit box", not as an ItemTrack box. The reason: locations are top-level — they're where things are. The safe-deposit box is a place. The contents go inside it as items.
A simple decision tree
- Does it stay in one place? → Closet (or location, if it's a whole room).
- Will I ever pick it up and move it as a unit? → Box.
- Is it a single thing I'd describe as one object? → Item.
That's the whole rule.