# Production batches

The batch list, their creation, their filters, and the bulk deletion that requires retyping a sentence computed by the server.

Source: https://docs.sealtrust.io/en/console/lots-de-production/

---

A batch is a run made from one model. This screen lists them all, lets you create some, filter them, and clear out the drafts without touching what is already minted or anchored. You get here through the "Production batches" entry of the Catalog section.

![The production batch list with its filters and its selection bar](/console/lots-de-production.en.webp)

## What the screen shows

A table that asks for 20 rows per page by default, with one checkbox per row.

A batch's status is not stored, it is derived at display time. Anchored if the batch carries an anchoring transaction. Otherwise minted if all its products are, minting if only some are, draft in the remaining cases.

Two cleanup buttons: "Delete drafts" for the current selection, and "Force cleanup ({count} blocked)" for the batches that resisted.

## What you can do here

Create a batch. The authentication method chosen in the form, between "NFC Encoding", "QR Code Generation" and "NFC Encoding + QR Code", is indeed passed to the server.

Filter. The searched text and the brand go to the server. The status filter and the date filter, on the other hand, only sort the rows already received.

Tick batches, then start their deletion. The screen first asks the server for a preview: that call counts what would be destroyed and writes nothing. You then retype the sentence the preview returned, and the deletion goes out.

Run a force cleanup on the batches that stayed blocked. Click a row to open the batch's detail page.

## What gates access

Bulk deletion accepts at most 200 identifiers per call, on the screen side as on the server side. Force cleanup is capped at 25, because that path kills encoding jobs in flight and releases pending multisig blockers.

The sentence to retype comes from the preview alone. The server builds it from the counts: "delete {n} batches, {m} products", or "force delete {n} batches, {m} products, {j} jobs" for the forced path. The button only turns on if the typed text, once normalised, equals that sentence, and an empty expected value never turns it on.

Force cleanup only targets blocked batches that are not anchored.

## What the screen refuses

The checkbox of an anchored batch is off, with the tooltip "anchored on-chain".

A batch is blocked if it has minted products, an anchoring transaction, an encoding job in flight, or an item awaiting multisig.

On creation, the server refuses a brand outside the account's scope with a 403 `Accès interdit à cette marque`. A model that does not exist gives a 404 "Product model not found", a model belonging to another brand a 400 "Product model brand_id does not match batch brand_id". A batch code already taken in the brand gives a 409 "Batch code '<code>' already exists for this brand".

The country of origin must be exactly 2 letters, otherwise the form shows "Must be a 2-letter country code (e.g. FR)".
