Zum Inhalt springen
SBC-Standard Der Standard für Büchereien

session.open und session.update

Kommandos
session.open, session.update
Bereich
Sitzung (session)
Profil
Kundenanzeige
Antwort
{"state":"active"}

Eine Sitzung ist die Zeitspanne, in der die Anzeige einer bestimmten Person zugeordnet ist. session.open eröffnet sie, session.update schreibt sie fort – nach jeder Buchung, jeder Verlängerung, jeder Zahlung. Beide Kommandos tragen dieselben Felder.

Der Unterschied liegt allein im Umgang mit dem Vorherigen:

Kommando Wirkung
session.open beginnt neu; alle Angaben der vorigen Sitzung verfallen
session.update ändert nur die mitgesendeten Felder; alle übrigen bleiben stehen

Auftrag#

{"v":1,"cmd":"session.open","lang":"de",
 "customer":{"masked":"B. L.","number":"10245","has_debt":true,
             "balance":"-3.50","currency":"EUR"},
 "counters":{"loans":7,"holds":2,"holds_ready":1,"borrowed":3,"returned":1},
 "dates":{"due_next":"2026-08-29"},
 "items":[{"kind":"loan","title":"Der Schwarm","author":"Frank Schätzing",
           "due":"2026-08-29","cover":"https://…/cover.jpg"},
          {"kind":"return","title":"Momo"},
          {"kind":"hold","state":"ready","title":"Tintenherz"}],
 "notes":[{"severity":"warn","key":"card_expires","date":"2026-09-30"}]}

lang gibt die Sprache vor, in der die Anzeige formulieren soll. Fehlt sie, entscheidet die Anzeige.

customer – die Person#

Feld Inhalt
masked verkürzte Anrede, etwa Initialen. Darf leer sein.
number Lesernummer als Zeichenkette. Zur Anzeige bestimmt: Sie hilft beim Abgleich mit dem Ausweis.
lang Sprachwunsch dieser Person; überstimmt lang des Auftrags
has_debt es bestehen offene Forderungen
balance, currency Kontostand; negativ bedeutet Schulden
valid_until Ablauf der Mitgliedschaft (Datum)

Ein Klarname gehört nicht auf eine öffentlich stehende Anzeige – dazu und zur Lesernummer siehe Betrieb.

counters – die Zählwerte#

Feld Inhalt
loans ausgeliehene Medien insgesamt
holds Vorbestellungen insgesamt
holds_ready davon abholbereit
borrowed in dieser Sitzung ausgeliehen
returned in dieser Sitzung zurückgegeben
renewed in dieser Sitzung verlängert

items – was vorliegt#

Jeder Eintrag hat ein kind:

kind Bedeutung Weitere Felder
loan ausgeliehen title, author, due, cover, barcode
return zurückgegeben title, author, cover, barcode
renew verlängert wie loan, mit neuem due
hold vorbestellt state: waiting oder ready
fee Gebühr amount, currency, reason

items ist immer der vollständige Stand der Sitzung, nie ein Zuwachs. Geht ein Auftrag verloren, ist der nächste damit wieder richtig.

Ein kind, das die Anzeige nicht kennt, übergeht sie. Wer keine Liste führt, sendet nur counters; wer nur items sendet, überlässt der Anzeige das Auszählen. Sind beide vorhanden, gilt counters.

notes – Hinweise#

{"severity":"warn","key":"card_expires","date":"2026-09-30"}

key benennt den Hinweis, severity (info, warn, error) seine Dringlichkeit. Formuliert wird der Hinweis von der Anzeige – die Schlüssel stehen in der Feldübersicht. Kennt die Anzeige einen Schlüssel nicht, zeigt sie nichts, es sei denn, der Eintrag führt zusätzlich ein Feld text mit fertigem Wortlaut.

Antwort#

{"v":1,"ok":true,"result":{"state":"active"}}

Zusammenspiel#

  • Beide Kommandos beenden den Bildschirmschoner und heben eine angekündigte Verabschiedung wieder auf.
  • Solange eine Sitzung offen ist, wechselt die Anzeige nicht von selbst zum Ruhebild.
  • Verlässt der Arbeitsplatz die Aufsicht – Sperrbildschirm, Pause –, sendet das Steuerprogramm idle.show und nicht session.close: Es soll nichts stehen bleiben, aber auch niemand verabschiedet werden, der noch da ist.