Obtaining Voting Results after a Conference

Overview

When are results available?

The voting results are available only after the conference has been held. The conference has 5 different states, InPreparation, InProgress, InReview, Completed and Errored. The voting results can be obtained when the conference is either in InReview or Completed state. During the review stage, the property manager can change topic descriptions and resolution texts, but can't change any voting results. If possible, we do recommend to obtain the voting results only if the conference is in state Completed as it has been reviewed and published by the property management company.

Keep in mind

It is possible to start and test a conference in facilioo. Therefore, there might be voting results which aren't valid. We're training our property managers to immediately reset the conference after a test run in order to avoid confusion. However, it might happen that these conferences are not reset and stay in InReview state until the actual conferences takes place.

Difference between Conference Votes and Voting Group Votes

In facilioo, we do differentiate between ConferenceVotes (commonly referred to as SimpleVotes) and VotingGroupVotes. ConferenceVotes are votes of single entities (persons/owners) during a conference while VotingGroupVotes are the votes of VotingGroups. A single entity can be part of multiple voting groups. A common use case a married couple where both are owning one unit together. In addition, one of the partners owns another unit within the property by their own. In that case, that partner would be part of two different voting groups as they might want to vote differently.

Partner A
- owns Apartment 1
- owns Apartment 2

Partner B
- owns Apartment 1

will result in

Voting Group A
- with Partner A and Partner B
- for Apartment 1

Voting Group B
- with Partner A
- for Apartment 2

Therefore, if both owners vote during the conference, there will be two ConferenceVotes and a single VotingGroupVote for their shared VotingGroup. When both owners do not agree on a choice, their voting group vote counted as an abstention.

Partner A
- votes yes for resolution 1
- votes yes for resolution 2

Partner B
- votes yes for resolution 1
- votes no for resolution 2

then

Voting Group A of Partner A and B
- will vote yes for resolution 1
- will abstain for resolution 2

🚧

Voting Groups Votes for Results

When obtaining the results from a conference, only voting group votes can be used. These are the values referenced in the protocol or resolution collection. Conference votes are only for reference in order to display how individual users have been voted.

Obtaining the Results

At first, based on the id of the conference, all voting sessions of the conference should be obtained. Every voting session does contain a resolutionId which relates it to a resolution. As of right now, it is not possible to have multiple voting sessions per resolution. Although it's allowed in our data structure, it's blocked by validators.

In preparation it is wise to obtain all voting groups and their owners in order to map values internally. This can be done using the endpoint /conferences/{id}/voting-groups which both contains the units and parties related to that voting group.

Once the voting sessions are obtained, the conference and voting group votes can be obtained from every voting session using the endpoints /voting-sessions/{id}/votes for ConferenceVotes and /voting-sessions/{id}/voting-group-votes for VotingGroupVotes. Summing up the weight of all these votes and grouping them by their name will lead to the results of the voting session and therefore resolution. More info about the actual entities can be found on VotingGroupVote and ConferenceVote.