99 System status
- Request
- 99
- Response
- 98
- Set
- core
- Position in BX
- 4
The system status tells the device two things: whether the library system is ready for transactions at all, and which commands it supports. A device sends the request after login and repeats it at intervals to notice a switch into maintenance mode.
Request 99#
99<status code><max print width><protocol version>
| Field | Length | Required | Content |
|---|---|---|---|
| status code | 1 | yes | 0 ready, 1 out of paper, 2 shutting down |
| max print width | 3 | yes | characters per line the device's receipt printer can print |
| protocol version | 4 | yes | version the device speaks, always 2.00 |
| Identifier | Required | Content |
|---|---|---|
XE |
no | requested character set: w or u, see below |
The library system accepts the three fixed values but does not evaluate them: It answers with its full range regardless.
Response 98#
98<on-line status><checkin ok><checkout ok><ACS renewal policy><status update ok>
<off-line ok><timeout period><retries allowed><date/time sync><protocol version>
<AO...><AM...><BX...><AN...><AF...><AG...><XM...>
| Field | Length | Required | Content |
|---|---|---|---|
| on-line status | 1 | yes | Y the system is reachable and working |
| checkin ok | 1 | yes | Y check-ins are accepted |
| checkout ok | 1 | yes | Y checkouts are booked |
| ACS renewal policy | 1 | yes | Y renewals are permitted |
| status update ok | 1 | yes | Y the device may set patron blocks |
| off-line ok | 1 | yes | Y the device may cache during an outage and file later |
| timeout period | 3 | yes | time in tenths of a second a device should wait for a response |
| retries allowed | 3 | yes | number of retries before the connection counts as broken |
| date/time sync | 18 | yes | date and time on the library system |
| protocol version | 4 | yes | 2.00 |
| Identifier | Required | Content |
|---|---|---|
AO |
yes | institution identifier |
AM |
no | name of the library |
BX |
yes | supported commands, see below |
AN |
no | terminal location as held by the library system |
AF |
no | message for the screen |
AG |
no | message for the receipt |
XM |
no | operating mode: NORMAL or MAINT |
XE |
no | binding character set: w or u, see below |
The date/time sync is the binding time for the whole transaction. A device should set its own clock by it: Otherwise the patron's receipt shows a different time from the library's circulation journal.
Supported commands (BX)#
Field BX is a sequence of Y and N – one position per command pair, in a
fixed order. Y means: This pair is supported.
| Pos. | Command | Pos. | Command |
|---|---|---|---|
| 0 | Patron status (23) | 8 | End patron session (35) |
| 1 | Checkout (11) | 9 | Fee paid (37) |
| 2 | Check-in (09) | 10 | Item information (17) |
| 3 | Block patron (01) | 11 | Item status update (19) |
| 4 | System status (99) | 12 | Patron enable (25) |
| 5 | Resend (97) | 13 | Hold (15) |
| 6 | Login (93) | 14 | Renew (29) |
| 7 | Patron information (63) | 15 | Renew all (65) |
A library system supporting the core set and nothing else reports
YYYNYYYYYNYNNNNN. The device goes by this: What stands at N it does not even
ask for.
Agreeing the character set#
The normal case is Windows-1252. A device able to speak UTF-8 says so in field
XE of its request; the library system answers in the same field with the
character set that applies from then on.
| Value | Character set |
|---|---|
w |
Windows-1252 |
u |
UTF-8 |
These are the same letters as at position 17 of the record label.
Three rules keep the procedure unambiguous:
- The library system decides. It may follow the request or insist on
w; the device goes by the answer. - Without
XEin the answer, Windows-1252 applies. An older library system skips the field and answers without it – leaving everything as it was. - The switch takes effect only from the next message. Request and response of the system status still run in Windows-1252. Otherwise one side would have to interpret a message whose character set it does not yet know.
To change the character set later, query the system status again.
Maintenance mode#
During daily closing, backup or maintenance work a library system can be
reachable without being able to book. on-line status then stays Y while
check-in, checkout, renewal and status update stand at N; XM carries MAINT,
and AF holds a text the device can show the patron.
This is expressly different from a failed system: The device knows it may ask again later and need not report an outage to the patron.
Switching maintenance mode#
The mode can be set over the same connection. Instead of the three fixed fields the request then carries a keyword:
| Request | Effect |
|---|---|
99MAINT_ON |
switch maintenance mode on – checkout, check-in and renewal are blocked |
99MAINT_OFF |
end maintenance mode – normal operation |
99STATUS |
query only, change nothing |
In all three cases the response is an ordinary system status 98 from which the
new state can be read.
These three keywords are meant for the library software itself and for maintenance tools, not for self-service devices: The daily closing silences the devices with them and releases them again afterwards. A device should not send them – and a library system should accept them only from counterparts it trusts.
Example#
9901002.00AY1AZFCA7<CR>
98YYYYYY01000420260728 1430122.00AOBVS|AMSt James Library|BXYYYNYYYYYNYNNNNN|ANEntrance|AFSelf-service|AGSelf-service|XMNORMAL|AY1AZD546<CR>