Skip to content

Registration

A Registration is one person’s place at a Gathering: invited, requested, or waitlisted, then registered, then attended or no-show.

Properties

PropertyTypeRequiredDescription
statusstringrequiredOne of invited, requested, waitlisted, registered, attended, or noShow.
registeredAtdatetimeWhen the place was confirmed.

Object

JSON
{
  "$id": "https://api.sb/patentpad.com/registrations/registration_1",
  "$type": "Registration",
  "status": "invited",
  "registeredAt": "2026-10-22T12:00:00Z"
}

Relationships

Lifecycle

Registration lifecycle: invited, requested, waitlisted, registered, attended (ends), noShow (ends)invited → registered: Gathering.registerinvited → waitlisted: Gathering.registerinvited → requested: Gathering.registerrequested → registered: Registration.approverequested → waitlisted: Registration.approvewaitlisted → registered: Registration.admitregistered → attended: Registration.attendregistered → noShow: on Registration.missedinvitedrequestedwaitlistedregisteredattendednoShow
StateMeaningMoves to
invited (first)Offered a place, by the host’s invitation or the Gathering’s public Page, and not yet taken.registered by Gathering.register; waitlisted by Gathering.register; requested by Gathering.register
requestedAsked for a place at a Gathering whose host approves each one.registered by Registration.approve; waitlisted by Registration.approve
waitlistedNext in line for a place, in the order they asked.registered by Registration.admit
registeredHolds a place; the reminders and the join link go to the Contact.attended by Registration.attend; noShow on Registration.missed
attendedJoined the Gathering.None: it ends here.
noShowHeld a place and never joined before the Gathering ended.None: it ends here.

Verbs

  1. createCreates a Registration.
    POST /{namespace}/registrationsdoRegistration.created
  2. getReturns one Registration by id.
    GET /{namespace}/registrations/{id}readNo Event
  3. listReturns Registrations, newest first, one page at a time.
    GET /{namespace}/registrationsreadNo Event
  4. updateChanges the given properties of a Registration.
    PATCH /{namespace}/registrations/{id}doRegistration.updated
  5. deleteDeletes a Registration; its history is kept.
    DELETE /{namespace}/registrations/{id}doRegistration.deleted
  6. admitAdmit gives the next Contact in line a place at a Gathering when one frees up or its capacity rises.
    POST /{namespace}/registrations/{registration}/admitdoRegistration.admitted
  7. approveApprove gives a requested place at a Gathering to the Contact who asked, or a place in line when the Gathering is full.
    POST /{namespace}/registrations/{registration}/approvedoRegistration.approved
  8. attendAttend records that a registered Contact joined the Gathering; an online room calls it on join.
    POST /{namespace}/registrations/{registration}/attenddoRegistration.attended

Events

Events no Verb emits. Each Verb’s Event is in the Verbs table above; every Event is delivered in the same shape.

Registration.missed

A Gathering ended, and a Contact who held a place never joined. Raised by a clock.

FieldTypeRequiredDescription
namestringrequiredRegistration.missed.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.registrationRegistrationrequiredThe Registration as the change left it.
data.registration.statusstringrequiredOne of invited, requested, waitlisted, registered, attended, or noShow.
data.registration.registeredAtdatetimeWhen the place was confirmed.
data.previous.statusstringrequiredThe status before this Event: registered.
JSON
{
  "$id": "https://api.sb/patentpad.com/events/event_1",
  "$type": "Event",
  "name": "Registration.missed",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "registration": {
      "$id": "https://api.sb/patentpad.com/registrations/registration_1",
      "$type": "Registration",
      "status": "noShow",
      "registeredAt": "2026-10-22T12:00:00Z"
    },
    "previous": {
      "status": "registered"
    }
  },
  "seq": 1
}

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Registration.createYesYesYesNo
Registration.getYesYesYesYes
Registration.listYesYesYesYes
Registration.updateYesYesYesNo
Registration.deleteYesYesYesNo
Registration.admitYesYesYesNo
Registration.approveYesYesYesNo
Registration.attendYesYesYesNo

Call it

Text
Approve the latest registration.

Example

A product manager registers for a pricing workshop and gets a calendar invite. She joins 10 minutes late, and her Registration moves from registered to attended.