In this section we describe a Participatory Budgeting Cycle on an object-level. For more information about what a PB Cycle is, visite our website, which includes many great ressources.
The PBCycle object represents an instance of a Participatory Budgeting Cycle for any given organization like a school, a class, or a group of people that wants to make a budgetary choice collaboratively. By using the
createPbCycle mutation a valid object is created; Which can later be edited.
Every PBCycle follows this flow/process:
- Discover - Administrators define a theme, budget, categories and a schedule
- Dream - Participants submit, edit and share their proposals
- Design - Administrators and leaders hand-pick the best proposals by preparing a ballot
- Decide - Participants vote, and admins do a voting results ratification process
- Do - Based on voting results, winning proposals get done!
A Proposal object is an entity that represents a specific idea of a participant which is categorized within a PBCycle.
createProposal a participant can submit a proposal within a category, which can later, if selcted, be voted on.
With this muation a valid proposal object is created, which contains at least a name, a cost and a category.
A Ballot is the collection of Proposals that are ready for voting. The Ballot is prepared by an admin during the design phase using the
A BallotSubmission object is the 'vote' of a Party. Each proposal in the ballot for a party is initialized to an unfunded and ‘no preference’ value.
A VotingGroup and a Person are both PartyTyes that can create a BallotSubmission with the
The default voting process is simultaneous individual and collaborative voting. When voting begins, participants can vote individually and also participate in the collaborative vote.
PB cycle participants vote on eligible proposals contained on a Ballot by deciding to fund them through the
fundBallotProposal mutation. Additionally they can add a reaction using the