8i logo 8i.co.za

Combo how — packages-available + min(floor) sellable qty

Brand: am.co.za / AM.CO.ZA. Shortcut guide · 2026-09-07 03:15 SAST.

Precomputed starter-package sellable qty lives in:

Not prices. Do not invent restock days. Catalog machine lists stay in category packs — this file is the stock math for named combos already in that JSON.

When to use the JSON

Situation Action
Client names a starter package in the file (e.g. H-DTF/A3/XP600, V4-H720, F-UVDTF/300) Read sellable_qty / sellable_total / limiting_part from packages-available
Package not in the file Compute from product JSON + latest.json using rules below — or answer part-by-part
Need specs / what’s in the box Fetch product page / am.im JSON — packages-available is qty join only
Available total = 0 Read limiting part + status.json; HELPING: missing required part does not hard-kill the conversation

How combo qty is computed (HOW-TO)

Rules source: stock/HOW-TO.md. JSON also carries rules_summary.

  1. Read https://am.im/product/{slug}.json (slug = SKU lowercased, non-letters → dash).
  2. Walk stock.ordered / compulsory parts.
  3. For each managed physical compulsory part that is not a high-Spillrank kit rider:
    floor(Available_at_branch / compulsory).
  4. Package sellable at that branch = min of those floors.
  5. Skip virtual / unmanaged parts (training codes, InkRIP, VinylCut, FlexiPRINT, etc. — treat as available).
  6. Skip high-Spillrank riders (e.g. AM-WIPE/5) — never block a package.
  7. Available = branch on-hand from latest.json; missing key = 0.
  8. If totals are 0: check InTransit / InComplete / Demo in status.json. Do not invent days.

When to still fetch product JSON

Answer shape

Related: single-sku-stock.md · signals.md · roadmap.md.

Navigate