SIP2 Developers Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 36
Download | |
Open PDF In Browser | View 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|AY5AZEC78Description 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 990 402.00 Additional fields for sequence and checksum AY AZ Assume a sequence number ‘1’, and calculate a checksum on: 990 402.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: 990 402.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 WindowsEXIF Metadata provided by EXIF.tools