# RegistryFulfillment

object type

One recorded purchase against a registry item. Purchased qty per item = Σ these rows' qty; remaining = max(0, desired − purchased) — OVER-fulfillment records legally (ruling: facts over gates).

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `id` | [ID](/types/#scalars) `ID!` | No further notes. |
| `type` | [String](/types/#scalars) `String!` | No further notes. |
| `caption` | [String](/types/#scalars) `String!` | No further notes. |
| `status` | [String](/types/#scalars) `String!` | active (a posted fact) — the void lane is FSM data with NO wire op (corrections = deferral 11). |
| `parentId` | [ID](/types/#scalars) `ID!` | The owning GiftRegistry. |
| `rootId` | [ID](/types/#scalars) `ID!` | The org-group family root. |
| `createdAt` | [String](/types/#scalars) `String!` | No further notes. |
| `updatedAt` | [String](/types/#scalars) `String!` | No further notes. |
| `revisionNum` | [Int](/types/#scalars) `Int!` | No further notes. |
| `revision` | [ID](/types/#scalars) `ID!` | No further notes. |
| `registryItemId` | [ID](/types/#scalars) `ID!` | The fulfilled RegistryItem (its row id — validated ACTIVE in THIS registry at record). |
| `orderId` | [ID](/types/#scalars) `ID!` | The fulfilling Order (ref-only — NO order amendment). |
| `orderLineNo` | [Int](/types/#scalars) `Int!` | The fulfilling order line. |
| `qty` | [Int](/types/#scalars) `Int!` | 1..999. |
| `purchaserConsumerId` | [ID](/types/#scalars) | The gift-giver when a registered Consumer (guest purchasers absent). |

## Used by

- [recordRegistryFulfillment](/reference/selling/recordRegistryFulfillment/)
