Tags:
create new tag
, view all tags

Verrechnung der Benutzung von Lasercutter im RapLab

Beteiligte Personen: SwenVermeul (ID SWS) und Alessandro Tellini (RapLab D-ARCH)

Ausgangslage

Die Benutzung der Lasercutter im RapLab soll über das Verrechnungs-System der ID «Credit-Service» abgerechnet werden, analog zur Benutzung der VPP-Drucker oder des SMS-Gateway. Bisher werden die Benutzer über eine D-ARCH spezifischen LDAP (der sog. Mac-Service) authentisiert. Autorisiert sind aus Gründen der beschränkten Infrastruktur nur Architekturstudenten ab dem 2. Jahr und darüber.

Interface / Schnittstelle

Die Verrechnung sollte über eine einfache REST-Schnittstelle erfolgen. Im folgenden wird die Schnittstelle spezifizert.

Betrag X an User U für Dienstleistung D verrechnen

HTTP POST an (noch zu spezifizerende URL) mit folgenden Parametern

  • admin_username=raplab
  • admin_password=verygeheim
  • service_name=3dprint
  • username=nethzuser
  • amount=10.50
  • currency=CHF
  • payment_comment=17 Minuten 3D Drucker

Bei erfolgreicher Zahlung wird der HTTP-Status 200 OK zurückgegeben.

Bei Fehlern wird ein HTTP-Status 4xx zurückgegeben:

  • 400 Bad Request (allgemeiner Fehler, Fehlerbeschreibung wird im JSON-Format zurückgegeben)
  • 401 Unauthorized (admin_username / admin_password sind nicht korrekt)
  • 404 Not Found (angegebener Service-Name oder nethz-Username existiert nicht)

Mögliche Fehlerursachen können sein:

  • angegebener nethz-Username existiert nicht
  • angegebener Betrag zu hoch / negativ
  • angegebener Service-Name existiert nicht

Wenn das Konto eines nethz-Benutzers einen negativen Saldo aufweist, sollte nicht mit dem Drucken begonnen werden (vppLock=TRUE im LDAPS). Allerdings soll es möglich sein, dass Leute Ihr Konto überziehen. Wenn dies der Fall ist, wird ihr Credit-Konto gesperrt und sie können hinterher nicht mehr ausdrucken (bis die Schuld mit einer Einzahlung getilgt ist).

Kontostand über einen User abfragen

Es ist zu diskutieren, ob dies für die Dienstleistung RapLab von Nutzen sein könnte. Technisch ist es kein grosses Problem:

HTTP GET an (noch zu spezifizerende URL) mit folgenden Parametern

  • admin_username=raplab
  • admin_password=verygeheim
  • username=nethzuser
  • get_amount_available=1

ToDos

  • der Preis für die Dienstleistung muss an der Quelle berechnet werden
  • Web-Service spezifizieren und implementieren, damit die anfallenden Kosten direkt auf das Konto des Benutzers übertragen werden können
  • Minimal benötigte Angaben für eine Buchung sind
    • Username
    • Dienstleistungs-Name
    • Preis
    • Buchungstext
  • die nethz Admingruppe D-ARCH soll um 2 Personen des RapLab erweitert werden, damit allfällige Stornierungen getätigt werden können
  • administrative Trennung der einzelnen Dienstleister, damit z.B. VPP-Leute nur ihre eigenen Dienstleistungen stornieren können
  • Verrechnung per ETH-interne Überweisung erfolgt 4x pro Jahr

Termine

Der Service soll spätestens zum neuen Semesterbeginn verfügbar sein.

-- SwenVermeul - 2013-06-13

Topic revision: r6 - 2013-10-24 - vermeul
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback