Skip to content

app.form_submissions

TableRow level security on

A submitted form: its answers against one template version, score, GPS stamp, signature and approval. Written only through app.submit_form; a project submission links to the record it became.

Primary key: id

Columns of app.form_submissions
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org, derived from app.form_templates on insert; never accepted from the caller and never changed.References app.organizations.id
form_template_iduuidNoForm answered.References app.form_templates.id
form_template_version_iduuidNoVersion of the form answered.References app.form_template_versions.id
project_iduuidYesProject the submission belongs to, when any.References app.projects.id
record_iduuidYesRecord the project submission became.References app.records.id
submitted_by_membership_iduuidNoMember who submitted.References app.memberships.id
answersjsonbNoAnswers keyed by field key.
scorenumericYesPoints earned, when the form scores answers.
max_scorenumericYesPoints available on the fields shown.
passedbooleanYesWhether the score met the passing score; NULL when the form has none.
latitudenumericYesGPS latitude at submission.
longitudenumericYesGPS longitude at submission.
accuracy_mnumericYesGPS accuracy in metres.
signer_nametextYesName of the person who signed.
signature_pathtextYesStorage path of the signature image in the field-media bucket.
signed_attimestamp with time zoneYesWhen it was signed.
submission_stateapp.form_submission_stateNoSubmitted, Approved, Rejected or Recorded.
decided_by_membership_iduuidYesApprover who decided.References app.memberships.id
decision_notetextYesApprover's note.
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.