AlmondTill/G3N API

GiftRegistry

object type

A GiftRegistry — ONE consumer-OWNED curated product list with purchase tracking (org-group-parented document): structurally a cousin of the Collection but consumer-owned + purchase-tracked. ownerConsumerId is a registered Consumer, IMMUTABLE at birth (ruling — the REGBOOK derived-index row minted in the create txn is thereby write-once; guests cannot own; transfer = deferral 14). registryType ∈ {wedding, baby, birthday, anniversary, holiday, wishlist, custom} (the seven VERBATIM — canned + AT-extensible, the caseType registry class; MUTABLE via update, a mislabel is routine correction). privacy ∈ {public | unlisted | private}, DEFAULT 'private' (strict — the owner opts INTO sharing); ⚠ the cross-consumer READ lanes that consume the gate are the storefront wave (ruling /deferrals 1–3) — until then privacy is enforced STRUCTURALLY (the consumer lane is owner-only). eventDate OPTIONAL — present ⇒ arms the scheduled active → expired (ruling — LIVE machinery, due == eventDate EXACTLY; the ExemptionCertificate optional-field class; grace/policy = deferral 7). FSM: active(i) → closed (caller_op:close · authority:own_registry) · active → expired (scheduled:scheduler — a LIVE non-terminal state: items stay readable, fulfillments still record [ruling], the owner can still doom) · closed|expired → doomed (caller_op:doom · authority:own_registry + referential_integrity — the inbound-ref set is EMPTY by design, subordinates are FAMILY [the CollectionMember vacuous-gate class]). Forbidden: active → doomed (close or let expire first). Ceilings: 16 ACTIVE registries/consumer · 200 ACTIVE items/registry. NOT searchable (consumer-owned, reached via its owner — the book law covers WHO, not their lists).

Fields

FieldTypeNotes
idID ID!The record’s id — a UUID the platform assigned when the record was created; every reference to this record uses it.
sysIdString String!The group-scoped human-facing system id (GR-…).
typeString String!The kind of record — always GiftRegistry here.
captionString String!The record’s display name — what people see it called.
statusString String!The FSM state: active | closed | expired | doomed.
parentIdID ID!The parent org group; for a GiftRegistry parentId === rootId.
rootIdID ID!The org-group family root.
createdAtString String!When the record was created, as a UTC timestamp.
updatedAtString String!When the record last changed, as a UTC timestamp.
revisionNumInt Int!How many times this record has been edited; the first save is 0.
revisionID ID!The OCC revision token — supply it on every mutation of this record; rotates on every write.
refCaptionsRefCaption [RefCaption!]!The server-composed captions of this record's declared references (the referenced-caption rule) — one row per referenced id; see RefCaption.
ownerConsumerIdID ID!The OWNING registered Consumer. ⚠ IMMUTABLE at birth (ruling — the REGBOOK index row is write-once; ownership transfer = deferral 14).
registryTypeString String!wedding | baby | birthday | anniversary | holiday | wishlist | custom — the canned registry (AT-extensible, never merchant free-form). MUTABLE via update.
privacyString String!public | unlisted | private — born 'private' when the caller names none (strict). ⚠ Structurally DORMANT until gives it a cross-consumer reader (ruling — the consumer lane is owner-only).
eventDateStringThe event instant (ISO-8601, a FULL instant — the slaDueAt convention). Present ⇒ arms the scheduled expiry (ruling — due == eventDate EXACTLY; edits re-arm/disarm on write).
shipToRegistryShipToThe registry-specific ship-to override.

Used by