Skip to content
OpenCOOS
Open in explorer
Governancesince 0.1.0-draftspec v0.1.0-draft

Resolution

Proposed

A motion or resolution considered at a general or council meeting, with the vote threshold required and its outcome.

Fields

FieldTypeDescription
id
required
Identifier

Stable identifier of this Resolution record.

meetingType
required
enum

Kind of meeting the resolution was considered at.

generalcouncil

meetingId
required
Identifier

Identifier of the GeneralMeeting or CouncilMeeting, according to meetingType.

title
required
string

Short title of the resolution.

min length 1 · max length 200

text
optional
string

Full text of the resolution as presented.

max length 20000

voteThreshold
required
enum

Vote required for the resolution to pass.

majoritythreeQuartereightyPercentunanimous

outcome
required
enum

Result of the resolution.

pendingpasseddefeatedwithdrawnamended

votingRecordId
optional
Identifier

Tally of the vote, if recorded.

References VotingRecord

extensions
optional
Extensions

Implementation-specific data, namespaced by reverse domain.

Controlled vocabularies

meetingType

general
A GeneralMeeting.
council
A CouncilMeeting.

voteThreshold

majority
Majority vote.
threeQuarter
3/4 vote.
eightyPercent
80% vote.
unanimous
Unanimous vote.

outcome

pending
Not yet voted on.
passed
Passed.
defeated
Defeated.
withdrawn
Withdrawn before a vote.
amended
Amended; see the resolution that replaced it.

Relationships

Referenced by

Resolution

References

Validation rules

Cross-field rules beyond what JSON Schema expresses. Documented in the draft; not yet enforced by tooling.

  • meetingId must reference a GeneralMeeting when meetingType is general, and a CouncilMeeting otherwise.
  • outcome must be pending when the meeting status is scheduled.

Open questions for legal and industry review

  • Confirm the set of vote thresholds and the precise basis each is calculated on (for example, votes cast by eligible voters present in person or by proxy).
  • Council decisions are generally by majority; the thresholds above mostly apply to general meetings.

Example payload

Illustrative only, with fictional data. Validated against the draft schema at build time.

{
  "id": "res-2026-03",
  "meetingType": "general",
  "meetingId": "gm-2026-agm",
  "title": "Approve 2026 operating budget",
  "voteThreshold": "majority",
  "outcome": "passed",
  "votingRecordId": "vote-2026-03"
}