Meetings
StrataSphera supports four meeting types — AGMs, EGMs, committee meetings, and other. Each meeting moves through a defined status lifecycle from draft to completed, with an agenda, optional voting, and a generated minutes document.
Meeting types
| Type | Full name | Purpose |
|---|---|---|
agm | Annual General Meeting | Yearly owner meeting required by strata legislation. Elects committee, sets levies, passes budgets. |
egm | Extraordinary General Meeting | Owner meeting called outside the AGM cycle for specific resolutions. |
committee | Committee Meeting | Committee-only meeting for day-to-day scheme decisions. |
other | Other | Informal or ad-hoc meetings that don't fit the above. |
Meeting lifecycle
Every meeting passes through these statuses in order, though cancellation is available from any non-terminal state:
draftInitial state. Agenda is being built. Notice not yet sent.
notice_issuedNotice has been sent to all verified/self-declared members. Meeting is locked for editing.
in_progressMeeting is underway. Votes and attendance can be recorded.
completedMeeting is over. Minutes are ready to be drafted and distributed.
adjournedMeeting was adjourned to a future date.
cancelledMeeting was cancelled. No minutes.
When a notice is issued, StrataSphera records notice_issued_at and emails all verified and self-declared members. If the scheduled date is in the past, emails are skipped but the status transition still occurs (useful when importing historical records).
Notice requirements
| Meeting type | Typical notice period (NSW) | Notes |
|---|---|---|
| AGM | 7 days minimum | Must include financial statements, levy schedule, and proposed budget. |
| EGM | 7 days minimum | Notice must state the business to be transacted. |
| Committee | 72 hours recommended | No statutory minimum in most jurisdictions, but good practice. |
| Other | As required | No statutory requirement. |
The notice_days_required field on a meeting stores the computed notice period for the scheme's jurisdiction. The UI warns if issue-notice is called with fewer days remaining.
Agenda items
Each meeting has an ordered list of agenda items. Items are created manually by the committee; procedural items (quorum confirmation, election of chairperson, confirmation of minutes for AGM/EGM) are added automatically on meeting creation and marked is_procedural_auto: true.
| Field | Type | Notes |
|---|---|---|
item_type | string | procedural, motion, discussion, report |
title | string | Required. Displayed in the notice and minutes. |
description | string | Optional. Background or supporting text for the item. |
resolution_type | string | ordinary or special. Only relevant for motion items. |
is_levy_motion | bool | Flags levy-setting motions for financial reporting. |
ticket_id | UUID | Optional link to a matter. Used to bring capital works or compliance items to a meeting for owner approval. |
minutes_notes | string | Free-text notes recorded during or after the meeting. Used to draft minutes. |
order_index | int | Display order. Can be reordered via the reorder endpoint while the meeting is not completed/cancelled. |
Agenda items cannot be added or reordered once the meeting status is completed or cancelled. Notes (minutes_notes) can be edited until the meeting is cancelled.
Voting
Votes are recorded per agenda item per member. The vote model tracks:
- vote value —
for,against,abstain - unit entitlement — captured at vote time for weighted (unit entitlement) counting
- proxy voting — a vote can be cast on behalf of another member via
proxy_for_person_id - voting method —
show_of_hands,poll,secret_ballot
The vote result summary returned by the API includes for_count, against_count,abstain_count, for_ue, against_ue, and a passed bool (ordinary resolution: majority of votes cast; special resolution: 75% of UE).
Quorum: A meeting has quorum if the minimum required number of eligible owners are present or represented by proxy. Quorum checking is the responsibility of the chairperson; StrataSphera surfaces attendance counts to assist.
Minutes workflow
Once a meeting is completed, minutes can be drafted and distributed:
- Committee drafts minutes using
minutes_notesfrom each agenda item. - Draft is stored as a document in the
Meeting Minutescategory. - Minutes are reviewed and confirmed at the following meeting (an auto-added procedural item for AGMs/EGMs).
- Confirmed minutes are marked
is_published: trueand distributed to owners.
The AI-assisted minutes generation endpoint (POST generate-minutes) builds a draft from the agenda items, notes, and vote results. The result is returned as HTML for review and editing before being saved as a document.
AI minutes from transcript (POST minutes/generate-from-transcript) accepts a plain-text meeting transcript and uses Claude to propose per-item notes and flag any topics discussed that were not on the agenda. The secretary reviews and edits the proposals before applying them. This feature requires a paid plan.
Linking matters to meetings
Any agenda item can be linked to a matter via ticket_id. This is particularly important formajor capital works (scale_of_works = major_capital_works), which require owner approval at an AGM or EGM. The meeting selector in the “Add to meeting” panel groups AGMs and EGMs first to make this easier.
A linked matter's number, title, status, and scale of works are returned in theticket_ref sub-object on the agenda item response.
API summary
| Endpoint | Description |
|---|---|
GET /api/schemes/:id/meetings | List meetings. Filter by ?status= (comma-separated). |
POST /api/schemes/:id/meetings | Create a meeting. Procedural agenda items auto-created. |
GET /api/schemes/:id/meetings/:n | Get meeting detail with full agenda and ticket refs. |
PUT /api/schemes/:id/meetings/:n | Update meeting fields or status. |
POST /api/schemes/:id/meetings/:n/issue-notice | Transition to notice_issued and email members. |
POST /api/schemes/:id/meetings/:n/agenda-items | Add an agenda item. |
PUT /api/schemes/:id/meetings/:n/agenda-items/:id | Update an agenda item. |
PUT /api/schemes/:id/meetings/:n/agenda-items/:id/notes | Update minutes notes on an item. |
PUT /api/schemes/:id/meetings/:n/agenda-items/reorder | Reorder all agenda items. |
DELETE /api/schemes/:id/meetings/:n/agenda-items/:id | Remove an agenda item. |
POST /api/schemes/:id/meetings/:n/generate-minutes | AI-generate a minutes draft from notes and votes. |