There is also an approval process, so we could set up a workflow along the lines of:
A volunteer fills out a form to indicate that they did <#volunteerHours> in the <whateverShop>, and checks off <makerMondayBox> if this happened during a Maker Monday.
If <makerMondayBox> is checked, an approval email is sent to <makerMondayCoordinator>
else, the approval email is sent to <whateverShopCoordinator> for approval
If approval is granted, the <#volunteerHours> are converted into <KamloopsMakerspacePrestigePoints>, which are added to the player’s member’s <prestigeTotal>
else, a message is sent back to the member explaining why the hours were not approved, and if they should revise and resubmit or w/e
For each approved submission check if the player’s member’s
<prestigeTotal> is >= their <currentLevelPrestigeReq>
and if it is, email them and tell them that they levelled up, and unlocked whatever <forumBadge>, <Tchotchke> or <rediculouslyLowTokenMembershipDiscount> applies for that level.
Maybe the discounts could be calculated from the player’s member’s <prestigeIncreaseLastMonth> if we decided to offer — this is all a hypothetical to demonstrate a workflow that would be easy enough to setup using O365.
Anyhow, this is just an example, which I think could encourage volunteering through offering incentives and gameifying the experience.
I am aware that this workflow could probably be set up using node.js and the forum, or by using a bunch of other methods, but it would take me WAY longer to figure that out than to implement this with the free tools uncle Willy has donated to the space.