SIP2 Developers Guide

User Manual:

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

DownloadSIP2 Developers Guide
Open PDF In BrowserView PDF
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

Table of Contents
1
1.1
1.2

ABOUT THIS SPECIFICATION ......................................................................................................................................... 1
INTENT OF THIS SPECIFICATION .................................................................................................................................1
ORGANIZATION ...............................................................................................................................................................1

2

OVERVIEW OF 3M SELFCHECK SYSTEM.................................................................................................................... 2

2.1
2.2
2.3

SYSTEM COMPONENTS ..................................................................................................................................................2
FEATURES OF 3M SELFCHECK SYSTEM ......................................................................................................................2
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

3

MESSAGES FROM 3M SELFCHECK SYSTEM TO ACS ............................................................................................. 8

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
4.
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
5.
5.1
5.2
5.3

LOGIN, M ESSAGE 93.........................................................................................................................................................8
SC STATUS, M ESSAGE 99 ...............................................................................................................................................8
REQUEST ACS RESEND, M ESSAGE 97 ..........................................................................................................................9
PATRON STATUS REQUEST , M ESSAGE 23...................................................................................................................9
PATRON INFORMATION M ESSAGE , M ESSAGE 63 .......................................................................................................9
BLOCK PATRON, M ESSAGE 01.......................................................................................................................................9
PATRON ENABLE, M ESSAGE 25...................................................................................................................................10
ITEM INFORMATION, M ESSAGE 17.............................................................................................................................10
CHECKOUT , M ESSAGE 11 .............................................................................................................................................10
CHECKIN, M ESSAGE 09 .................................................................................................................................................11
FEE PAID M ESSAGE , M ESSAGE 37...............................................................................................................................12
END PATRON SESSION, M ESSAGE 35 ..........................................................................................................................12
MESSAGES FROM ACS TO 3M SELFCHECK SYSTEM ...........................................................................................13
LOGIN RESPONSE , M ESSAGE 94 ...................................................................................................................................13
ACS STATUS, M ESSAGE 98..........................................................................................................................................13
REQUEST SC RESEND, M ESSAGE 96............................................................................................................................14
PATRON STATUS RESPONSE , M ESSAGE 24................................................................................................................14
PATRON INFORMATION RESPONSE , M ESSAGE 64....................................................................................................14
PATRON ENABLE RESPONSE , M ESSAGE 38................................................................................................................15
ITEM INFORMATION RESPONSE , M ESSAGE 18..........................................................................................................15
CHECKOUT RESPONSE , M ESSAGE 12..........................................................................................................................16
CHECKIN RESPONSE , M ESSAGE 10..............................................................................................................................17
FEE PAID RESPONSE , M ESSAGE 38..............................................................................................................................18
END SESSION RESPONSE , M ESSAGE 36 .......................................................................................................................18
MESSAGE-PASSING SCENARIOS .................................................................................................................................19
SCENARIO 1 - STARTUP OF SC....................................................................................................................................19
SCENARIO 2 - STARTUP OF SC WITH SOCKETS CONNECTION TO ACS..............................................................19
SCENARIO 3 - SHUTDOWN OF SC ...............................................................................................................................19

3M Confidential

Page

ii

SIP2 Developer’s Guide

June 7, 1999

5.4
SCENARIO 4 - NORMAL ITEM CHECKOUT ................................................................................................................19
5.5
SCENARIO 5 - A LTERNATE 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 - A FTER CHECKOUT BUT BEFORE
DESENSITIZE ....................................................................................................................................................................................21
5.11
SCENARIO 11 - PATRON REMOVES BOOK TOO EARLY - A FTER CHECKIN BUT BEFORE
RESENSITIZE ....................................................................................................................................................................................22
5.12
SCENARIO 12 - M ULTIPLE 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
6.2
6.3
6.4
6.4
6.5
6.6
6.7

PATRON STATUS AND PATRON INFORMATION MESSAGES ...................................................................................25
M AXIMUM M ESSAGE SIZE...........................................................................................................................................25
ENCRYPTION ..................................................................................................................................................................25
M ONITOR DISPLAY M ESSAGES AND PRINTER M ESSAGES .....................................................................................25
CHARACTER SETS .........................................................................................................................................................25
ERROR DETECTION .......................................................................................................................................................26
PACKET AND CHECKSUM EXAMPLES........................................................................................................................26
A SIAN 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
7.2
7.3

SERIAL CONNECTION ...................................................................................................................................................29
TELNET CONNECTION .................................................................................................................................................29
SOCKET CONNECTION .................................................................................................................................................29

APPENDIX A - SIP GLOSSARY................................................................................................................................................30
APPENDIX B - SIP2 REFERENCES ..........................................................................................................................................31
3M SOFTWARE SUPPORT SERVICES ..................................................................................................................................32
REVISION INFORMATION........................................................................................................................................................33

3M Confidential

Page

iii

SIP2 Developer’s Guide

1
1.1

June 7, 1999

About This Specification
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.

3M Confidential

Page

1

SIP2 Developer’s Guide

2

June 7, 1999

Overview 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.
Displays instructions, diagrams, and information to guide the patron
through the operation of the 3M SelfCheck system.
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.
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.
Provides the patron with a printed copy of the return due date.
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.
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.
Reads patron information encoded on magnetic stripes on patron cards.

Monitor
Scanner

Cradle

Date Due Printer
PIN Keypad

Video Checkout Unit
Magnetic Card Reader
(Optional)

2.2

Features of 3M SelfCheck system

Not all of the features listed below are available for all 3M SelfCheck system models.

Feature

Description

Communications 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 3M  Standard Interchange Protocol (SIP) specifies the
necessary messages and appropriate responses between the two systems.
3M SelfCheck system interfaces with the ACS to selectively allow authorized patrons
to checkout materials.
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.
This feature allows a patron to check in an item. It also provides basic data to an

Checkout
Blocked
Checkout

Checkin
3M Confidential

Page

2

SIP2 Developer’s Guide

Suspicious
Patron
Handling or
Patron
Tampering
Closed
Reserves

Magnetic Media
Checkout

Bound Journals

Chargeable
Loans
Fines and Fees

3M SelfCheck
system
Configurations
Usage Statistics

2.3

June 7, 1999

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.
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.
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.
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.
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.
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.
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.
The SC allows a library to configure the software and hardware for its specific needs.
(i.e. configure serial ports, configure scanner arm placement.)
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.

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.

3M Confidential

Page

3

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

4

SIP2 Developer’s Guide

2.3.4

June 7, 1999

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.

3M Confidential

Page

5

SIP2 Developer’s Guide

June 7, 1999

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
ACS Status message
Checkout Request

Field
ACS Renewal Policy
SC Renewal Policy

Checkout Response

OK

Checkout Response

Renewal ok

Description
The overall library renewal policy.
The renewal policy for a specific 3M SelfCheck
system.
Indicates whether or not the item was checked out to
the patron
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
ACS renewal policy
SC renewal policy
ok
Renewal ok

Value
Y
Y
1
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
ACS renewal policy
SC renewal policy
ok
Renewal ok

Value
Y
N
0
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
ACS renewal policy
SC renewal policy
ok
3M Confidential

Value
N
Y
0
Page

6

SIP2 Developer’s Guide

Renewal ok

June 7, 1999

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
ACS renewal policy
SC renewal policy
ok
Renewal ok

2.3.5

Value
N
N
0
N

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.

3M Confidential

Page

7

SIP2 Developer’s Guide

3

June 7, 1999

Messages 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
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
This is the maximum number of characters that the SC printer can print in one line. If the ACS
width
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
A SIP1 3M SelfCheck system will send “1.00”, a SIP2 sends “2.00”.
version
Example:
9900401.00AY1AZFCA5
Description of Example:
(99)(on line)(40 characters)(V1.00)(Sequence Number 1)(Checksum)(CR)

3M Confidential

Page

8

SIP2 Developer’s Guide

3.3

June 7, 1999

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

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
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
A maximum of 10 items will requested by 3M SelfCheck system at one time.
item
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
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.

3M Confidential

Page

9

SIP2 Developer’s Guide

June 7, 1999

Critical field descriptions:
Field name
Description of Usage
Card
This field notifies the ACS if the patron’s library card has been retained by the 3M SelfCheck
retained
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
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
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 This field is set to N when a normal checkout of materials is being requested.
N)
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
3M Confidential

Page

10

SIP2 Developer’s Guide

Item
Properties
SC renewal
policy

June 7, 1999

the SC to determine if the Checkout message is being used to checkout an item or to cancel
a failed Checkin.
In current applications, this field is not used.
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
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 This field is set to N when a normal checkin of materials is being requested.
N)
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.

return date

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.
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)

3M Confidential

Page

11

SIP2 Developer’s Guide

June 7, 1999

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
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
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)

3M Confidential

Page

12

SIP2 Developer’s Guide

June 7, 1999

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
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 If the field is too long for the SC to display (or print) then the trailing portion of the
line
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.

3M Confidential

Page

13

SIP2 Developer’s Guide

June 7, 1999

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
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

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
3M strongly encourages the use of this field. This information allows 3M
password
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
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
3M Confidential

Page

14

SIP2 Developer’s Guide

valid patron

valid patron
password

June 7, 1999

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.
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|

3M Confidential

Page

15

SIP2 Developer’s Guide

June 7, 1999

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
0

Renewal
ok
N

0

N

0

Y

0

Y

3M Confidential

Desensitize

Fee
Amount

Meaning

n/a – field is
ignored
n/a – field is
ignored

0

Checkout is refused

>0

n/a – field is
ignored
n/a – field is

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.*
Renewal is refused.

>0

Renewal is refused, possibly because there is a fee
Page

16

SIP2 Developer’s Guide

June 7, 1999

ignored

1

N

N

0

1

N

N

>0

1
1
1

N
N
Y

0
>0
0

1

Y

>0

Renewal of item with an associated fee is OK.

1

Y

0

Renewal is OK.

1

Y

Y
Y
n/a – field is
ignored
n/a – field is
ignored
n/a – field is
ignored
n/a – field is
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.*
Checkout 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.
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.
Checkout is OK.
Checkout of item with an associated fee is OK.
Renewal is OK.

>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
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
0
1

Resensitize
N
N

3M Confidential

Meaning
Checkin is refused and resensitize field is ignored.
Checkin 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.
Page

17

SIP2 Developer’s Guide

OK
1

Resensitize
Y

June 7, 1999

Meaning
Checkin 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)

3M Confidential

Page

18

SIP2 Developer’s Guide

June 7, 1999

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
1. Library staff
person starts up
3M SelfCheck
system

5.2

3M SelfCheck system Tasks

SIP commands from ACS to SC

2. Send SC Status (99) →

3.

Scenario 2 - Startup of SC with Sockets connection to ACS

User Tasks
1. Library staff
person starts up
3M SelfCheck
system

3M SelfCheck system Tasks

SIP commands from ACS to SC

2. Establish Socket connection
4. Login (93) with : →
user id and password

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)

6. Send SC Status (99) →

5.3

Scenario 3 - Shutdown of SC

User Tasks
1. Patron or Library
Staff person shuts
down 3M SelfCheck
system

5.4

← Send ACS Status (98)

3M SelfCheck system Tasks

SIP commands from ACS to SC

2. Send SC Status (99) to ACS →

3. ← Send ACS Status (98)

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
1. Patron places
3M Confidential

3M SelfCheck system Tasks

SIP commands from ACS to SC

Page

19

SIP2 Developer’s Guide

library card in 3M
SelfCheck system

5. Patron places
item in 3M
SelfCheck system

5.5

June 7, 1999

2. Read library card bar-code
3. Send Patron Status Request (23) or
Patron Information (63) to ACS →

6.
7.
9.
10.
12.

Read item bar-code
Send Checkout (11) to ACS →
Desensitize item
End Patron Session (35) →
Print Receipt

4. ← Send Patron Status Response
(24) or Patron Information Response
(64)

8.

← Send Checkout Response (12)

11. ← End Patron Response (36)

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
1. Patron places
library card in 3M
SelfCheck system

5. Patron places
item in 3M
SelfCheck system

3M SelfCheck system Tasks

2. Read library card bar-code
3. Send Patron Status Request (23) or
Patron Information (63) to ACS →

6.
7.
8.

Read item bar-code
Send Item Information Request (17) →
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

SIP commands from ACS to SC

4. ← Send Patron Status Response
(24) or Patron Information Response
(64)

8.

← Send Item Information
Response (18)

11. ← Send Checkout Response (12)

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) →

5.6

16. ← End Patron Response (36)

Scenario 6 - Normal Item Checkin

User Tasks
3M Confidential

3M SelfCheck system Tasks

SIP commands from ACS to SC
Page

20

SIP2 Developer’s Guide

1. Patron places
item in 3M
SelfCheck system

5.7

2. Read book bar-code
3. Send Checkin (09) →

June 7, 1999

4. ← Checkin Response (10) to SC

Scenario 7 - Normal Item Checkin with Sorting

User Tasks
1. Patron places
book in 3M
SelfCheck system

3M SelfCheck system Tasks

2. Read book bar-code
3. Send Checkin (09) to ACS →

SIP commands from ACS to SC

4. ← Checkin Response (10) to SC
with sort bin = some valid value

5. Tell automatic or manual sorter which
bin to put book in, based on sort bin

5.8

Scenario 8 - Patron Removes Library Card

User Tasks
1. Patron removes
library card or
presses # key

5.9

3M SelfCheck system Tasks

SIP commands from ACS to SC

2. End Patron Session (35) →

3. ← End Session Response (36)

Scenario 9 - Patron Forgets To Take Library Card (3M SelfCheck system times
out)

User Tasks
1. Patron leaves
library card in 3M
SelfCheck system
cradle after
completion of
checkout

3M SelfCheck system Tasks

SIP commands from ACS to SC

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
1. Patron places
library card in 3M
SelfCheck system

5. Patron places
book in 3M
SelfCheck system

3M Confidential

3M SelfCheck system Tasks

SIP commands from ACS to SC

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)

6. Read book bar-code
7. Checkout (11) with: →
patron identifier = card bar-code
Page

21

SIP2 Developer’s Guide

June 7, 1999

item identifier = book bar-code
cancel = N
9. ← Checkout Response (12) with:
ok = 1
desensitize = Y

8. Patron removes
book at this point
10. Checkin (09) with: →
item identifier = book bar-code
cancel = Y

9.

← Checkin Response (10)

5.11 Scenario 11 - Patron Removes Book Too Early - After Checkin but Before
Resensitize
User Tasks
1. Patron places
book in 3M
SelfCheck system

3M SelfCheck system Tasks

SIP commands from ACS to SC

2. Read book bar-code
3. Checkin (09) with: →
item identifier = book bar-code
cancel = N
5. ← Checkin Response (10) with
ok = 1
resensitize = Y
patron identifier = identifier
for patron that had book

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

7. ← Checkout Response (12)

5.12 Scenario 12 - Multiple Books Detected
User Tasks
1. Patron places
multiple items in 3M
SelfCheck system

3M SelfCheck system Tasks

SIP commands from ACS to SC

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
1. Patron places
library card in 3M
SelfCheck system

3M SelfCheck system Tasks

SIP commands from ACS to SC

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)

3M Confidential

Page

22

SIP2 Developer’s Guide

5. Patron places
item in 3M
SelfCheck system

June 7, 1999

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

12. Add the fee to the patron’s
account
13. ← Checkout Response (12) with:
ok = 1

Else (patron does not agree to the fee)
11 (b). Display “next book” screen

5.14 Scenario 14 - Collection of Fees From Patron
User Tasks
1. Patron places
library card in 3M
SelfCheck system

3M SelfCheck system Tasks

SIP commands from ACS to SC

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
1. Tester starts
verification
script running
2. Checkouts and
Checkins for
various
patrons and
items occur
3M Confidential

3M SelfCheck system Tasks

SIP commands from ACS to SC

Page

23

SIP2 Developer’s Guide

June 7, 1999

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

3M Confidential

Page

24

SIP2 Developer’s Guide

June 7, 1999

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
CCCII
ANSEL
KS C 5601
Code Page 850
Code Page 932
Code Page 936
Code Page 950
Code Page 1253
Code Page 1255

3M Confidential

Language
Chinese
Latin Only
Korean
Latin
Japanese
Simplified Chinese
Traditional Chinese
Greek
Hebrew

Page

25

SIP2 Developer’s Guide

6.5

June 7, 1999

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
For Status ’0’, Print width ‘40’ and Protocol Version 2.00
990402.00
Additional fields for sequence and checksum
AYAZ
Assume a sequence number ‘1’, and calculate a checksum on:
990402.00AY1AZ
ASCII Character
9
9
0

4
0
2
.
0
0
A
Y
1
A
Z

Decimal Value
57
57
48
32
52
48
50
46
48
48
65
89
49
65
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:
990402.00AY1AZFCB4

3M Confidential

Page

26

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

27

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

28

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

29

SIP2 Developer’s Guide

June 7, 1999

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

3M Confidential

Page

30

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

31

SIP2 Developer’s Guide

June 7, 1999

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.

3M Confidential

Page

32

SIP2 Developer’s Guide

June 7, 1999

Revision Information
Rev
1.00
1.10
1.20
2.10
2.11
2.20
2.21

Description
Initial version
Updated for New Scripts
Updated with some Release 3.0 and SIP 2.00
information
Updated to be compatible with SIP2 and to be
consistent with other new SIP2 documentation
Update references to support
Change checksum algorithm
Fix a typo in section 5 numbering

3M Confidential

Date
7/11/96
3/18/97
6/16/97

Author
J. Marsolek
H. Johnson
S. Hattenberger

10/20/1998

C. Egeberg

11/3/1998
5/20/1999
6/7/99

C. Egeberg
C. Egeberg
C. Egeberg

Page

33



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.2
Linearized                      : No
Page Count                      : 36
Creator                         : Microsoft Word
Create Date                     : 2002:09:19 22:46:51
Title                           : SIP2 Developers Guide.doc
Author                          : anando
Producer                        : Acrobat PDFWriter 5.0 für Windows
EXIF Metadata provided by EXIF.tools

Navigation menu