SIP2 Developers Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 36

3M Standard
Interchange Protocol
V2.00
3M™ SelfCheck™ system
SIP2 Interface Developer’s
Guide
78-6970-7216-9
Document Version 2.21, Updated June 7, 1999
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
ii
Table of Contents
1ABOUT THIS SPECIFICATION.........................................................................................................................................1
1.1 INTENT OF THIS SPECIFICATION .................................................................................................................................1
1.2 ORGANIZATION ...............................................................................................................................................................1
2OVERVIEW OF 3M SELFCHECK SYSTEM....................................................................................................................2
2.1 SYSTEM COMPONENTS..................................................................................................................................................2
2.2 FEATURES OF 3M SELFCHECK SYSTEM ......................................................................................................................2
2.3 HOW 3M SELFCHECK SYSTEM WORKS........................................................................................................................3
2.3.1 SIP2 Message Communication.............................................................................................................................4
2.3.2 3M SelfCheck system startup and ACS Login...................................................................................................4
2.3.3 SC and ACS Status Message Pair........................................................................................................................4
2.3.4 Checkout..................................................................................................................................................................5
2.3.5 Patron Tampering During Checkout....................................................................................................................7
2.3.6 Processing at End of Checkout ............................................................................................................................7
2.3.7 Card Left in System................................................................................................................................................7
2.3.8 End of Day...............................................................................................................................................................7
3MESSAGES FROM 3M SELFCHECK SYSTEM TO ACS .............................................................................................8
3.1 LOGIN, MESSAGE 93.........................................................................................................................................................8
3.2 SC STATUS, MESSAGE 99 ...............................................................................................................................................8
3.3 REQUEST ACS RESEND, MESSAGE 97 ..........................................................................................................................9
3.4 PATRON STATUS REQUEST , MESSAGE 23...................................................................................................................9
3.5 PATRON INFORMATION MESSAGE, MESSAGE 63 .......................................................................................................9
3.6 BLOCK PATRON, MESSAGE 01.......................................................................................................................................9
3.7 PATRON ENABLE, MESSAGE 25...................................................................................................................................10
3.8 ITEM INFORMATION, MESSAGE 17.............................................................................................................................10
3.9 CHECKOUT, MESSAGE 11 .............................................................................................................................................10
3.10 CHECKIN, MESSAGE 09 .................................................................................................................................................11
3.11 FEE PAID MESSAGE, MESSAGE 37...............................................................................................................................12
3.12 END PATRON SESSION, MESSAGE 35 ..........................................................................................................................12
4. MESSAGES FROM ACS TO 3M SELFCHECK SYSTEM...........................................................................................13
4.1 LOGIN RESPONSE, MESSAGE 94 ...................................................................................................................................13
4.2 ACS STATUS, MESSAGE 98..........................................................................................................................................13
4.3 REQUEST SC RESEND, MESSAGE 96............................................................................................................................14
4.4 PATRON STATUS RESPONSE, MESSAGE 24................................................................................................................14
4.5 PATRON INFORMATION RESPONSE, MESSAGE 64....................................................................................................14
4.6 PATRON ENABLE RESPONSE, MESSAGE 38................................................................................................................15
4.7 ITEM INFORMATION RESPONSE, MESSAGE 18..........................................................................................................15
4.8 CHECKOUT RESPONSE, MESSAGE 12..........................................................................................................................16
4.10 CHECKIN RESPONSE, MESSAGE 10..............................................................................................................................17
4.11 FEE PAID RESPONSE, MESSAGE 38..............................................................................................................................18
4.12 END SESSION RESPONSE, MESSAGE 36 .......................................................................................................................18
5. MESSAGE-PASSING SCENARIOS.................................................................................................................................19
5.1 SCENARIO 1 - STARTUP OF SC....................................................................................................................................19
5.2 SCENARIO 2 - STARTUP OF SC WITH SOCKETS CONNECTION TO ACS..............................................................19
5.3 SCENARIO 3 - SHUTDOWN OF SC ...............................................................................................................................19
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
iii
5.4 SCENARIO 4 - NORMAL ITEM CHECKOUT ................................................................................................................19
5.5 SCENARIO 5 - ALTERNATE ITEM CHECKOUT .........................................................................................................20
5.6 SCENARIO 6 - NORMAL ITEM CHECKIN ....................................................................................................................20
5.7 SCENARIO 7 - NORMAL ITEM CHECKIN WITH SORTING........................................................................................21
5.8 SCENARIO 8 - PATRON REMOVES LIBRARY CARD...................................................................................................21
5.9 SCENARIO 9 - PATRON FORGETS TO TAKE LIBRARY CARD (3M SELFCHECK SYSTEM TIMES OUT).............21
5.10 SCENARIO 10 - PATRON REMOVES ITEM TOO EARLY - AFTER CHECKOUT BUT BEFORE
DESENSITIZE....................................................................................................................................................................................21
5.11 SCENARIO 11 - PATRON REMOVES BOOK TOO EARLY - AFTER CHECKIN BUT BEFORE
RESENSITIZE ....................................................................................................................................................................................22
5.12 SCENARIO 12 - MULTIPLE BOOKS DETECTED ........................................................................................................22
5.13 SCENARIO 13 - PATRON CHECKS OUT ITEM THAT HAS A FEE..............................................................................22
5.14 SCENARIO 14 - COLLECTION OF FEES FROM PATRON............................................................................................23
5.15 SCENARIO 15 - TEST PATRON IS DISABLED AND RE-ENABLED DURING A VERIFICATION RUN.......................23
6. PROGRAMMING NOTES ..................................................................................................................................................25
6.1 PATRON STATUS AND PATRON INFORMATION MESSAGES...................................................................................25
6.2 MAXIMUM MESSAGE SIZE...........................................................................................................................................25
6.3 ENCRYPTION..................................................................................................................................................................25
6.4 MONITOR DISPLAY MESSAGES AND PRINTER MESSAGES.....................................................................................25
6.4 CHARACTER SETS.........................................................................................................................................................25
6.5 ERROR DETECTION.......................................................................................................................................................26
6.6 PACKET AND CHECKSUM EXAMPLES........................................................................................................................26
6.7 ASIAN 3M SELFCHECK SYSTEMS................................................................................................................................27
6.7.1 Korean Standard Protocol...................................................................................................................................27
6.7.2 Taiwanese Standard Protocol.............................................................................................................................27
6.7.3 Japanese Standard Protocol................................................................................................................................28
6.7.4 Taiwanese Printers ...............................................................................................................................................28
7. COMMUNICATIONS MECHANISMS.............................................................................................................................29
7.1 SERIAL CONNECTION...................................................................................................................................................29
7.2 TELNET CONNECTION.................................................................................................................................................29
7.3 SOCKET CONNECTION .................................................................................................................................................29
APPENDIX A - SIP GLOSSARY................................................................................................................................................30
APPENDIX B - SIP2 REFERENCES ..........................................................................................................................................31
3M SOFTWARE SUPPORT SERVICES ..................................................................................................................................32
REVISION INFORMATION........................................................................................................................................................33
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
1
1About This Specification
1.1 Intent of this Specification
The intent of this document is to provide software developers with information required to develop and test
an interface between a 3M SelfCheck system and an Automated Circulation System (ACS). The interface
protocol required is 3M SIP V2.00 (SIP2). SIP is a standard that is widely accepted by the library industry
and is defined in the 3M™ Standard Interchange Protocol V2.00 document.
A SIP interface is required between a 3M SelfCheck system and ACS to provide the exchange of valuable
information about patrons and loans. This document provides insight into what software needs to be
implemented to be compliant with SIP2. This document does not make any statements about how the
interface is designed. That is the responsibility of each software engineer. This document also does not
discuss SIP2 Certification. This is discussed in the 3M Standard Interchange Protocol V2.00, 3M™
SelfCheck™ system Certification Process document. All these documents are available from 3M.
1.2 Organization
This specification contains the following sections.
Section 1. About this Specification
This section, describing intent and organization of the document.
Section 2. Overview of 3M SelfCheck system
This section provides a general description of the primary components, a general overview of 3M SelfCheck
system and a description of how 3M SelfCheck system works.
Section 3. Messages from 3M SelfCheck system to ACS
This section provides additional information about messages sent from 3M SelfCheck system.
Section 4. Messages from ACS to 3M SelfCheck system
This section provides additional information about messages sent from an ACS.
Section 5. Message-Passing Scenarios
This section defines message passing scenarios to further explain the use of SIP2 messages.
Section 6. Programming Notes
This section describes provides programming notes or information that is valuable when implementing a
SIP2 interface.
Section 7. Communication Mechanisms
This section describes the mechanisms for sending and receiving messages between an SC and ACS.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
2
2Overview of 3M SelfCheck system
3M SelfCheck system is a self-service library system used by patrons to check out their own library items. It
interacts with the circulation system to complete the loan transactions. In essence, it emulates the library
item checkout procedures normally conducted at the circulation desk.
2.1 System Components
The following are primary components in a 3M SelfCheck system.
Component Description
Controller Runs the 3M SelfCheck system software which drives the workstation
patron graphics and interfaces between the ACS and the 3M SelfCheck
system.
Monitor Displays instructions, diagrams, and information to guide the patron
through the operation of the 3M SelfCheck system.
Scanner Reads barcodes on library cards and library items. The scanning area
identifies the location for patrons to place their library card. This area can
be on the left, right or center of the cradle.
Cradle Physically holds the patron’s library card and library item during loan
transaction. The following components are located under or behind the
cradle: proximity detectors which sense the presence library items and
cards, a desensitizing module which desensitizes security strips when
loans are confirmed by the circulation system and a multiple book detect
(MBD) module which signals the presence of more than one item in the
cradle and stops the loan transaction when that occurs.
Date Due Printer Provides the patron with a printed copy of the return due date.
PIN Keypad Allows the patron to enter PIN numbers for added security, select a
language, or signal the end of a borrowing session when magnetic patron
cards are used.
Video Checkout Unit Attaches to a 3M SelfCheck system and allows a patron to check out
video cassette tapes. This unit contains an extra scanner for the video.
Magnetic Card Reader
(Optional) Reads patron information encoded on magnetic stripes on patron cards.
2.2 Features of 3M SelfCheck system
Not all of the features listed below are available for all 3M SelfCheck system models.
Feature Description
Communica-
tions with the
ACS System
3M SelfCheck system interfaces with the ACS to verify the borrowing privileges of the
patron, to verify the borrowing status of the library material, and to communicate
messages to the patron. The 3MStandard Interchange Protocol (SIP) specifies the
necessary messages and appropriate responses between the two systems.
Checkout 3M SelfCheck system interfaces with the ACS to selectively allow authorized patrons
to checkout materials.
Blocked
Checkout Unauthorized borrowers, non-circulating materials, attempts to simultaneously
process several books on one bar-code and/or substitute library materials, are all
detected, and the patron is prevented from further processing. 3M SelfCheck system
also detects suspicious patron activities (or patron tampering) which will prevent
further processing.
Checkin This feature allows a patron to check in an item. It also provides basic data to an
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
3
external sorting device. The Checkin Response message has a sort bin field that can
be interpreted as a bin number. Sort bin would be determined by the ACS based on
the item identifier. The sort bin field is variable-length.
Suspicious
Patron
Handling or
Patron
Tampering
The 3M SelfCheck system checks the patron’s use of the system to detect
mishandling or suspicious behavior of a patron. If this behavior is suspected, the
patron’s card can be blocked from future use (see Blocked Checkout). A library
employee would be required to re-activate the card.
Closed
Reserves The ACS may notify the 3M SelfCheck system to perform the checkout process
without desensitizing the item being processed. This method may be used to control
Closed Reserve material — i.e. the item is checked out to a particular patron, but the
security marker is still active. This restricts removal of the item from the Reserve area.
Magnetic Media
Checkout 3M SelfCheck system prevents damage to magnetic media by (1) allowing checkout of
videos through the Video Checkout Unit and (2) preventing the checkout of any other
magnetic media type. If the item is a video and the Video Checkout Unit is installed,
the 3M SelfCheck system desensitizes the security strip through the Video Check Out
unit. This unit prevents accidental erasure of the magnetic media. The ACS must
notify the 3M SelfCheck system that an item is magnetic media by setting the magnetic
media flag in the Checkout and Checkin response messages.
Bound Journals A bound journal is defined as a collection of items bound together. There may be
multiple security strips in one bound journal because each item within may contain a
security strip. To allow checkout without disabling the multiple book detection
feature, the ACS can tell the 3M SelfCheck system to ignore the security strips. The
ACS sets the “security inhibit” field to “Y”. This field is used in the Checkout
Response and Renew Response messages.
Chargeable
Loans This feature allows a patron to choose to agree to pay a fee prior to completing the
checkout of an item. If the patron chooses not to pay the fee, the item is not checked
out. If they chose to pay the fee, the item is allowed to be checked out.
Fines and Fees The payment of fines and fees can be communicated between the 3M SelfCheck
system and ACS. Payment information includes three data fields: fee type, payment
type and fee amount.
3M SelfCheck
system
Configurations
The SC allows a library to configure the software and hardware for its specific needs.
(i.e. configure serial ports, configure scanner arm placement.)
Usage Statistics 3M SelfCheck system manages usage statistics. These statistics include the number
of items checked out, response time for SIP messages, the number of checkouts by a
patron, etc.
2.3 How 3M SelfCheck system works
This section gives a general overview of the 3M SelfCheck system.
When a patron places a library card in the 3M SelfCheck system, a magnetic or optical scanner is activated
that reads the bar code. The barcode information is then sent to the ACS, using SIP2 protocol, for
verification. If the ACS shows that the patron is approved, 3M SelfCheck system leads the patron through
the checkout process. The patron then places the item, with its barcode, within range of the optical scanner.
The item bar code is sent to the ACS, again using SIP2 protocol. If the ACS verifies that the item can be
circulated, the item is charged out, 3M SelfCheck system desensitizes the 3M Tattle-tape™ Strip and a data
due receipt is printed. Note that the desensitization operation can harm audio tapes or computer disks, and
these are excluded from the 3M SelfCheck system processing. Video tapes may be processed if the Video
CheckOut option is installed.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
4
3M Tattle-tape Strips are a security strip that can be installed into library materials. After security checks
have been conducted and verified by the 3M SelfCheck system, the 3M tattle-Tape Strip is desensitized.
This allows the material to be taken from the library without causing the 3M Library Security System to
sound an alarm. When the 3M tattle-Tape Strip for a particular book is sensitized, the book is detected by
the 3M Library Security System, which then in turn sounds an audible alarm. With this sytem, libraries can
more closely control checking out of materials.
2.3.1 SIP2 Message Communication
All communication between the 3M SelfCheck system and the ACS is initiated by the 3M SelfCheck system.
The ACS only responds to 3M SelfCheck system messages, it does not initiate messages. For each
message sent from 3M SelfCheck system, there is a required response message from the ACS.
Each message pair is independent of previous or following message pairs. For instance, it is not required for
the SC to send a Patron Status Request message or Patron Information Request message before a Checkout
Message. The Checkout Message contains all the information that is needed for the ACS to perform a
Checkout operation. It is intended that each protocol message pair be independent of any other protocol
message pair.
2.3.2 3M SelfCheck system startup and ACS Login
When power is applied to the 3M SelfCheck system, its internal PC runs self diagnostics. If all pass, the
system then determines if the ACS requires a special login procedure. This is sometimes required for a
connection. For example, the 3M SelfCheck system can be configured to send certain character strings and
then wait for certain character strings from the ACS. This is referred to by the 3M SelfCheck system as the
“sends/expects”. For example, the system could use the sends/expects settings to do the following:
send a carriage return
wait for "login:"
send a user ID
wait for "Password:"
send a password
wait for "$"
If required, the 3M SelfCheck system could also use the sends/expects mechanism for logging off of the
ACS. During this startup and login procedure, the 3M SelfCheck system may display a screen message. If
the software is unable to establish connection to the ACS, a message is displayed and the system halts.
2.3.3 SC and ACS Status Message Pair
Assuming successful login, the SC Status message is sent to the ACS. The 3M SelfCheck system software
will then expect to see the ACS Status message. This message can change or set some of the 3M SelfCheck
system operating parameters (e.g. retry attempts, Library name, etc.) Following this exchange, the 3M
SelfCheck system will be ready for normal operation and will display a message instructing the patron to
place the library card in the card pocket or card slot.
The SC Status message is considered a “safe message and it may be used at any time for such purposes as
maintaining communication links. The proper ACS Status message should be made to this message no
matter what sequence of commands have preceded the SC Status message.
If the ACS does not respond within the configured time frame, the 3M SelfCheck system will again attempt
to send the SC Status message until it reaches its retry limit. If it does not receive an ACS Status within the
retry limit, the 3M SelfCheck system then displays a message to the patron and halts.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
5
2.3.4 Checkout
A typical checkout requires the following steps: process patron bar code, process the bar code(s) from
item(s) to be checked out, desensitize appropriate items and print a receipt.
2.3.4.1 Processing the Patron Bar Code
A scanner (usually magnetic or optical) is connected to a 3M SelfCheck system serial port. When an item
(i.e. patron card or book) is placed on the 3M SelfCheck system, the proximity sensors are blocked which
activates the scanner. The scanner reads the bar code and the 3M SelfCheck system constructs a patron
status or patron information request message. It sends this command to the ACS system.
The ACS software receives a request for patron information, validates the patron bar-code, determines the
patron’s status, constructs a return message and sends it to the 3M SelfCheck system.
Based on the values in the patron response message, the 3M SelfCheck system determines the next actions.
If the patron is valid, the 3M SelfCheck system will change its graphics to instruct the user to now place an
item under the scanner. For a patron that is not valid or not allowed to check out items, the 3M SelfCheck
system informs the patron to go to the circulation desk.
2.3.4.2 Processing the Item Bar Code
When the patron places the item to be checked out on the 3M SelfCheck system cradle, the proximity
sensors again are blocked and the scanner reads the bar code. After properly reading the code, the 3M
SelfCheck system software constructs a Checkout message which includes item and patron information.
Please note that the Patron Status Request/Patron Status Response message pair or the Patron Information
Request/Patron Information Response message pair is not required to precede a checkout message pair. All
required item and patron information is available in the Checkout message. Once the Checkout message is
constructed, the 3M SelfCheck system sends the request to the ACS system for validation.
The ACS software receives the Checkout message, validates the information, determines if the item can be
checked out, constructs a Checkout Response message and sends it to the 3M SelfCheck system.
Based on the values in the Checkout Response message, the 3M SelfCheck system determines how to
process the item. The following scenarios are possible:
1) Nominal checkout of a non-magnetic item – 3M SelfCheck system desensitizes the item’s
security tag and the item is checked out to the patron.
2) Video tape checkout is allowed – if a video checkout unit is installed, the item is
desensitized and checked out to the patron. If a video checkout unit is not installed, the
item is not checked out to the patron.
3) Item can be checked out but cannot leave the library – item is checked out to patron but
security tag is not desensitized. This scenario would be used for a Closed Reserve item.
4) Item cannot be checked out or is magnetic media (other than a video tape) – a message is
displayed
5) Patron cannot checkout items – a message is displayed
6) Item is being requested for renewal – if the library policy allows renewals, the item is
renewed to the patron.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
6
2.3.4.3 Renewal Processing
The processing of renewals requires special attention. There are three messages and three data fields that
need to be discussed. The messages and data fields that contain information about renewals are listed here:
Message Field Description
ACS Status message ACS Renewal Policy The overall library renewal policy.
Checkout Request SC Renewal Policy The renewal policy for a specific 3M SelfCheck
system.
Checkout Response OK Indicates whether or not the item was checked out to
the patron
Checkout Response Renewal ok An indication from the ACS if the item was renewed.
The overall renewal library policy is probably configured by the library in the ACS software. This policy is
communicated to the 3M SelfCheck system via the ‘ACS renewal policy’ field of the ACS Status message.
A ‘Y’ means renewals are allowed, an ‘N’ means they are not allowed. This message is sent to the 3M
SelfCheck system at the start of operation.
However, a library may decide that a specific 3M SelfCheck system may not allow renewals even if the
overall policy is to allow them. 3M SelfCheck system permits the library to set that 3M SelfCheck system’s
renewal to deny renewals. Therefore the ACS must read the ‘SC renewal policy’ field of the Checkout
message and perform logic to determine if the renewal is allowed.
There are four scenarios that need to be considered. If the ACS library policy allows renewals and the 3M
SelfCheck system is configured to allow renewals, the ACS software performs the logic to allow the renewal.
The fields are set to the following values:
Field Value
ACS renewal policy Y
SC renewal policy Y
ok 1
Renewal ok Y
If the ACS library policy allows renewals and the 3M SelfCheck system is configured to NOT allow
renewals, the ACS software performs the logic to deny the renewal. The fields are set to the following
values:
Field Value
ACS renewal policy Y
SC renewal policy N
ok 0
Renewal ok N
If the ACS library policy does NOT allow renewals and the 3M SelfCheck system is configured to allow
renewals, the ACS software performs the logic to deny the renewal. The fields are set to the following
values:
Field Value
ACS renewal policy N
SC renewal policy Y
ok 0
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
7
Renewal ok N
If the ACS library policy does NOT allow renewals and the 3M SelfCheck system is configured to NOT allow
renewals, the ACS software performs the logic to deny the renewal. The fields are set to the following
values:
Field Value
ACS renewal policy N
SC renewal policy N
ok 0
Renewal ok N
2.3.5 Patron Tampering During Checkout
During the entire time while the item is detected, the 3M SelfCheck system is checking sensors to see that
only one item is present and that no attempts are made to substitute or remove items. If tampering is
suspected or multiple PIN entries are detected, the patron can be optionally blocked from continued use of
3M SelfCheck systems and the session will be terminated. The item(s) currently being checked out will be
automatically checked back in by the 3M SelfCheck system.
If tampering is detected before the Checkout message is sent to the ACS, the 3M SelfCheck system ends the
transaction with the patron. If tampering is detected after the Checkout message has been sent, the 3M
SelfCheck system sends a Checkin message. The ACS updates its database to show that this item was
checked back in. In either scenario, a message to the patron indicates they cannot proceed with the loan.
The 3M SelfCheck system may also send a Block Patron message to the ACS to block the patron’s use of
the 3M SelfCheck system. The ACS is expected to send a Patron Status Response message with the
applicable patron privileges disabled.
2.3.6 Processing at End of Checkout
When a patron completes the checkout of all desired items, the patron should remove their library card. If
the patron bar code is being read by a magnetic reader, the patron needs to enter the ‘#’ key on the keypad.
Based on the 3M SelfCheck system configuration, this will trigger the printing of a receipt. This marks the
end of the transaction for this patron.
2.3.7 Card Left in System
Should a patron forget and leave their library card in place on the 3M SelfCheck system, a Block Patron
message may be sent to the ACS. This is an indication for the ACS to disable or invalidate the patron card
to prevent its unauthorized use. The ACS should respond with the Patron Status Response message.
2.3.8 End of Day
At the end of the day or when the 3M SelfCheck system requires shut down, the software sends a SC Status
message to the ACS indicating the 3M SelfCheck system is going off-line. The ACS should respond to this
command again with the ACS Status message to acknowledge that the 3M SelfCheck system is now off-line.
The 3M SelfCheck system software may then process required log-out send/expect messages. Following
the logoff, the ACS should perform any logic that is required to return the port to a state that allows a future
login. This needs to be done to prevent any errors when 3M SelfCheck system attempts to log in again.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
8
3Messages from 3M SelfCheck system to ACS
This section describes the SIP messages that are sent from the 3M SelfCheck system to the ACS. Additional
information pertaining to error detection, checksums and sequence numbers are in Section 6, Programming
Notes of this document. To describe each message, the following information is provided:
Brief message description
ACS return message
References to message passing scenario(s) using this message (See section 5)
Critical field descriptions - For some messages, additional information is provided about some data
fields in the message. This information may be useful to software developers who are building
a SIP2 interface.
Example of message
Description of the example
3.1 Login, Message 93
If this message is being used, it is thefirst message sent from the 3M SelfCheck system upon startup. The
3M SelfCheck system sends this message to log into an ACS server program. The ACS must respond with
the Login Response message. This message is most commonly used with a Sockets connection. See
scenario 2.
Critical field descriptions:
Field name Description of Usage
UID algorithm This field is currently not supported by 3M SelfCheck system.
PWD algorithm This field is currently not supported by 3M SelfCheck system.
Example:
9300CNLoginUserID|COLoginPassword|CPLocationCode|AY5AZEC78<CR>
Description of Example:
(93)(No user identifier algorithm)(No password algorithm)
(LoginUserID)(LoginPassword)(LocationCode)(Sequence Number 5)(Checksum)(CR)
3.2 SC Status, Message 99
The 3M SelfCheck system sends this command when it is coming on-line, going off-line or when the 3M
SelfCheck system printer is out of paper. It also indicates the SIP version supported by this SC system. This
message is sent from the 3M SelfCheck system on startup. If the Login message is being used, this message
follows the Login message. The ACS must respond with a SC Status Response. See scenarios 1 and 2.
Critical field descriptions:
Field name Description of Usage
Max print
width
This is the maximum number of characters that the SC printer can print in one line. If the ACS
wants to print longer messages it can send multiple print line fields. If more characters are
sent in a print line data field than this max print width, the data will be truncated.
protocol
version
A SIP1 3M SelfCheck system will send “1.00”, a SIP2 sends “2.00”.
Example:
9900401.00AY1AZFCA5<CR>
Description of Example:
(99)(on line)(40 characters)(V1.00)(Sequence Number 1)(Checksum)(CR)
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
9
3.3 Request ACS Resend, Message 97
This message requests the ACS to re-transmit its last message. It is sent by the SC to the ACS when the
checksum in a received message does not match the value calculated by the SC. The ACS should respond
by re-transmitting its last message. This message should never include a “sequence number” field, even
when error detection is enabled, but would include a “checksum” field since checksums are in use.
Example:
97<CR>
3.4 Patron Status Request, Message 23
This command message is initiated by the 3M SelfCheck system when it requires information about a patron
from the ACS. The ACS must respond to this command with a Patron Status Response message. Refer to
scenarios 4, 5, 10, 13 and 14.
Critical field descriptions:
Field name Description of Usage
Patron identifier The patron bar-code or card data
Patron password If the ACS software requires a password for access to the database, then the 3M
SelfCheck system will prompt the patron for their password and it will be sent to
the ACS in this field. If this feature is not used then this field will be sent but the
password will be zero length.
Example:
2300119960212 100239AOid_21|104000000105|AC|AD|AY2AZF400<CR>
Description of Example:
(23)(English)(2/12/1996/10:02:39/a.m./Local)(id_21)(104000000105)(No term password)(no patron
password)(Sequence Number 2)(Checksum)(CR)
3.5 Patron Information Message, Message 63
The 3M SelfCheck system sends this command when it requires detailed information about a patron. The
ACS must respond with a Patron Information Response. Refer to scenarios 4, 5, 10, 13 and 14.
Critical field descriptions:
Field name Description of Usage
start item and end
item
A maximum of 10 items will requested by 3M SelfCheck system at one time.
Therefore, examples of legal values include : start item = 1 and end item = 10, or
start item = 12 and end item 21.
Example:
6300119980723 091905Y AOInstitutionID|AAPatronID|BP00001|
BQ00005|AY1AZEA83<CR>
Description of Example:
(63)(English)(07/23/1998/9:19:05 a.m. Local)(Hold Items Request)(Institution ID)(PatronID)(no terminal
password)(no patron password)(start item is 00001)(end item is 00005)( Sequence Number 1)(Checksum)(CR)
3.6 Block Patron, Message 01
The 3M SelfCheck system sends this command when requesting that the ACS block a patron’s card. For
example, if a patron is suspected of tampering with the 3M SelfCheck system or when a patron forgets to
take their card, this command may be sent. The ACS must respond with a Patron Status
Response, and should invalidate the patron’s card. Refer to Scenario 9 and 15.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
10
Critical field descriptions:
Field name Description of Usage
Card
retained
This field notifies the ACS if the patron’s library card has been retained by the 3M SelfCheck
system. The ACS may ignore this field or notify the library staff that the patron’s card has
been retained by the 3M SelfCheck system. The 3M SelfCheck system does not physically
retain a card.
Example:
01N19960213 162352AO|ALCARD BLOCK TEST| AA104000000705|AC|AY2AZF02F<CR>
Description of Example:
(01)(Card not retained)(02/13/1996/4:23:52 p.m. Local)(No id)(Blocked card message)(104000000705)(No
terminal password)(Sequence Number 2)(Checksum)(CR)
3.7 Patron Enable, Message 25
This message can be used by the SC to re-enable canceled patrons. It should only be used for system
testing and validation. The ACS should respond with a Patron Enable Response message. See scenario 15.
Example:
2519980723 094240AOCertification Institute ID|AAPatronID|AY4AZEBF1<CR>
Description of Example:
(25)(7/23/1998/9:42:40 a.m.)(Certification Institute ID)(PatronID)(no terminal password)(no patron
password)(Sequence Number 4)(Checksum)(CR)
3.8 Item Information, Message 17
This message may be used to request item information. The ACS should respond with the Item Information
Response message. See scenario 5.
Example:
1719980723 100000AOCertification Institute ID|ABItemBook|AY1AZEBEB
Description of Example:
(17)(7/23/1998/9:10:00 a.m.)(Certification Institute ID)(ItemBook)(no terminal password)(Sequence Number
1)(Checksum)(CR)
3.9 Checkout, Message 11
This command message is initiated by the 3M SelfCheck system when it is requesting to checkout materials.
The 3M SelfCheck system may also send this command when a Checkin message fails. The ACS must
respond with a Checkout Response message. Refer to scenarios 4, 5, 9, 10, 11, 13 and 15.
Critical field descriptions:
Field name Description of Usage
Cancel (Y or
N)
This field is set to N when a normal checkout of materials is being requested.
This field is set to Y when a previous Checkin message failed.
It is possible for a Checkin command to fail. This problem occurs when the patron removes
the item from the 3M SelfCheck system after it has been checked in by the ACS software but
before it has been resensitized. In this case, the item is considered checked in by the ACS
but it is not sensitized. The patron could exit the library with the item, never to return it. If
this happens, the 3M SelfCheck system would cancel the Checkin by sending a Checkout
message with the cancel field set to Y. See Scenario 9.
If the cancel field is not being used, the ACS must keep track of the previous messages from
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
11
the SC to determine if the Checkout message is being used to checkout an item or to cancel
a failed Checkin.
Item
Properties
In current applications, this field is not used.
SC renewal
policy
A library may chose to configure a 3M SelfCheck system’s renewal policy. This field
contains a ‘Y’ if the library has configured this system to allow renewals and is set to ‘N’ if
they are not to be allowed. The ACS must read this value and compare it to the overall
library policy to determine if a renewal is allowed. Please refer to the Renewal Processing
section of this document for more information.
Example:
11YN19960212 10051419960212 100514AO|AA104000000105|
AB000000000005792|AC|AY3AZEDB7<CR>
Description of Example:
(11)(Renewals OK)(Not no block)(02/12/1996/10:05:14a.m.Local)(same date)(no id)
(104000000105)(000000000005792)(no term password)(Sequence Number 3)(Checksum)(CR)
3.10 Checkin, Message 09
This command message is initiated by the 3M SelfCheck system when it is requesting to checkin materials.
It may also send this command when an item substitution is detected or item removal prior to desensitization
occurs during a checkout transaction. This command will then check the item back into the library ACS.
Refer to scenarios 6, 7, 10, 11 and 15.
Critical field descriptions:
Field name Description of Usage
Cancel (Y or
N)
This field is set to N when a normal checkin of materials is being requested.
This field should be set to Y when a previous Checkout message failed.
It is possible for a Checkout command to fail. This problem occurs when a patron removes
the item from the 3M SelfCheck system cradle after it has been checked out by the ACS
software but before the item has been desensitized by the 3M SelfCheck system. If this
happens, the 3M SelfCheck system would cancel the Checkout by sending a Checkin
message with the cancel field set to Y. The ACS software can also use this field process the
checkin differently (for example, don’t count it in the Checkin statistics, and possibly
decrement the Checkout statistics, also). See Scenario 8.
If the cancel field is not being used, the ACS must keep track of the previous messages from
the SC to determine if the Checkin message is being used to checkin an item or to cancel a
failed Checkout.
return date In current applications, this field is not used.
Example:
09N19980821 085721 APCertification Terminal Location|AOCertification Institute
ID|ABCheckInBook|ACTPWord|BIN|AY2AZD6A5
Description of Example:
(09)(On Line Checkin) (08/21/1998/08:57:21a.m.Local)(no return date specified)(current location is
Certification Terminal Location)(institution id is AOCertification Institute ID)(item identifier is
CheckInBook)(terminal password is TPWord)(item properties are blank)(cancel is N)(sequence number is
2)(checksum is D6A5)
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
12
3.11 Fee Paid Message, Message 37
The 3M SelfCheck system sends this message to notify the ACS that a fee has been collected from the
patron. The ACS should record this information in the database and respond with a Fee Paid Response
message. See scenario 14.
Example:
3719980723 0932110401USD
BV111.11|AOCertification Institute ID|AAPatronID|BKTransactionID|AY2AZE1EF<CR>
Description of Example:
(37)(07/23/1998/9:32:11)(fee type is overdue)(payment type is VISA)(currency type is US Dollar)(fee amount
is $111.11)(Certification Institute ID)(Patron ID)(no terminal password)(no patron password)(no fee
identifier)(transaction id is Transaction ID)(Sequence #2)Checksum)(CR)
3.12 End Patron Session, Message 35
The 3M SelfCheck system will send this message when a patron using their library card has completed all of
their transactions. It will be triggered by the patron removing their library card from the 3M SelfCheck
system. The ACS must reply with an End Patron Session Response message. The ACS may, upon receipt
of this command, may close any open files or de-allocate data structures pertaining to that patron. If this
message is supported by the ACS, the 3M SelfCheck system sends this message. The ACS Status message,
supported messages field defines which messages an ACS supports. See scenarios 4, 5, 8, 9, 13 and 14.
Example:
3519980723 094014AOCertification Institute ID|AAPatronID|AY3AZEBF2<CR>
Description of Example:
(35)(07/23/1998/9:40:14 a.m.)(Certification Institute ID)(PatronID)(no terminal password)(no patron
password)(Sequence #3) (checksum)(CR)
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
13
4. Messages from ACS to 3M SelfCheck system
This section describes the SIP messages that are sent from the ACS to the 3M SelfCheck system. Additional
information pertaining to error detection, checksums and sequence numbers are in Section 6, Programming
Notes of this document. To describe each message, the following information is provided:
Brief message description
SC requesting message
References to message passing scenario(s) using this message (See section 5)
Critical field descriptions - For some messages, additional information is provided about some data
fields in the message. This information may be useful to software developer’s who are
building a SIP2 interface.
Example of message
Description of the example
4.1 Login Response, Message 94
The ACS should send this message in response to the Login message. When this message is used, it will
be the first message sent to the SC. See scenario 2.
Example:
941AY3AZFDFA<CR>
Description of Example:
(94)(login OK)(sequence number 3)(checksum)(CR)
4.2 ACS Status, Message 98
The ACS must send this message in response to a SC Status message. If the Login message is not required,
this message will be the first message sent by the ACS to the SC. See scenarios 1 and 2.
Critical field descriptions:
Field name Description of Usage
checkin ok Must be returned as ‘Y’ for the SC to operate. The Check-In message is minimally
required to cancel the checkout of an item.
checkout ok Set to ‘Y’ for the 3M SelfCheck system to operate
ACS renewal policy Set to ‘Y’ if library policy is to allow renewals at 3M SelfCheck systems, ‘N’ if
renewals are not allowed at any 3M SelfCheck systems.
status update ok This field is set by the ACS and defines whether 3M SelfCheck system is allowed to
change patron status (i.e. block a patron after a timeout).
off-line ok ‘Y’ if the ACS supports the off-line operation feature of the 3M SelfCheck system.
(If this field is ‘Y’, then the ACS must also support no block charge request from the
SC when it comes back on-line.)
protocol version A SIP1 ACS is required to send “1.00”, a SIP2 ACS sends “2.00”. No other value is
considered valid.
screen message/print
line
If the field is too long for the SC to display (or print) then the trailing portion of the
field will be left out (truncated).
supported messages The following messages are required for a SIP2 interface: patron status, checkout,
checkin, SC/ACS status, request SC/ACS resend, patron information, fee paid, block
patron and item information. The patron enable message is required for some
testing but it not used in a practical installation. The optional messages for 3M
SelfCheck systems are end patron session and login. Item status update, hold,
renew and renew all are not currently supported by 3M SelfCheck systems.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
14
Future 3M SelfCheck systems will not use the patron status message and will be
moving exclusively to the patron information messages.
Example:
98YYYNYN01000319960214 1447001.00AOID_21|AMCentral Library|ANtty30|AFScreen Message|AGPrint
Message|AY1AZDA74<CR>
Description of Example:
(98)(On Line)(Checkin allowed)(Checkout allowed)(No renewals)(Status update allowed)(no off line)( 1 sec
time out)(3 retries)(2/14/1996/2:47:00p.m. LOCAL)
(V1.00)(ID_21)(Central Library)(tty30)(Screen Message)(Print Message)(Sequence #1)(Checksum)(CR)
4.3 Request SC Resend, Message 96
This message requests the SC to re-transmit its last message. It is sent by the ACS to the SC when the
checksum in a received message does not match the value calculated by the ACS. The SC should respond
by re-transmitting its last message, This message should never include a “sequence number” field, even
when error detection is enabled, but would include a “checksum” field since checksums are in use.
Example:
96<CR>
4.4 Patron Status Response, Message 24
The ACS must send this message in response to a Patron Status Request message as well as in response to
a Block Patron message. Refer to scenarios 4, 5, 9, 10, 13, 14 and 15.
Critical field descriptions:
Field name Description of Usage
Patron identifier Must contain the identical information contained in the initiating Patron Status
Request or Block Patron message
valid patron 3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem.
valid patron
password
3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem.
Example:
24 00119960212 100239AO|AA104000000105|AEJohn Doe|AFScreen Message|AGCheck Print
message|AY2AZDFC4<CR>
Description of Example:
(24)(All items in patron status = OK)(English)(02/12/1996/10:02:39a.m.Local)
(no id) (104000000105)(John Doe)(Screen Message)(Print message)(Sequence#2)(Checksum)(CR)
4.5 Patron Information Response, Message 64
The ACS must send this message in response to the Patron Information message. Refer to scenarios 4, 5, 9,
10, 13, 14 and 15. Please use caution when sending data in this message, the field and message size limits are
discussed in Section 6, Programming Notes.
Critical field descriptions:
Field name Description of Usage
Patron identifier Must contain the identical information contained in the initiating Patron
Information message
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
15
valid patron 3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem.
valid patron
password
3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem.
Example:
64 00119980723 104009000100000002000100020000AOInstitutionID for
PatronID|AAPatronID|AEPatron Name|BZ0002|CA0003|CB0010|BLY|ASItemID1 for PatronID
|AUChargeItem1|AUChargeItem2|BDHome Address|BEE Mail Address|BFHome Phone for
PatronID|AFScreenMessage 0 for PatronID, Language 1|AFScreen Message 1 for PatronID, Language
1|AFScreen Message 2 for PatronID, Language 1|AGPrint Line 0 for PatronID, Language 1|AGPrint Line 1 for
PatronID, Language 1|AGPrint Line 2 for PatronID, language 1|AY4AZ608F
Description of Example:
(64)(All items in patron status = OK)(English)7/23/1998/10:40:09 a.m.)(1 item on hold)(0 overdue items)(2
charged items)(1 fine items)(2 recall items)(0 unavailable holds)(InstitudionID for
PatronID)(PatronID)(Patron Name)(hold limit is 2)(overdue limit is 3)(charged limit is 10)(valid patron)(
patron password not required)(no currency type)(no fee amount)(no fee limit)(first hold item is ItemID1 for
PatronID)(no overdue items)(first charged item is ChargeItem1)(second charged item is ChargeItem2)(Home
Address)(E Mail Address)(Home Phone for PatronID)(one screen message is “Screen Message0 for
PatronID, Language1”)(first print line is “AGPrint Line 0 for PatronID, Language 1”)(second print line is
“Print Line 1 for PatronID, Language 1”)(third print line is Print Line 2 for PatronID, language 1)(Sequence
#4)(checksum)(CR)
4.6 Patron Enable Response, Message 38
This message is only used during testing and has no practical use in a live installation. The ACS should
send this message in response to the Patron Enable message from the SC. See scenario 15.
Example:
26 00119980723 111413AOInstitutionID for PatronID|AAPatronID|AEPatron
Name|BLY|AFScreenMessage 0 for PatronID, Language 1|AFScreen Message 1 for PatronID, Language 1
|AGPrint Line 0 for PatronID, Language 1|AY7AZ8EA6
Description of Example:
(26)(All items in patron status = OK)(English)(7/23/1998/11:14:31 a.m. Local time)(InstitutionID for
PatronID)(PatronID)(no patron identifier)(Patron Name)(no personal name)(valid patron id)(patron password
no required)(screen message is “Screen Message 1 for PatronID, Language 1”)(print line is ‘AGPrint Line 0
for PatronID, Language 1”)(sequence number 7)(checksum)(CR)
4.7 Item Information Response, Message 18
The ACS must send this message in response to the Item Information message.
Critical field descriptions:
Field name Description of Usage
media type 3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem.
Example:
1808000119980723 115615CF00000|ABItemBook|AJTitle For Item Book|
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
16
CK003|AQPermanent Location for ItemBook, Language 1|APCurrent Location ItemBook|CHFree-form text
with new item property|AY0AZC05B
Description of Example:
(18)(circulation status is waiting on hold shelf)(security marker is other)(fee type is
other/unknown)(7/23/1998/11:56:15 a.m. Local Time)(no hold queue length)(no due date)(no recall date)(no
hold pickup date)(item identifier is ItemBook)(Title for Item Book)(no owner)(no currency type)(no fee
amount)(media type is bound journal)(Permanent Location for ItemBook, Language 1)(Current
Location)(item properties are “Free-form text with new item property”)(no screen message)(no print
line)(sequence # 0 )(checksum)(CR)
4.8 Checkout Response, Message 12
This message must be sent by the ACS in response to a Checkout message from the SC. Refer to scenarios
4, 5, 9, 10, 11, 13 and 15.
Critical field descriptions:
Field name Description of Usage
OK Set to 1 if the ACS checked out the item to the patron, set to 0 if the ACS did not
check out the item to the patron.
Renewal ok This field informs the SC that the material is already checked out. A ‘Y’ value
means that the item was checked out to the same patron, so it is actually being
renewed. An ‘N’ value means that the patron did not already have the item
checked out.
Desensitize Set to ‘N’ if the library has chosen to not allow this item to leave an area or the
facility. If the item is magnetic, this field should be set to ‘Y’, the magnetic media
field is set to ‘Y’ and the media type field should be set correctly. This allows SC
to determine if the item can be checked out with the Video Checkout unit.
Fee Amount Set to the value of the fee associated with checking out the item, set to 0 if there is
no fee associated with checking out the item.
media type 3M strongly encourages the use of this field. This information allows 3M
SelfCheck system to provide more meaningful messages to the patron if there is a
problem. If this field is not used correctly, the 3M SelfCheck system will not
handle checkouts efficiently.
magnetic media 3M discourages the use of ‘U’ for this field. A value of ‘U’ in this field will be
treated as a ‘N’ by 3M SelfCheck system.
The combinations of these fields’ values returned in the Checkout Response message will be interpreted in
the following fashion:
OK Renewal
ok Desensitize Fee
Amount Meaning
0Nn/a – field is
ignored
0Checkout is refused
0Nn/a – field is
ignored
>0 Checkout is refused, possibly because there is a fee
associated with checking out the item. If the Checkout
message’s Fee Acknowledged field was ‘N’, the refusal
is assumed to be due to the fee; if the Fee
Acknowledged field was ‘Y’, the refusal is for some other
reason.*
0Yn/a – field is
ignored
0Renewal is refused.
0Yn/a – field is >0 Renewal is refused, possibly because there is a fee
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
17
ignored associated with checking out the item. If the Checkout
message’s Fee Acknowledged field was ‘N’, the refusal
is assumed to be due to the fee; if the Fee
Acknowledged field was ‘Y’, the refusal is for some other
reason.*
1N N 0Checkout of item is OK. If the item has a security strip, it
is not to be desensitized, possibly because the item is
not allowed to leave the library.
1N N >0 Checkout of item with an associated fee is OK. If the
item has a security strip, it is not to be desensitized,
possibly because the item is not allowed to leave the
library.
1N Y 0Checkout is OK.
1N Y >0 Checkout of item with an associated fee is OK.
1Yn/a – field is
ignored
0Renewal is OK.
1Yn/a – field is
ignored
>0 Renewal of item with an associated fee is OK.
1Yn/a – field is
ignored
0Renewal is OK.
1Yn/a – field is
ignored
>0 Renewal of item with an associated fee is OK.
* - see the definition of the fee acknowledged field in the 3M™ Standard Interchange Protocol V2.00
document for more information on how this field is used.
Example:
120NNY19960212 100514AO|AA104000000105|AB000000000005792|AJ|AH|AFItem cannot be charged : see
help desk|AGItem can not be charged : see help desk|AY3AZD2A1<CR>
Description of Example:
(12)(Not checked out)(Not a renewal)(Not magentic media)(Desensitize) (02/12/1996/10:05:14a.m.Local) (no
institution id)(104000000105)(000000000005792)(no title)(no due date)(screen message)(print message)
(Sequence #3)(Checksum)(CR)
4.10 Checkin Response, Message 10
This message must be sent by the ACS in response to a SC Checkin message. Refer to scenarios 6, 7, 10, 11
and 15.
Critical field descriptions:
Field name Description of Usage
OK Set to 1 if the ACS checked in the item, set to 0 if the ACS did not check in the item.
Resensitize Set to Y if the SC should resensitize the article, set to N if the SC should not
resensitize the article (for example, a closed reserve book).
The combinations of these fields’ values returned in the Checkout Response message will be interpreted in
the following fashion:
OK Resensitize Meaning
0NCheckin is refused and resensitize field is ignored.
1NCheckin is OK If the item has a security strip, it is not to be resensitized,
possibly because the item is never allowed to leave the library.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
18
OK Resensitize Meaning
1YCheckin is OK
Example:
101YNN19980821 085721AOCertification Institute ID|ABCheckInBook|AQPermanent Location for
CheckinBook, Language 1|AJTitle For CheckinBook|AAGoodPatron1|CK001|CHCheckinBook
Properties|CLsort bin A1|AFScreen Message for CheckInBook|AGPrint Line for CheckInBook|AY2AZA3FF
Description of Example:
(10)(Checkin ok)(Resense)(Not magnetic media)(No alert)(08/21/1998 8:57:21 a.m. Local) (institution ID is
Certification Institute ID) (item id is CheckInBook)(permanent location is Permanent Location for Checkin
Book, Language 1) ( Title id is Title For CheckinBook)( patron id is GoodPatron1) (media type is 001) (item
properties is CheckinBook Properties) (Sort bin is sort bin A1) (screen message is Screen Message for
CheckInBook) (print line is Print Line for CheckInBook) (sequence number is 2) (check sum is A3FF)
4.11 Fee Paid Response, Message 38
The ACS must send this message in response to the Fee Paid message. See scenario 14.
Example:
38Y19980723 111035AOInstitutionID for PatronID|AAPatronID|AFScreenMessage 0 for PatronID,
Language 1|AGPrint Line 0 for PatronID, Language 1|AY6AZ9716
Description of Example:
(38)(payment accepted)(7/23/1998/11:10:35 a.m. Local Time)(InstitutionID for PatronID)(PatronID)(no
transaction id)(screen mesesage is “ScreenMessage 0 for PatronID, Language 1”)(print line is “AGPrint Line
0 for PatronID, Language 1”)(Sequence #6)(checksum)(CR)
4.12 End Session Response, Message 36
The ACS must send this message in response to the End Patron Session message. See scenarios 4, 5, 8, 9, 13
and 14.
Example:
36Y19980723 110658AOInstitutionID for PatronID|AAPatronID|AFScreenMessage 0 for PatronID,
Language 1|AFScreen Message 1 for PatronID, Language 1|AFScreen Message 2 for PatronID, Language
1|AGPrint Line 0 for PatronID, Language 1|AGPrint Line 1 for PatronID, Language 1|AGPrint Line 2 for
PatronID, language 1|AY5AZ970F
Description of Example:
(36)(session ended)(7/23/1998/11:06:58 a.m.)(InstitutionID for PatronID)(PatronID)(first screen message is
ScreenMessage 0 for PatronID, Language 1)(second screen message is Screen Message 1 for PatronID,
Language 1)(third screen message is Screen Message 2 for PatronID, Language 1)(first print line is Print Line
0 for PatronID, Language 1)(second print line is Print Line 1 for PatronID, Language 1)(third print line is Print
Line 2 for PatronID, language 1)(Sequence #5)(checksum)(CR)
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
19
5. Message-Passing Scenarios
Below are stylized representations of scenarios where SIP2 messages are used to accomplish tasks. They
are intended to illustrate how messages and fields within messages are used by 3M SelfCheck system.
Within each scenario, assume that time proceeds from top to bottom. The steps are enumerated. Also,
assume that no errors occur other than errors specified by the scenario. In other words, patrons have valid
library cards, the books’ bar-codes are readable, etc.
User tasks are tasks that a user performs interacting with the 3M SelfCheck system. The 3M SelfCheck
system tasks section indicates some of the processes that the 3M SelfCheck system performs to interact
with a user or the ACS.
5.1 Scenario 1 - Startup of SC
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Library staff
person starts up
3M SelfCheck
system 2. Send SC Status (99) 3. Send ACS Status (98)
5.2 Scenario 2 - Startup of SC with Sockets connection to ACS
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Library staff
person starts up
3M SelfCheck
system 2. Establish Socket connection
4. Login (93) with :
user id and password
6. Send SC Status (99)
3. Establish Socket connection
5. Login Response (94) with:
if (user id and password are OK)
ok = 1
else
ok = 0
7. ACS Status (98)
5.3 Scenario 3 - Shutdown of SC
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron or Library
Staff person shuts
down 3M SelfCheck
system
2. Send SC Status (99) to ACS 3. Send ACS Status (98)
5.4 Scenario 4 - Normal Item Checkout
In the following scenario, the Patron Status Request or Patron Information messages are not required for a
Checkout. The patron information required for a checkout is included in the Checkout message.
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
20
library card in 3M
SelfCheck system 2. Read library card bar-code
3. Send Patron Status Request (23) or
Patron Information (63) to ACS 4. Send Patron Status Response
(24) or Patron Information Response
(64)
5. Patron places
item in 3M
SelfCheck system 6. Read item bar-code
7. Send Checkout (11) to ACS
9. Desensitize item
10. End Patron Session (35)
12. Print Receipt
8. Send Checkout Response (12)
11. End Patron Response (36)
5.5 Scenario 5 - Alternate Item Checkout
In the following scenario, the Patron Status Request or Patron Information messages are not required for a
Checkout. The patron information required for a checkout is included in the Checkout message. In this
scenario, the item information data is used. Note: Not all versions of 3M SelfCheck systems will follow the
checkout process described below.
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
library card in 3M
SelfCheck system 2. Read library card bar-code
3. Send Patron Status Request (23) or
Patron Information (63) to ACS 4. Send Patron Status Response
(24) or Patron Information Response
(64)
5. Patron places
item in 3M
SelfCheck system 6. Read item bar-code
7. Send Item Information Request (17)
8. 3M SelfCheck system examines data in
Item Information Response and
determines whether to continue with
checkout process or cancel
10a. If checkout process to continue, Send
Checkout (11) to ACS
12 Desensitize item
13. Print Receipt
14b. If checkout process is cancelled due
to data from Item Information Response, a
message is displayed to the patron
15. End Patron Session (35)
8. Send Item Information
Response (18)
11. Send Checkout Response (12)
16. End Patron Response (36)
5.6 Scenario 6 - Normal Item Checkin
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
21
1. Patron places
item in 3M
SelfCheck system 2. Read book bar-code
3. Send Checkin (09) 4. Checkin Response (10) to SC
5.7 Scenario 7 - Normal Item Checkin with Sorting
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
book in 3M
SelfCheck system 2. Read book bar-code
3. Send Checkin (09) to ACS
5. Tell automatic or manual sorter which
bin to put book in, based on sort bin
4. Checkin Response (10) to SC
with sort bin = some valid value
5.8 Scenario 8 - Patron Removes Library Card
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron removes
library card or
presses # key 2. End Patron Session (35) 3. End Session Response (36)
5.9 Scenario 9 - Patron Forgets To Take Library Card (3M SelfCheck system times
out)
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron leaves
library card in 3M
SelfCheck system
cradle after
completion of
checkout 2. Block Patron (01)
4. End Patron Session (35) 3. Patron Status Response (24)
5. End Session Response (36)
5.10 Scenario 10 - Patron Removes Item Too Early - After Checkout but Before
Desensitize
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
library card in 3M
SelfCheck system
2. Read library card bar-code
3. Patron Status Request (23) or Patron
Information (63) 4. Patron Status Response (24) or
Patron Information Response (64)
5. Patron places
book in 3M
SelfCheck system 6. Read book bar-code
7. Checkout (11) with:
patron identifier = card bar-code
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
22
item identifier = book bar-code
cancel = N
8. Patron removes
book at this point
10. Checkin (09) with:
item identifier = book bar-code
cancel = Y
9. Checkout Response (12) with:
ok = 1
desensitize = Y
9. Checkin Response (10)
5.11 Scenario 11 - Patron Removes Book Too Early - After Checkin but Before
Resensitize
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
book in 3M
SelfCheck system 2. Read book bar-code
3. Checkin (09) with:
item identifier = book bar-code
cancel = N
4. Patron removes
book at this point
6. Checkout (11) with:
patron identifier = value returned by
Checkin response
item identifier = book bar-code
cancel = Y
5. Checkin Response (10) with
ok = 1
resensitize = Y
patron identifier = identifier
for patron that had book
7. Checkout Response (12)
5.12 Scenario 12 - Multiple Books Detected
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
multiple items in 3M
SelfCheck system
2. Read book bar-code
3. Display “Cannot proceed with loan”
message
5.13 Scenario 13 - Patron checks out item that has a fee
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
library card in 3M
SelfCheck system
2. Read library card bar-code
3. Patron Status Request (23) or Patron
Information (63)
4. Patron Status Response (24) or
Patron Information Response (64)
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
23
5. Patron places
item in 3M
SelfCheck system 6. Read item bar-code
7. Checkout (11) with:
fee acknowledged = N
8. Checkout Response (12) with:
ok = 0
fee amount > 0.00
currency type = some valid
value
9. Ask patron if they agree to pay the fee
10. If patron agrees to the fee
11(a). Checkout (11) with:
fee acknowledged = Y
14. Desensitize item
Else (patron does not agree to the fee)
11 (b). Display “next book” screen
12. Add the fee to the patron’s
account
13. Checkout Response (12) with:
ok = 1
5.14 Scenario 14 - Collection of Fees From Patron
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Patron places
library card in 3M
SelfCheck system
2. Read library card bar-code
3. Patron Status Request (23) or Patron
Information (63)
4. Patron Status Response (24) or
Patron Information
Response (64)
5. Patron invokes
fee payment
6. 3M SelfCheck system interfaces with
Card Swipe or other fee payment device
7. Fee Paid (37)
9. End Patron Session (35)
8. Fee Paid Response (38) with:
transaction ID = a value
10. End Session Response (36)
5.15 Scenario 15 - Test patron is disabled and re-enabled during a verification run
User Tasks 3M SelfCheck system Tasks SIP commands from ACS to SC
1. Tester starts
verification
script running
2. Checkouts and
Checkins for
various
patrons and
items occur
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
24
3. Block Patron (01) with:
patron identifier = “ABC”
4. Patron Status Response (24)
5. Test script
finishes verification
6. Patron Enable (25) with:
patron identifier = “ABC”
7. Patron Enable Response (26)
8. Test Script Done
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
25
6. Programming Notes
6.1 Patron Status and Patron Information messages
3M discourages the use of the Patron Status message pairs. The Patron Information message pairs should
be used which provides more valuable information to the 3M SelfCheck system about the patron. This
allows the 3M SelfCheck system to display messages that are more meaningful to the patron. However, SIP2
does require the ACS to send a Patron Status Response message when a Block Patron Request message is
sent from 3M SelfCheck system.
In future 3M applications, the Patron Status message pairs will not be used.
6.2 Maximum Message Size
Individual standard protocol fields are limited to 258 characters in length (including field identifier and
delimiter). The protocol message length limit is 8192 characters.
6.3 Encryption
The patron password or user identification may be encrypted for security purposes. If interested in
encryption, please contact 3M for further information.
6.4 Monitor Display Messages and Printer Messages
A 3M SelfCheck system can be configured at the library to display or print certain information such as
patron names or screen messages. In addition to this configuration data, SIP allows the ACS to specify
additional monitor display messages and printer messages. These fields, which are named screen message
and print line, can be included in almost all of the message sent from the ACS. This allows the ACS to send
specific messages to the monitor or the printer for each patron or transaction.
The 3M SelfCheck system models 5210 and 5220 will wrap the screen message(s) when displayed on the
monitor and can display up to 3 lines of text. The 3M SelfCheck system model 6210 displays the screen
message(s) in different fonts and font sizes depending on the language. This model has two lines of text and
will truncate any screen messages that cannot be displayed in this area.
The following character sets can be utilized for variable text strings within a SIP message. Note: that only
one character set can be implemented by the ACS. The SelfCheck system is unable to switch character sets.
6.4 Character Sets
The following character sets are used by the 3M SelfCheck system.
Character Set Language
CCCII Chinese
ANSEL Latin Only
KS C 5601 Korean
Code Page 850 Latin
Code Page 932 Japanese
Code Page 936 Simplified Chinese
Code Page 950 Traditional Chinese
Code Page 1253 Greek
Code Page 1255 Hebrew
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
26
6.5 Error Detection
3M SelfCheck system can be configured to do error detection. When error detection is enabled, sequence
numbers and checksums are added as fields in SIP messages. See the 3M™ Standard Interchange
Protocol V2.00 document for more information on how the sequence numbers and checksums are to be
used.
6.6 Packet and Checksum Examples
The following examples are given to show packet and checksum. These examples illustrate a single digit
sequence number and a four digit checksum being appended to the SC message packet. These fields are
used when error detection is enabled at the 3M SelfCheck system, regardless of whether the connection to
the ACS is serial or TCP/IP.
Example 1: Calculate the checksum of an SC Status packet
The format of an SC Status packet is:
99<status code><max print width><protocol version>
For Status ’0’, Print width ‘40’ and Protocol Version 2.00
990<space>402.00
Additional fields for sequence and checksum
AY<one digit sequence number>AZ<four digit checksum><carriage return>
Assume a sequence number ‘1’, and calculate a checksum on:
990<space>402.00AY1AZ
ASCII Character Decimal Value
9 57
9 57
0 48
<space> 32
4 52
0 48
2 50
. 46
0 48
0 48
A 65
Y 89
1 49
A 65
Z 90
844 Decimal Sum = 034C Hex Sum
0000 0011 0100 1100 Binary equivalent of 034C
1111 1100 1011 0011 Invert all bits
+1 and add 1
1111 1100 1011 0100 Binary checksum = FCB4 Hex equivalent (checksum value)
With the checksum and carriage return the completed packet consists of:
990<space>402.00AY1AZFCB4<carriage return>
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
27
Example 2: Checksum Source Code
The following source code is an example of checksum calculation.
/*************************************************************************/
/* compute_checksum Computes a Standard Protocol checksum for a string
* passed as a parameter. The string is assumed to
* include all characters of the message up to and
* including the checksum’s field ID characters.
* Returns a pointer to an ASCII representation of the
* checksum.
*
* message NULL-terminated message on which to compute checksum
*/
/*************************************************************************/
char * compute_checksum (char * message)
{
static char ascii_checksum[5];
unsigned int checksum = 0;
int i = 0;
while (message[i] != ‘\0’)
{
checksum += (unsigned) message[i];
i++;
}
checksum = -(checksum & 0xFFFF);
sprintf (ascii_checksum, “%4.4X”, checksum);
return (ascii_checksum);
}
6.7 Asian 3M SelfCheck systems
This section describes interface requirements that are specific to Asian 3M SelfCheck systems.
6.7.1 Korean Standard Protocol
The character set that will be used with the Korean 3M SelfCheck system is KS C 5601.
The Korean language uses some Japanese and Chinese characters and the KS C 5601 character set does
not support any Japanese or Chinese characters. Because of that difference, 3M SelfCheck system requires
the following additional functions of the Korean ACSs:
If a Chinese character is found in a book title, this character must be converted if possible to the
equivalent Korean Character. If it is not possible to convert the character it will be replaced by a space
when sent to 3M SelfCheck system.
If a Japanese character is found in the book title, this character must be replaced by a space when sent
to 3M SelfCheck system.
6.7.2 Taiwanese Standard Protocol
The character set that will be used with Taiwanese 3M SelfCheck system is BIG 5.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
28
3M SelfCheck system requires the following additional functions of the Taiwanese ACSs:
If the character being sent to 3M SelfCheck system does not exist in the BIG 5 character set then a
space must be sent in place of that character.
The normal delimiter character (hex 7C) or ‘|’ is used as part of a two byte character in the BIG 5
character set. Therefore the Taiwanese 3M SelfCheck system should be configured to use the character
(hex 80) as the delimiter character.
6.7.3 Japanese Standard Protocol
The character set that will be used with Japanese 3M SelfCheck system is JIS.
3M SelfCheck system requires the following additional function of the Japanese ACSs:
If a character sent to 3M SelfCheck system does not exist in the JIS character set the ACS must send a
space for that character.
The delimiter character is hex 09.
The characters must be sent in full size, not half size.
6.7.4 Taiwanese Printers
It is not possible to print one receipt per patron with the printer used with Taiwanese 3M SelfCheck system,
as the printer must know the paper length before printing begins. When 3M SelfCheck system receipt
printing begins, it is not known how many books a patron will check out. Because of this, it is recommended
that Taiwanese systems print one receipt per item. One receipt per item has been made the default option for
the Taiwanese systems.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
29
7. Communications Mechanisms
The 3M SelfCheck system can be connected to the ACS in several ways. The connection can be made over
a serial line, or can be implemented using sockets or TELNET with TCP/IP.
7.1 Serial Connection
The 3M SelfCheck system can be connected via serial cable to the ACS. There may or may not be a terminal
server physically stationed between the 3M SelfCheck system and the ACS. 3M SelfCheck system
configuration options allows selection of the typical serial connection parameters - baud rate, character size,
parity, stop bits, flow control, and communications port. The ACS must provide software that accepts
characters (which, taken together, constitute a SIP message) from the serial connection.
7.2 TELNET Connection
Another way to establish a connection between the 3M SelfCheck system and the ACS is to attach the 3M
SelfCheck system to a TCP/IP network to which the ACS is also attached. 3M SelfCheck system
configuration options allow selection of the necessary parameters for 3M SelfCheck system to be able to
establish a telnet connection to the host computer on which the ACS application resides (IP address and
port) as well as to login to that computer system. The host computer environment that is associated with the
user-id (login) assigned to the 3M SelfCheck system should be configured to initialize the ACS application
so it is ready to receive SIP messages on successful login by the 3M SelfCheck system. In client/server
terminology, 3M SelfCheck system acts as a client and the ACS is a server.
Once the TELNET connection has been established, 3M SelfCheck system and the ACS use it as a medium
for passing text messages back and forth. 3M SelfCheck system does not act as a terminal, but does follow
the rules of TELNET communications.
7.3 Socket Connection
With release 3.0 of the 3M SelfCheck system software, it is now also possible to establish a socket
connection to the 3M SelfCheck system, allowing the connection to the ACS to be over a LAN but
eliminating the need for a TELNET session and its remote login. Standard Protocol Version 2.00 includes a
Login message which can be used to login to an ACS server program once the socket connection has been
established. Similar to TELNET, 3M SelfCheck system configuration options allow selection of the
necessary parameters to establish a socket connection (IP address and/or host name, and port). When
used, the Login message is the first message sent over the connection; it contains a user name and
password which establish the 3M SelfCheck system as a valid user of the service provided by the ACS at
that port. Succeeding data sent over the connection is, again, more ASCII SIP messages. Again, in this
type of arrangement, 3M SelfCheck system is a client and the ACS is a server.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
30
Appendix A - SIP Glossary
This section contains definitions that are important to understand 3M SIP.
ACS - Automated Circulation Software
ACS automatically assists a library in the management of its circulation.
Closed Reserve Item
The item is checked out to a particular patron but the security marker is still active. This restricts
removal of the item from the Reserve area.
LAV - Library Automation Vendor
A library automation vendor builds Automated Circulation Software
SIP - Standard Interchange Protocol
The 3M Interchange Protocol, an industry standard for data communication between the SC and
ACS
SIP2
Version 2.00 of Standard Interchange Protocol
SC
A 3M SelfCheck system or a 3M SelfCheck system emulator
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
31
Appendix B - SIP2 References
The following documents and software may be used as reference materials:
3M™ Standard Interchange Protocol V2.0 – describes the protocol messages and data
3M SelfCheck system and ACS emulators for SIP2 – software which emulates a 3M SelfCheck system and
emulates an ACS
3M Standard Interchange Protocol V2.00 , 3M™ SelfCheck™ system Certification Process – describes
the process for certification of a SIP2 interface
3M Model 5210/5220 SelfCheck System Version 2.4 System Administrator’s Guide – reference manual for
the introduction and use of the 3M SelfCheck system.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
32
3M Software Support Services
3M SIP2 technical support is available to you throughout the full process of developing and certifying a
SIP2 interface. For support, please contact your local 3M office, or use one of the following contacts:
For support from the U.S.: 1-800-328-0067 or 1-651-714-704-6898.
For support in Europe: 49-2131-143532.
For support in Canada: (English) 1.800.268.6235, (Franςais) 1.800.567.3193.
SIP2 Developer’s Guide June 7, 1999
3M Confidential Page
33
Revision Information
Rev Description Date Author
1.00 Initial version 7/11/96 J. Marsolek
1.10 Updated for New Scripts 3/18/97 H. Johnson
1.20 Updated with some Release 3.0 and SIP 2.00
information
6/16/97 S. Hattenberger
2.10 Updated to be compatible with SIP2 and to be
consistent with other new SIP2 documentation
10/20/1998 C. Egeberg
2.11 Update references to support 11/3/1998 C. Egeberg
2.20 Change checksum algorithm 5/20/1999 C. Egeberg
2.21 Fix a typo in section 5 numbering 6/7/99 C. Egeberg

Navigation menu