SpaceTegoed

Uit MakerSpace Leiden
Versie door Fulco (overleg | bijdragen) op 13 okt 2021 om 16:25 (Versie 10820 van Fulco (overleg) ongedaan gemaakt)
Ga naar: navigatie, zoeken


Wat is SpaceTegoed

SpaceTegoed is het betaalsysteem van de Makerspace.

Het is te zien als je eigen rekening bij de Space. Het is een alternatief naast (en dus geen vervanger van) de Zwarte Pot op de tafel in de kleine ruimte. Omdat meer en meer mensen geen kleingeld meer op zak hebben.

Voorbeelden

Je kunt er je kop koffie of je biertje van betalen.

Je kunt er andere mensen van tracteren op een kop koffie of een biertje.

Je kunt er een gift aan de space mee doen, bv omdat je je schuldig voelt over de vele troep je gemaakt hebt.

Je kunt een mede lid 25 cent betalen omdat je een schroefje van haar gekregen hebt.

Als je een pak koffie of een krat bier voor de space gehaald hebt, kun je dat declareren waardoor je tegoed weer stijgt.

En in de toekomst kunnen we wellicht meer dingen toevoegen, zoals boetes voor projecten die te lang in de weg blijven liggen :-)

Storten

Als je SpaceTegoed te veel zakt kun je ook fysiek geld storten in je SpaceTegoed.

Opnemen

Geld opnemen van je SpaceTegoed kan door een verzoek daarvoor in te dienen. Een bestuurslid maakt het dan naar je over.

Veiligheid

De meeste transacties zijn virtueel en het gaat over het algemeen om kleine bedragen.

Elke maand wordt er een overzicht van alle rekening standen naar de deelnemers lijst gestuurd.

Bij het opnemen zijn altijd bestuursleden betrokken, er wordt uitsluitend geld overgemaakt naar het rekeningnummer waarvan het lidmaatschap wordt afgeboekt, en er is altijd een wachttijd van een week.

Verder zijn alle transacties openbaar, wanneer iemand de boel probeert te belazeren is dat voor de gehele gemeenschap zichtbaar.

Tot slot krijg je als eigenaar altijd een e-mailtje van je transacties. Hier staat ook een link in waarmee je een transactie kunt terugdraaien. In dat geval krijgen alle bij de transactie betrokken partijen een e-mailtje dat jij dat gedaan hebt.

Retentie

Op de eerste van elke maand worden alle transacties die ouder zijn dan 3 maanden uit de transacties lijst gewist. Omdat we backups hebben zijn deze nog wel voor het bestuur inzichtelijk.

Maar hoe wil je het dan doen met het saldo? Houdt je dat apart bij? Het is immers niet de bedoeling dat iemands eindsaldo omhoog of omlaag gaat als er iets uit de transacties gewist wordt.

Hoe werkt het voor deelnemers

Er zijn 6 hoofdfuncties, waarvan je sommige op meerdere manieren kunt aanspreken.

  1. Inzien van je transacties
  2. Gerapporteerd krijgen van je transacties
  3. Geld storten op je SpaceTegoed
  4. Geld opnemen van je SpaceTegoed
  5. Artikel betalen aan de space
  6. Artikel declareren bij de space
  7. SpaceTegoed overmaken aan een andere deelnemer
  8. Correctie doen op een betaling

Inzien van je transacties

Dit doe je als je nieuwsgierig bent naar de transacties die er de afgelopen tijd gedaan zijn op je SpaceTegoed.

  1. Log in op het CRM van de space en ga naar de pagina voor je SpaceTegoed
  2. Hier zie je de hoogte van je tegoed en een overzicht van de de transacties van de afgelopen 3 maanden

Gerapporteerd krijgen van je transacties

Dit krijg je als trigger zodat je zelf kunt ontdekken of er onverwachtte transacties op je SpaceTegoed zijn geweest en/of als je de transacties langer wil kunnen bewaren.

  1. Iedere maand krijg je een overzicht van je tegoed en alle transacties van de afgelopen 3 maanden.

Geld storten op je SpaceTegoed

Dit doe je als je bijvoorbeeld erg in de min staat op je SpaceTegoed en niet verwacht dat je binnenkort iets bij de space zult declareren.

Denk er aan dit deze actie tijd kost van bestuursleden, dus maak er niet te vaak gebruik van.

  1. Stort het bedrag op bankrekening ##### van de space onder vermelding van "Storting SpaceTegoed"
  2. Stuur het bestuur (hetbestuuur@makerspace.nl) een mailtje dat je geld hebt overgemaakt
  3. Binnen een paar dagen staat het geld op je SpaceTegoed
  4. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

Let op: Zonder het sturen van een mailtje heeft het bestuur geen trigger om naar de bankrekening te kijken en kan het lang duren voordat het bedrag wordt opgemerkt.

Todo: mail template maken

Of iets inbouwen in het CRM?

Geld opnmenen van je SpaceTegoed

Dit doe je als je bijvoorbeeld erg krap bij kas zit en je nog wel veel geld op je SpaceTegoed hebt staan. Denk er aan dit deze actie tijd kost van bestuursleden, dus maak er niet te vaak gebruik van.

  1. Stuur het bestuur (hetbestuuur@makerspace.nl) een mailtje dat je een bepaald bedrag wil opnemen.
  2. Na een paar dagen wordt het bedrag door het bestuur van je SpaceTegoed overgemaakt op je bankrekening
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt
  4. Het geld staat op je bankrekening (kan even duren als de bank er lang over doet)

Let op: Voor de veiligheid wordt het bedrag alleen overgemaakt naar het bij het bestuur bekende bankrekeningnummer Let op: Voor de veiligheid is er altijd een wachttijd van ##### dagen voordat het geld wordt overgemaakt

Todo: mail template maken Of iets inbouwen in het CRM? Todo: hoe kan een deelnemer diens bankrekeningnummer wijzigen? Todo: Hoe implementeren we de wachttijd?

Artikel betalen aan de space

Dit doe je als je bijvoorbeeld een biertje uit de koelkast pakt of materialen (inclusief gas, stroom, enzovoort) van de makerspace hebt gebruikt.

Variant 1: Via een Betaalterminal

  1. Ga naar een betaalterminal van de Space en doe de betaling
  2. De betaling wordt van je SpaceTegoed afgeschreven en bijgeboekt op het SpaceTegoed van de space
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

Variant 2: Via het CRM

  1. Log in op het CRM van de space en doe de betaling
  2. De betaling wordt van je SpaceTegoed afgeschreven en bijgeboekt op het SpaceTegoed van de space
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

Artikel declareren bij de space

Dit doe je als je iets gekocht hebt voor de space, bijvoorbeeld een pak koffie of een krat bier. Of dit systeem ook geschikt is voor grotere betalingen als een gasflesvulling of een rekening van HBM, moet nog bekeken worden.

Variant 1: Via een Betaalterminal

  1. Ga naar een betaalterminal van de Space die geschikt is voor declaraties en doe daar de declaratie
  2. De betaling wordt direct op je SpaceTegoed bijgeschreven en afgeboekt van het Spacetegoed van de space
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

Let op: niet iedere betaalterminal is geschikt voor declaraties en/of niet vooraf ingestelde bedragen en/of grotere bedragen.

Variant 2: Via het CRM

  1. Log in op het CRM van de space en doe de declaratie
  2. De betaling wordt direct op je SpaceTegoed bijgeschreven en afgeboekt van het SpaceTegoed van de space
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

SpaceTegoed overmaken naar een andere deelnemer

Dit doe je als je een andere deelnemer geld schuldig bent, bijvoorbeeld voor materialen.

  1. Log in op het CRM van de space en doe de betaling naar de andere deelnemer.
  2. De betaling wordt direct van je SpaceTegoed afgeschreven en bijgeschreven op het SpaceTegoed van de andere deelnemer.
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt.
  4. Ook de andere deelnemer krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt.

Correctie doen op een betaling

Dit doe je als je iets verkeerds hebt gedaan en dit ongedaan wil maken. Ga hier echter spaarzaam mee om, anders wordt het al gauw onoverzichtelijk.

  1. Log in op het CRM van de space en verwijder de betreffende transactie.
  2. De transactie wordt direct ongedaan gemaakt waardoor ook het saldo van jouw SpaceTegoed en dat van de tegenpartij aangepast wordt.
  3. Je krijgt op dat moment automatisch een mailtje waarin het verwijderen van de transactie vermeld wordt.
  4. Ook de tegenpartij krijgt op dat moment automatisch een mailtje waarin het verwijderen van de transactie vermeld wordt.

Moeten we dit echt wel ondersteunen? Correctieboekingen lijkt me veel overzichtelijker.

Typen betaalterminals

Terminal type '7 segment displays'

Prototype simpele/een functie terminal; betaling van 1 euro Prototype simpele/een functie terminal; betaling van 1.75 euro

Bij dit type betaal terminal kan je maar voor één ding, met een vaste prijs, betalen.

  1. Het 7 segment display toont het bedrag. Dat blijft altijd het zelfde.
  2. Swipe je tag langs de terminal.
  3. Het display toont '[--]' en vervolgens 'PAID'. Je hebt nu betaald. Je krijgt een emailtje met de details van je betaling. Hier staat het bedrag in; de naam/locatie van de terminal en eventueel een beschrijving. En je zit dit in het overzicht op de website.
  4. Daarna gaat het weer terug naar stap 1.

Een filmpje van een prototype: https://vimeo.com/manage/videos/625531264

Indien de betaling fout gaat zie je de text 'FAIL' en een cryptische 3 cijferige foutcode. Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan cash betalen, het bij de mailing lijst melden, of het later weer proberen.

Terminal met beeldscherm

Prototype met keuzes Possibly screen

Video: https://player.vimeo.com/video/628163050?h=e344411a85

Bij dit type terminal kun je kiezen wat je betaald met een "+" en "-" knop.

  1. Het display toont de text 'Swipe to Pay" met daaronder iets als "Bier" of "Koffie" en het bedrag.
  2. Met de + en - knop blader je door de opties. Totdat je de juiste hebt.
  3. Swipe je tag langs de terminal.
  4. Indien het bedrag groter is dan 5 euro komt de vraag "Pay <bedrag>" -- OK of Cancel. Bij cancel ga je terug naar stap 1. Bij Pay naar de volgende stap.
  5. Het display toont `paying' ... en tot slot 'Paid by <je eigen naam>'.
  6. En gaat daarna terug naar stap één.

Indien er iets fout gaat zie je op het scherm een foutmelding. Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan cash betalen, het bij de mailing lijst melden, of het later weer proberen. Na een minuut geen gebruik gaat de terminal ook altijd terug naar stap 1.

Hoe werkt het voor het bestuur

Er is een abstractie tussen een betaal station en de daadwerkelijke fysieke terminal die er op dat moment 'aan hangt'.

Dit is omdat sommige stations van alles kunnen (inclusief in de toekomst misschien arbitraire bedragen) en anderen alleen één artikel of een paar artikelen uit een beperkte lijst kunnen afrekenen.

Registreren bestuurslid als Pettycash Beheerder

Het is noodzakelijk dat je door een bestuurslid aangemerkt wordt als Pettycash Beheerder:

  1. Bestuurslid logt in met haar eigen account.
  2. Bestuurslid doet 'sudo' en loopt door de GDPR audit/procedure.
  3. Bestuurslid gaat naar 'raw database access', dan naar 'Users' en zoekt op de persoon haar naam.
  4. In het details record van de persoon wordt een lidmaadschap van de groep 'Pettycash Beheerder' aan de persoon toegevoegd. En dan Save.

De gebruiker krijgt onmiddellijk deze rechten.

Aansluiten fysieke payment terminal

Een fysieke payment terminal maakt zich bij eerste opstarten automatisch aan. Het moet echter wel expliciet geaccordeerd worden.

  1. Zet het apparaat (voor de eerste keer) aan.
  2. Op het scherm verschijnt (indien de wifi werkt, etc) de text 'swipe to connect'. Als dit niet gebeurt heeft het apparaat nog een geldige verbinding.
  3. Een Pettycash Beheerder heeft nu 100 seconden om zijn of haar tag te gebruiken om akkoord te geven op de connectie. Indien je te laat bent begin je gewoon op stap nummer 1.
  4. Alle Pettycash Beheerder krijgen een mailtje als dit gebeurt.
  5. De Pettycash Beheerder logt nu in op het CRM.
  6. Selecteer de optie 'Terminal beheer'. Hier wordt een lijst getoond van de recent aangemelde (nieuwe) terminals.
  7. Selecteer het juiste station. Een eventueel vorige terminal toekenning wordt overschreven.
  8. Alle Pettycash Beheerder krijgen een mailtje dat dit gebeurt is.

Het apparaat is nu bekend bij het CRM. Het moet nu aan een betaal station gekoppeld worden.

Aanmaken nieuw Betaal Station

  1. Log in met eigen account.
  2. Pettycash Beheerder doet 'sudo' en loopt door de GDPR audit/procedure.
  3. Pettycash Beheerder ziet nu een stel extra opties in de normale lijst op https://makerspaceleiden.nl/crm/
  4. Selecteer de optie 'Station beheer'; en dan 'voeg station toe'
  5. Indien het station alleen bepaalde dingen kan verkopen; vink deze dan aan. Je kan ook niets aanvinken; bijvoorbeeld bij een betaal terminal die arbitraire bedragen toelaat.
  6. Indien relevant - kies het 'default' product waar de terminal telkens naar terug springt (na opstarten, na 5 minuten idle). Bijvoorbeeld 'koffie' voor de unit naast de Senseo; of 'bier' voor de unit naast de IJskast.
  7. Koppel het station aan een van de fysieke payment terminals uit de lijst.
  8. Herstart / reset / powercycle de fysieke payment terminal.

Omzetten bestaand betaal station naar nieuwe hardware

  1. Doorloop eventueel de stappen uit `Pairen fysieke payment terminal` indien het station nieuw is.
  2. Log in met eigen account.
  3. Pettycash Beheerder doet 'sudo' en loopt door de GDPR audit/procedure.
  4. Pettycash Beheerder ziet nu een stel extra opties in de normale lijst op https://makerspaceleiden.nl/crm/
  5. Selecteer de optie 'Station beheer'; en dan 'modify station'
  6. Her-koppel het station aan een van de fysieke payment terminals uit de lijst.
  7. Herstart / reset / powercycle de fysieke payment terminal.

REST protocol

Current prefix: pettycash/api/v1

  1. Connecting/registering
    1. call to <prefix>/register?name=<name>. If already registered/accepted; a 200-OK is given along with the registration details as a JSON. Otherwise a 401 is returned with a NONCE
    2. call to <prefix>/register?response=<256 bit sha256 as hex>. the SHA256 of the nonce, tag, client-sha256 and server-256 is provided. If correct, a 200-OK is given along with the registration details as a JSON. Otherwise a 400 or 500 is given; depending on the error.

The JSON consists of the actual name, descriptive string and, where applicable, the priceless.