TCGeezee doesn’t hardcode how orders ship — your recipes decide. A recipe is a readable sentence: for which orders, pack in which container, include which materials. The engine picks the most specific match and asks when it isn’t sure.
Packages are real containers — an envelope, a bubble mailer, a box — with dimensions and an empty weight. Products are kinds of things you sell — an Elite Trainer Box, a booster box — with detection keywords and their own weight. Recipes bind them: which orders go in which package with which materials. All three are yours, in the gear’s packing editor.
Each recipe is a named card: “For [when], pack in a [package] and include: …” with steppers on every material. One recipe wins per order and supplies everything in the package — the most specific match: a product rule beats a value rule, and a higher threshold beats a lower one. Two equal matches naming different packages prompt you instead of picking by list order.
Every seeded weight is a guess until you confirm it, and the editor says so. Items the assistant hasn’t seen before get an “unverified — weigh one” badge rather than a number presented as fact. Shipping weight is always empty package + materials + contents, itemized so you can check the math.
A rigid item (a plastic toploader, a Ding Defender) in an envelope makes it non-machinable — USPS charges a surcharge for that, and TCGeezee pays it on the postage rather than just printing the marking (printing the marking without paying the surcharge is underpaying). The flag and the weight come from the same recipe evaluation, so they can’t disagree. The per-order checkbox changes the postage flag only — it never adds or removes phantom weight, and the UI says so.
On any order you can expand Contents and tweak what the recipe contributed — add an item, remove one, change a count — for that order only. Weight and machinability re-derive from the edited set. Your recipes are untouched; the gear is the only place they change.
When you assign a recipe to an order the engine couldn’t match, the panel offers one tap: “Remember this recipe for this product on future orders?” If the product wasn’t recognized, it can learn one from the title — and when a broader phrase would work (“anything with ‘jumbo card’”), it asks whether to generalize or match just this exact card. Your choice; never silently widened.
The escape hatch for everything above: type how you pack in plain English. The assistant parses it, asks a clarifying question about anything you didn’t state explicitly (it never assumes), shows the resulting recipes as confirm cards, and saves plain settings you can edit by hand afterward.