Commands
Every command consists of a pair: The device sends a request with an even or odd
code, the library system answers with the code raised by one. 11 (checkout) is
followed by 12, 63 (patron information) by 64. The only exception is the
resend request.
Core set#
A library system must support these nine pairs. They cover everything a self-checkout unit needs for checkout, check-in and account information.
| Request | Response | Command | Purpose |
|---|---|---|---|
| 09 | 10 | Check-in* | take an item back |
| 11 | 12 | Checkout* | charge an item |
| 17 | 18 | Item information* | retrieve details about an item |
| 23 | 24 | Patron status* | check card and password |
| 35 | 36 | End patron session | the patron has finished |
| 63 | 64 | Patron information* | retrieve the account with item lists |
| 93 | 94 | Login* | the device logs in |
| 97 | – | Resend | ask for the last message again |
| 99 | 98 | System status* | ask for readiness and supported commands |
* Extended beyond SIP2 – see below.
Optional set#
These seven pairs are optional. A library system that does not offer them remains
compliant – it merely has to say so in field BX of the
system status.
| Request | Response | Command | Purpose |
|---|---|---|---|
| 01 | 24 | Block patron | block a card |
| 15 | 16 | Hold | place or remove a hold |
| 19 | 20 | Item status update | report item details back |
| 25 | 26 | Patron enable | lift a block |
| 29 | 30 | Renew | renew a single item |
| 37 | 38 | Fee paid | report a fee collected |
| 65 | 66 | Renew all | renew every item of a patron |
None of these seven commands is extended beyond SIP2.
Where the profile goes beyond SIP2#
The commands marked * carry fields or values that do not exist in SIP2. All of
them are dispensable: A device that does not know an extension skips it and
carries on unchanged. They are described under
extensions.
| Command | What is added |
|---|---|
| 09 Check-in | XK type of item identifier |
| 11 Checkout | XK and XL type of identifiers, XZ transaction number |
| 17 Item information | XK type of item identifier, XZ transaction number, circulation status 14 and 15 |
| 23 Patron status | XL type of patron identifier, XP PIN |
| 63 Patron information | XL and XP as above, XH charged today, XD next due date, extra details in the item list |
| 93 Login | three additional positions in response 94 |
| 99 System status | XM operating mode, XE character set, keywords for maintenance mode |
Not counted here is the server identification XS, XU and XF: It is attached
to every response and therefore belongs to no command in particular.
What a device needs of it#
No device uses every command. What it actually sends depends on its job:
| Device | Commands |
|---|---|
| Self-checkout unit | 93, 99, 23, 63, 17, 11, 35 – plus 29/65 if it may renew |
| Return unit | 93, 99, 17, 09 |
| Account terminal | 93, 99, 23, 63, 35 |
| Payment station | 93, 99, 23, 63, 37, 35 |
A complete transaction#
This is what a checkout looks like from the first message to the last:
Device Library system
│ │
├── 93 Login ────────────────────────► │
│ ◄──────────────────── 94 confirmed ──┤
├── 99 System status ────────────────► │
│ ◄──────────── 98 ready, BX... ───────┤
│ │
│ ── patron presents card ── │
├── 23 Patron status ────────────────► │
│ ◄──────────── 24 valid, no block ────┤
├── 63 Patron information ───────────► │
│ ◄──────────── 64 3 items, 0.00 EUR ──┤
│ │
│ ── patron places book ── │
├── 11 Checkout ─────────────────────► │
│ ◄──── 12 charged, due 25.08.2026 ────┤
│ │
│ ── patron finishes ── │
├── 35 End patron session ───────────► │
│ ◄──────────────────── 36 confirmed ──┤
Login and system status run once when the device is switched on; everything else per patron. A device may query the system status again in between – to notice that the library system has meanwhile gone into maintenance mode, for instance.