Dematic ASRS
Dematic Automated Storage Retrieval System (ASRS)
To request an item in the ARS, a patron will simply use Alma’s and Primo’s requesting interfaces. Alma will automatically request items held by the ARS. In most instances, the item will be waiting for the patron at the designated circulation desk within the time it takes the patron to walk to the desk.
Returned items are collected at a library check-in location. Alma will determine if the items should be sent back to the shelves or returned to the Automated Remote Storage. Items to be returned to the ARS have their barcodes scanned at ARS workstations and the correct bin is automatically positioned in front of the operator for placement of the item in the bin. The bin is then automatically returned to its position in the ARS.
Events Table
Triggering Event and Event Location | Initiating Application | Service Initiated | Responding Application | Message Constraints |
---|---|---|---|---|
An item is added or updated in Alma | Alma | IA (Inventory Added) | ASRS | The Dematic system attempts to add the item to its database or updates an existing item. |
An item barcode is deleted from Alma or existing item is removed from the ARS collection. | Alma | ID (Inventory Delete) | ASRS | The Dematic system attempts to remove the item from its database. |
A title is requested by staff user via Alma screen or by patron via Primo | Alma | PR (Pick Request) | ASRS | The Dematic system identifies the requested item by barcode and moves the robotic arm to retrieve the item from a compact storage bin. The item will be physically sent to the required location. The Dematic system sends response to Alma RF (Request Filled). In case where RF status code message is a failure. The hold request in Alma is deleted and a delete notice is produced to the patron. |
An item is returned to ASRS. | ASRS | IR (Item Returned) | Alma | Alma updates the status of the item and its location. |
A Heart Beat (HM) message is sent by Alma prior to beginning processing the “Inventory Remote Storage Update Job” to verify that ASRS side is still active and alive. The expected response to the HM message is a TR message.
The following table describes the fields which are relevant for each service:
Message | Field | Data Type | Description |
---|---|---|---|
Inventory Add (IA) | Message ID | String (2) | IA |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Item barcode | Number (14) | The requested item’s barcode | |
Call number | String (50) | The requested item’s call number. | |
Author | String (35) | The requested item’s author. | |
Title | String (35) | The requested item’s title. | |
Inventory Delete (ID) | Message ID | String (2) | ID |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Item barcode | Number (14) | The requested item’s barcode | |
Pick Request (PR) | Message ID | String (2) | PR |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Item barcode | Number (14) | The requested item’s barcode | |
Pickup location | String (6) | The pickup location for which the item should be transferred from the remote storage. Note that if the pickup location is less than 6 characters, then the pickup should be added spaces-first. | |
Priority flag | String (1) | Y/N indication if the request is rush | |
Call number | String (50) | The requested item’s call number | |
Author | String (35) | The requested item’s call author | |
Title | String (35) | The requested item’s title | |
Request Filled (RF) | Message ID | String (2) | RF |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Item barcode | Number (14) | The requested item’s barcode | |
Status | Number (3) | 000 – request completion (no errors) 001-016, 999 – error occured | |
Pickup location | String (6) | As received in the PR message | |
Item Returned (IR) | Message ID | String (2) | IR |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Item barcode | Number (14) | The requested item’s barcode | |
Status | Number (3) | Always 000 | |
Transaction Response (TR) | Message ID | String (2) | TR |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. | |
Error Code | Number (3) | 000 – No error 001 – Wrong message type | |
Heart Beat (HM) | Message ID | String (2) | HM |
Sequence Number | Number (5) | A unique message identifier number | |
Date/time | (ccyyddmmhhmmss) | The Date and time of the message sending. |
Required configuration in ASRS
- The ASRS local machines communicate with Stunnel software that is installed on the local Windows/Linux workstation.
- The Stunnel encryption component encrypts the communication using a standard encryption method and a security certificate and sends the messages to the Alma cloud .

See Stunnel Overview.
In order to allow communication using Stunnel, , the following should be done:
- Install Stunnel – see here for more information.
- Edit the Stunnel configuration, as follows:
- Navigate to Stunnel Configuration > Edit Configuration. The configuration page opens.
- Configure the parameters as depicted in the image above:
[Alma Outgoing- from Dematic ASRS to Alma section]
key = client.pem //File name for the certificate
cert = client.pem
client = yes
accept = localhost:XXXX // Stunnel machine – receive messages from localhost in XXXX
connect = <Alma domain>:6443 //sends the message to Alma in 6443
TIMEOUTclose = 2
TIMEOUTconnect = 200
[Alma Incoming- From Alma to Dematic ASRS section]
key = client.pem
cert = client.pem
client = no
accept =localhost:YYYY // Stunnel machine- same port in Integration Profile
connect = :ZZZZ //Dematic ASRS server
TIMEOUTclose = 2
TIMEOUTconnect = 200
In the above examples, customize the XXXX, YYYY, and ZZZZ ports, as follows:
- XXXX: The port to which the Dematic ASRS system sends its messages (Stunnel is listening on this port)
- YYYY: The local port that receives messages from Alma
- ZZZZ: The local port that receives messages in the ASRS system
Note: The YYYY port must be open on the library’s firewall.
- Download the certificate from the Alma’s integration profile page.
- Reload the certificate to Stunnel.
- Reload Stunnel configuration by selecting Configuration > Reload Configuration on the Stunnel menu. If configuration is successful, the Configuration successful message displays in the Stunnel log.
See troubleshooting of Stunnel communication.
Note: When upgrading from Voyager to Alma, an upgrade of the Dematics software may be required. Please consult Dematic whether an upgrade is required for Alma interoperability.
Required configuration in Alma
In addition to the remote storage location, it is required to configure an external integration profile of “remote storage” type:
- Integration type: Dematic ASRS
- The host and port to which Alma should send the messages should be configured.
The Remote Storage Facility should be connected to the integration profile:
For more information regarding the required setup in Alma, refer to Alma Online Help.